safeuploads 4.0.0__tar.gz → 4.0.1__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/publish-safeuploads.yml +1 -1
- {safeuploads-4.0.0 → safeuploads-4.0.1}/CHANGELOG.md +9 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/PKG-INFO +1 -1
- {safeuploads-4.0.0 → safeuploads-4.0.1}/pyproject.toml +2 -2
- {safeuploads-4.0.0 → safeuploads-4.0.1}/uv.lock +501 -459
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/conventional-commits/SKILL.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/conventional-commits/references/pull-requests.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/debugging/SKILL.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/SKILL.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/references/code-standards.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/references/security.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/references/testing.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/skill-authoring/SKILL.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/CODEOWNERS +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/FUNDING.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/copilot-instructions.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/dependabot.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/scripts/check_conventional_commits.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/scripts/smoke_import.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/audit-safeuploads.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/conventional-commits.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/docs.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/fuzz.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/lint-and-test.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/mirror.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/test-matrix-safeuploads.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/.gitignore +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/AGENTS.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/CODE_OF_CONDUCT.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/CONTRIBUTING.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/LICENSE.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/README.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/SECURITY.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/api.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/index.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/rate-limiting.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/security/architecture.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/security/integration-checklist.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/security/threat-model.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/examples/README.md +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/examples/fastapi_example.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/mkdocs.yml +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/__init__.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/audit.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/config.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/enums.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/exceptions.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/file_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/__init__.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/base.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/content_inspector.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/gzip_inspector.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/zip_inspector.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/protocols.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/py.typed +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/utils.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/__init__.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/base.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/compression_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/extension_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/filename_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/fit_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/image_dimension_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/mime_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/signature_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/unicode_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/windows_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/xml_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/__init__.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/conftest.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/__init__.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/helpers.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_config.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_filenames.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_images.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_zip.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/images.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/__init__.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/test_content_inspector.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/test_gzip_inspector.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/test_zip_inspector.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_audit.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_config.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_config_validation.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_enums.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_exceptions.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_fastapi_integration.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_file_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_performance.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_sync_validation.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_utils.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_validate_activity_file.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_validate_gzip_file.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/__init__.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_compression_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_extension_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_filename_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_fit_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_image_dimension_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_mime_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_signature_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_unicode_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_windows_validator.py +0 -0
- {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_xml_validator.py +0 -0
|
@@ -159,7 +159,7 @@ jobs:
|
|
|
159
159
|
# This job never checks the repository out, so there is no
|
|
160
160
|
# pyproject.toml to read `required-version` from; keep this in step
|
|
161
161
|
# with the floor declared there.
|
|
162
|
-
version: "0.13.
|
|
162
|
+
version: "0.13.8"
|
|
163
163
|
enable-cache: false
|
|
164
164
|
|
|
165
165
|
- name: Download build artifacts
|
|
@@ -4,6 +4,13 @@ All notable changes to this project are documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
6
6
|
|
|
7
|
+
## [4.0.1] - 2026-11-15
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
- Updated all dependency groups to their latest versions, including `opentelemetry-api` 1.45.2, which fixes CVE-2026-126360 in the locked docs toolchain.
|
|
12
|
+
- Updated uv to 0.13.8.
|
|
13
|
+
|
|
7
14
|
## [4.0.0] - 2026-11-06
|
|
8
15
|
|
|
9
16
|
### Added
|
|
@@ -280,6 +287,8 @@ Initial release.
|
|
|
280
287
|
- **MIME type verification:** magic-number validation for common file types.
|
|
281
288
|
- Framework-agnostic async validation, a rich exception hierarchy with machine-readable error codes, secure defaults, and full type hints.
|
|
282
289
|
|
|
290
|
+
[4.0.1]: https://github.com/endurain-project/safeuploads/compare/v4.0.0...v4.0.1
|
|
291
|
+
[4.0.0]: https://github.com/endurain-project/safeuploads/compare/v3.0.0...v4.0.0
|
|
283
292
|
[3.0.0]: https://github.com/endurain-project/safeuploads/compare/v2.2.0...v3.0.0
|
|
284
293
|
[2.2.0]: https://github.com/endurain-project/safeuploads/compare/v2.1.0...v2.2.0
|
|
285
294
|
[2.1.0]: https://github.com/endurain-project/safeuploads/compare/v2.0.0...v2.1.0
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "safeuploads"
|
|
3
|
-
version = "4.0.
|
|
3
|
+
version = "4.0.1"
|
|
4
4
|
description = "A comprehensive file security system for validating uploads and preventing attacks"
|
|
5
5
|
authors = [
|
|
6
6
|
{name = "João Vitória Silva",email = "joao@endurain.com"}
|
|
@@ -41,7 +41,7 @@ requires = ["hatchling"]
|
|
|
41
41
|
build-backend = "hatchling.build"
|
|
42
42
|
|
|
43
43
|
[tool.uv]
|
|
44
|
-
required-version = "0.13.
|
|
44
|
+
required-version = "0.13.8"
|
|
45
45
|
exclude-newer = "7 days"
|
|
46
46
|
|
|
47
47
|
[tool.ruff]
|