Releases: Pipelex/kajson
Releases · Pipelex/kajson
v0.3.1
v0.3.0
[v0.3.0] - 2025-07-09
- Making
KajsonManagera proper Singleton usingMetaSingleton
v0.2.4
[v0.2.4] - 2025-06-30
- Automatic changelog in Github Release
v0.2.3
- Better handle enums including in pydantic BaseModels
v0.2.2
🚀 New Features
- Generic Pydantic Models: Comprehensive support for generic models with type parameters (
Container[T],KeyValueStore[K, V], etc.) with enhanced class registry that automatically handles generic type resolution and fallback to base classes - Cross-Platform DateTime: Enhanced datetime encoding with 4-digit year formatting for better cross-platform compatibility
📚 New Examples
ex_15_pydantic_subclass_polymorphism.py: Demonstrates polymorphic APIs, plugin architectures, and mixed collections with preserved subclass typesex_16_generic_models.py: Showcases single/multiple type parameters, nested generics, and bounded generic types
🏗️ Core Improvements
- Automatic Metadata Handling: Built-in encoders now automatically receive
__class__and__module__metadata, simplifying custom encoder implementation - Generic Type Resolution: JSON decoder now handles generic class names by intelligently falling back to base classes
- Timezone Support: Fixed missing timezone encoder/decoder registration for
ZoneInfoobjects - Simplified Encoders: Removed manual metadata from built-in encoders (datetime, date, time, timedelta, timezone)
📖 Documentation
- Expanded README: Added compatibility matrix, migration guide, architecture overview, and comprehensive use cases
- Enhanced API Docs: Updated encoder/decoder documentation with automatic metadata handling examples
- Examples Documentation: New detailed examples with polymorphism and generic models patterns
🧪 Testing
- Integration Tests: Added comprehensive test suites for generic models and subclass polymorphism
- DateTime Tests: Enhanced datetime/timezone round-trip testing with edge cases and complex structures
- Class Registry Tests: Improved test coverage for dynamic class scenarios
v0.2.1
Merge pull request #21 from Pipelex/release/v0.2.1 - Added the last missing example & doc: using the class registry to handle dynamic classes from distributed systems and runtime generation - Fixed markdown of overview docs
v0.2.0
- Test coverage 100%
- New integration tests
- New examples in
examples/directory, used as e2e tests - Full documentation in
docs/directory - MkDocs deployed on GitHub pages: https://pipelex.github.io/kajson/
v0.1.6
Merge pull request #17 from Pipelex/release/v0.1.6 - Introduced `ClassRegistryAbstract` (ABC) for dependency injection of ClassRegistry - Added `KajsonManager` for better lifecycle management - Changed default Python version to 3.11 (still requires Python >=3.9) - Updated Pydantic dependency from exact version `==2.10.6` to minimum version `>=2.10.6` - Code cleanup and removal of unused components, most notably the `sandbox_manager`
v0.1.5
Merge pull request #11 from Pipelex/release/v0.1.5 Release/v0.1.5
v0.1.4
Merge pull request #7 from Pipelex/release/v0.1.4 Remove inappropriate VS Code settings