Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
Planned¶
- Data augmentation support in GUI annotator
- Additional format plugins (Pascal VOC, TFRecord)
- Documentation tutorials (especially for GUI annotator)
0.1.5 - 2025-01-18¶
Fixed¶
- Fixed dataset loading issues in YOLO plugin
- Fixed test workflow issues
Added¶
- Added image deletion feature in GUI annotator
0.1.4 - 2025-01-17¶
Fixed¶
- Fixed id conflicts when merging datasets with overlapping image IDs
- Fixed minor bugs
Changed¶
- Enhanced test CI workflow with coverage reporting
Added¶
- Added unit tests for all core functionalities
0.1.3 - 2025-01-17¶
Fixed¶
- Fixed split error when exporting datasets in GUI annotator
- Fixed import errors
Added¶
- Added streamlit-based audit report analysis tool (experimental), accessible via annotator menu
0.1.2 - 2025-01-17¶
Fixed¶
- Fixed image tags not being saved in GUI annotator
- Fixed image tags not displaying in CLI dataset info
- Fixed image panel focus issues when approving/rejecting images in GUI annotator
Added¶
- Added split ratio options for dataset export in GUI annotator
0.1.1 - 2025-01-16¶
Fixed¶
- Fixed broken documentation links throughout the documentation site
- Fixed Windows Poetry installation issues in GitHub Actions workflows
- Fixed ANSI color formatting in CLI output display
- Fixed mkdocs strict mode build failures
Changed¶
- Simplified CI workflows with direct pip installation of Poetry
- Improved CLI help formatter with better spacing and readability
- Updated documentation navigation structure
- Enhanced README with more comprehensive examples
Added¶
- Added changelog and license pages to documentation
- Added About section to documentation site
- Added better error handling for empty test suites in CI
0.1.0 - 2025-01-16¶
Added¶
Core Features¶
- Initial release of BoxLab
- Dataset management system with multi-source support
- COCO and YOLO format support
- Bidirectional format conversion (COCO ↔ YOLO)
- Dataset merging with conflict resolution
- Dataset splitting with customizable ratios
- Comprehensive statistics and analysis
CLI Tools¶
boxlab dataset info- Display dataset information and statisticsboxlab dataset convert- Convert between formats with flexible optionsboxlab dataset merge- Merge multiple datasets with source trackingboxlab dataset visualize- Generate visualizations and plotsboxlab annotator- Launch GUI annotation application- Rich formatted output with tables and progress indicators
- Verbose mode for detailed debugging
GUI Annotator¶
- Interactive annotation viewer and editor
- Visual bounding box editing with drag-to-resize
- Multi-split navigation (train/val/test)
- Audit workflow with approve/reject functionality
- Image tagging system
- Workspace persistence (.cyw files)
- Auto-backup on crashes
- Keyboard shortcuts for efficient workflows
- Real-time statistics display
Python API¶
Datasetclass for dataset managementload_dataset()andexport_dataset()functions- Type-safe data structures (
BBox,Annotation,ImageInfo) - Plugin system for custom format support
LoaderPluginandExporterPluginbase classes- Plugin registry for format discovery
- Multiple naming strategies (original, UUID, sequential, prefix)
PyTorch Integration¶
TorchDatasetAdapterfor PyTorch Dataset compatibilitybuild_torchdataset()convenience function- Built-in augmentation support
- Flexible transform pipelines
- Custom collate functions
- Multiple coordinate formats (xyxy, xywh, cxcywh)
- Normalization options
Documentation¶
- Complete user guides (installation, quick start, CLI reference)
- Comprehensive API reference with examples
- Advanced usage guide (PyTorch, plugins, automation)
- Interactive annotator guide
- MkDocs Material theme documentation site
Development¶
- Poetry for dependency management
- Ruff for linting and formatting
- MyPy for type checking
- Pytest for testing
- GitHub Actions workflows (tests, docs, publish)
- Pre-commit hooks
Format Support¶
COCO Format¶
- Full COCO JSON specification support
- Image metadata preservation
- Category management
- Annotation area calculation
- Source tracking in merged datasets
YOLO Format¶
- YOLOv5/YOLOv8 format support
- data.yaml configuration
- Normalized coordinate handling
- Split-based directory structure
- Automatic path resolution
Plugin System¶
COCOLoaderandCOCOExporterYOLOLoaderandYOLOExporter- Extensible architecture for custom formats
- Format auto-detection
- Validation hooks
Dependencies¶
- Python 3.10+ support
- NumPy for numerical operations
- Pillow for image handling
- Matplotlib for visualizations
- PyYAML for YAML parsing
- Pandas for data analysis
- Optional PyTorch integration
System Support¶
- Cross-platform (Linux, macOS, Windows)
- Python 3.10, 3.11, 3.12 support
- Terminal color support with auto-detection
- Graceful degradation without optional dependencies
Version History¶
Semantic Versioning¶
BoxLab follows Semantic Versioning 2.0.0:
- MAJOR version for incompatible API changes
- MINOR version for backwards-compatible functionality additions
- PATCH version for backwards-compatible bug fixes
Release Cycle¶
- Major releases: Significant new features or breaking changes
- Minor releases: New features, improvements, non-breaking changes
- Patch releases: Bug fixes, documentation updates, minor improvements
Deprecation Policy¶
- Deprecated features will be marked in documentation and emit warnings
- Deprecated features will be supported for at least one minor version
- Breaking changes will be clearly documented in changelog
- Migration guides will be provided for major version updates
Categories¶
Added¶
New features or functionality.
Changed¶
Changes in existing functionality.
Deprecated¶
Features that will be removed in upcoming releases.
Removed¶
Features that have been removed.
Fixed¶
Bug fixes.
Security¶
Security vulnerability fixes.
Links¶
Note: Dates are in ISO 8601 format (YYYY-MM-DD). All notable changes for each version are documented above.