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.
Files changed (108) hide show
  1. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/publish-safeuploads.yml +1 -1
  2. {safeuploads-4.0.0 → safeuploads-4.0.1}/CHANGELOG.md +9 -0
  3. {safeuploads-4.0.0 → safeuploads-4.0.1}/PKG-INFO +1 -1
  4. {safeuploads-4.0.0 → safeuploads-4.0.1}/pyproject.toml +2 -2
  5. {safeuploads-4.0.0 → safeuploads-4.0.1}/uv.lock +501 -459
  6. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/conventional-commits/SKILL.md +0 -0
  7. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/conventional-commits/references/pull-requests.md +0 -0
  8. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/debugging/SKILL.md +0 -0
  9. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/SKILL.md +0 -0
  10. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/references/code-standards.md +0 -0
  11. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/references/security.md +0 -0
  12. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/safeuploads-library/references/testing.md +0 -0
  13. {safeuploads-4.0.0 → safeuploads-4.0.1}/.agents/skills/skill-authoring/SKILL.md +0 -0
  14. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/CODEOWNERS +0 -0
  15. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/FUNDING.yml +0 -0
  16. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  17. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  18. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  19. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  20. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/copilot-instructions.md +0 -0
  21. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/dependabot.yml +0 -0
  22. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/scripts/check_conventional_commits.py +0 -0
  23. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/scripts/smoke_import.py +0 -0
  24. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/audit-safeuploads.yml +0 -0
  25. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/conventional-commits.yml +0 -0
  26. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/docs.yml +0 -0
  27. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/fuzz.yml +0 -0
  28. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/lint-and-test.yml +0 -0
  29. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/mirror.yml +0 -0
  30. {safeuploads-4.0.0 → safeuploads-4.0.1}/.github/workflows/test-matrix-safeuploads.yml +0 -0
  31. {safeuploads-4.0.0 → safeuploads-4.0.1}/.gitignore +0 -0
  32. {safeuploads-4.0.0 → safeuploads-4.0.1}/AGENTS.md +0 -0
  33. {safeuploads-4.0.0 → safeuploads-4.0.1}/CODE_OF_CONDUCT.md +0 -0
  34. {safeuploads-4.0.0 → safeuploads-4.0.1}/CONTRIBUTING.md +0 -0
  35. {safeuploads-4.0.0 → safeuploads-4.0.1}/LICENSE.md +0 -0
  36. {safeuploads-4.0.0 → safeuploads-4.0.1}/README.md +0 -0
  37. {safeuploads-4.0.0 → safeuploads-4.0.1}/SECURITY.md +0 -0
  38. {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/api.md +0 -0
  39. {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/index.md +0 -0
  40. {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/rate-limiting.md +0 -0
  41. {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/security/architecture.md +0 -0
  42. {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/security/integration-checklist.md +0 -0
  43. {safeuploads-4.0.0 → safeuploads-4.0.1}/docs/security/threat-model.md +0 -0
  44. {safeuploads-4.0.0 → safeuploads-4.0.1}/examples/README.md +0 -0
  45. {safeuploads-4.0.0 → safeuploads-4.0.1}/examples/fastapi_example.py +0 -0
  46. {safeuploads-4.0.0 → safeuploads-4.0.1}/mkdocs.yml +0 -0
  47. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/__init__.py +0 -0
  48. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/audit.py +0 -0
  49. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/config.py +0 -0
  50. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/enums.py +0 -0
  51. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/exceptions.py +0 -0
  52. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/file_validator.py +0 -0
  53. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/__init__.py +0 -0
  54. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/base.py +0 -0
  55. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/content_inspector.py +0 -0
  56. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/gzip_inspector.py +0 -0
  57. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/inspectors/zip_inspector.py +0 -0
  58. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/protocols.py +0 -0
  59. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/py.typed +0 -0
  60. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/utils.py +0 -0
  61. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/__init__.py +0 -0
  62. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/base.py +0 -0
  63. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/compression_validator.py +0 -0
  64. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/extension_validator.py +0 -0
  65. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/filename_validator.py +0 -0
  66. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/fit_validator.py +0 -0
  67. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/image_dimension_validator.py +0 -0
  68. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/mime_validator.py +0 -0
  69. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/signature_validator.py +0 -0
  70. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/unicode_validator.py +0 -0
  71. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/windows_validator.py +0 -0
  72. {safeuploads-4.0.0 → safeuploads-4.0.1}/safeuploads/validators/xml_validator.py +0 -0
  73. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/__init__.py +0 -0
  74. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/conftest.py +0 -0
  75. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/__init__.py +0 -0
  76. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/helpers.py +0 -0
  77. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_config.py +0 -0
  78. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_filenames.py +0 -0
  79. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_images.py +0 -0
  80. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/fuzz/test_fuzz_zip.py +0 -0
  81. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/images.py +0 -0
  82. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/__init__.py +0 -0
  83. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/test_content_inspector.py +0 -0
  84. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/test_gzip_inspector.py +0 -0
  85. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/inspectors/test_zip_inspector.py +0 -0
  86. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_audit.py +0 -0
  87. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_config.py +0 -0
  88. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_config_validation.py +0 -0
  89. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_enums.py +0 -0
  90. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_exceptions.py +0 -0
  91. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_fastapi_integration.py +0 -0
  92. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_file_validator.py +0 -0
  93. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_performance.py +0 -0
  94. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_sync_validation.py +0 -0
  95. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_utils.py +0 -0
  96. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_validate_activity_file.py +0 -0
  97. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/test_validate_gzip_file.py +0 -0
  98. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/__init__.py +0 -0
  99. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_compression_validator.py +0 -0
  100. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_extension_validator.py +0 -0
  101. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_filename_validator.py +0 -0
  102. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_fit_validator.py +0 -0
  103. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_image_dimension_validator.py +0 -0
  104. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_mime_validator.py +0 -0
  105. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_signature_validator.py +0 -0
  106. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_unicode_validator.py +0 -0
  107. {safeuploads-4.0.0 → safeuploads-4.0.1}/tests/validators/test_windows_validator.py +0 -0
  108. {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.5"
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
  Metadata-Version: 2.5
2
2
  Name: safeuploads
3
- Version: 4.0.0
3
+ Version: 4.0.1
4
4
  Summary: A comprehensive file security system for validating uploads and preventing attacks
5
5
  Author-email: João Vitória Silva <joao@endurain.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "safeuploads"
3
- version = "4.0.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.5"
44
+ required-version = "0.13.8"
45
45
  exclude-newer = "7 days"
46
46
 
47
47
  [tool.ruff]