Releases: gcomneno/smart-file-organizer
Releases · gcomneno/smart-file-organizer
Release list
Smart File Organizer v0.3.3
Smart File Organizer v0.3.3
Highlights:
- Unmatched documents now default to
documents/inboxwithout requiring a config file. smart-file-organizer.example.tomldocuments the inbox fallback explicitly.
Compatibility:
- Semantic matches (taxes, utilities, insurance, etc.) are unchanged.
fallback_folderremains configurable in TOML when you want a different inbox path.
Validation:
- ruff format check
- ruff lint
- ty check
- pytest (135 tests)
Smart File Organizer v0.3.2
Smart File Organizer v0.3.2
Highlights:
- Match single-word path keywords as whole tokens so short acronyms like
adino longer hit unrelated words such asparadiso(#38). - Add optional
fallback_folderin TOML to route unmatched documents to a dedicated inbox instead of genericdocuments/.
Compatibility:
- Multi-word keyword phrases keep substring matching.
fallback_folderapplies only to unmatched documents; other categories keep their defaults.- Keyword-only and pattern TOML configs continue to work unchanged.
Validation:
- ruff format check
- ruff lint
- ty check
- pytest (134 tests)
Privacy boundary:
- Real/private files, local configuration, manual-run data, and private document contents are not included in the repository.
Smart File Organizer v0.3.1
Smart File Organizer v0.3.1
Highlights:
- Add optional regex
patternsto TOML semantic rules (#36). - Patterns match normalized file paths alongside existing keyword rules.
- Invalid regex is rejected with a clear configuration error.
Compatibility:
- Keyword-only TOML configs continue to work unchanged.
- Built-in rules still extend rather than replace user config.
- Regex patterns apply to path matching only;
--inspect-contentkeeps keyword rules.
Validation:
- ruff format check
- ruff lint
- ty check
- pytest (126 tests)
Privacy boundary:
- Real/private files, local configuration, manual-run data, and private document contents are not included in the repository.
Smart File Organizer v0.3.0
Smart File Organizer v0.3.0
Highlights:
- User TOML semantic rules now extend built-in rules instead of replacing them (#25).
- Added optional recursive directory scanning with
--recursive(#22). - Added JSON plan preview output with
--format json(#24). - Added opt-in destination conflict resolution with
--conflict-strategy rename(#23). - Improved built-in filename rules for utilities, health, banking, INPS, and programming books (#28).
- Reduced false positives in
--inspect-contentmatching (#26). - Suppressed third-party PDF parser warnings by default; use
--verboseto show them (#27).
Compatibility:
- Default behavior remains a safe dry run.
- Files are moved only with
--apply. - Text plan output remains the default preview format.
- Destination conflicts still fail by default unless
--conflict-strategy renameis passed.
Real-world validation:
- Tested on a personal backup dataset (~125 files, recursive scan).
- Name-only classification: ~81% of files routed to semantic folders.
- With
--inspect-content: ~89% classified, 14 files remaining in genericdocuments/.
Validation:
- ruff format check
- ruff lint
- ty check
- pytest (120 tests)
Privacy boundary:
- Real/private files, local configuration, manual-run data, and private document contents are not included in the repository.
Smart File Organizer v0.2.0
Smart File Organizer v0.2.0
Highlights:
- Added TOML configuration for semantic organization rules.
- Added application-specific exception types.
- Added opt-in verbose application logging.
- Added static type checking with ty in CI.
- Split the large core module into focused modules.
- Introduced the plan command group while preserving legacy direct usage.
Compatibility:
- Existing direct planning usage still works.
- Planning remains safe by default.
- Files are moved only with --apply.
Validation:
- ruff format check
- ruff lint
- ty check
- pytest
Privacy boundary:
- Real/private files, local configuration, manual-run data, and private document contents are not included.
smart-file-organizer v0.1.0
smart-file-organizer v0.1.0
Initial public release of Smart File Organizer.
This release provides a safe Python CLI for planning and applying file organization workflows.
Highlights
- Builds an organization plan before moving files.
- Uses dry-run behavior by default.
- Moves files only when
--applyis explicitly passed. - Supports explicit source files and direct files from a source directory.
- Classifies files by extension and semantic filename/path rules.
- Supports opt-in document content inspection with
--inspect-content. - Extracts text from supported
.txtand selectable-text.pdffiles. - Refuses destination conflicts.
- Refuses to overwrite existing destination files.
- Includes project-local tooling with
uv,ruff, andpytest. - Includes GitHub Actions CI.
- Includes MIT license.
Current limitations
- Directory scanning is not recursive yet.
- PDF content inspection works only for PDFs with extractable text.
- OCR for scanned documents is not implemented yet.
- There is no configuration file yet.
- Existing destination files are never overwritten.
- There is no rename strategy for conflicts yet.
Privacy boundary
The repository is intentionally built with synthetic examples and must not contain private backup data, real document contents, or real manual-run outputs.