Changelog¶
[1.1.2] - 2025-01-10¶
Added¶
- AsyncRedisAdapter with comprehensive Redis support (msgpack/JSON serialization, TTL, NX/XX operations)
- Pattern-based retrieval for Redis keys
- Production-ready test coverage with testcontainers
Fixed¶
- Python 3.10 compatibility for TypedDict imports (NotRequired, Required)
- Python 3.10 isinstance() syntax compatibility
- AsyncNeo4jAdapter context manager and query result processing
- Test isolation - unit tests no longer require Docker
- 97+ linting issues auto-fixed
Changed¶
- CI/CD improvements with dynamic coverage thresholds
- Better error reporting in test pipeline
0.2.3 - 2025-05-29¶
Added¶
- Field Families and Common Patterns Library (Issue #114): Introduced a comprehensive field system with:
FieldTemplate: Reusable field definitions with flexible namingFieldFamilies: Core database pattern collections (ENTITY, SOFT_DELETE, AUDIT)DomainModelBuilder: Fluent API for building models with method chainingProtocolFieldFamilies: Field sets that ensure protocol complianceValidationPatterns: Common regex patterns and constraint builderscreate_protocol_model(): Function to create protocol-compliant models (structure only)- Protocol Enhancements:
- Added protocol constants (
IDENTIFIABLE,TEMPORAL, etc.) for type-safe protocol selection - Added
create_protocol_model_class(): Factory function that creates models with both structural fields AND behavioral methods in one step - Added
combine_with_mixins(): Helper to easily add protocol behaviors to existing models
Changed¶
- BREAKING: Removed "event" from the protocol system in
ProtocolFieldFamilies. TheEventclass remains available but is no longer part of the protocol selection system since it's a concrete class, not a protocol interface.
Fixed¶
- Fixed import organization issues (E402 errors)
- Updated tests to reflect simplified field families
- Fixed email validation test expectations
- Updated documentation to align with new architecture
- Fixed SQLAlchemy primary key mapping issue in test_model_adapter_enhancements.py
0.2.0 - 2025-05-24¶
Highlights¶
This release introduces two major foundational modules: Fields and
Protocols. These modules provide a robust and extensible framework for
defining data structures and behaviors within pydapter.
- Fields Module (
pydapter.fields): A powerful system for defining typed, validated, and serializable fields. It includes pre-defined field types for common use cases like IDs, datetimes, embeddings, and execution tracking, along with a flexibleFieldclass for custom definitions and acreate_modelutility for dynamic Pydantic model creation. - Protocols Module (
pydapter.protocols): A set of composable interfaces (e.g.,Identifiable,Temporal,Embeddable,Invokable,Cryptographical) that define standard behaviors for Pydantic models. TheEventprotocol combines these to offer comprehensive event tracking capabilities, enhanced by the@as_eventdecorator for easily instrumenting functions.
These additions significantly enhance pydapter's ability to model complex data
interactions and workflows in a standardized and maintainable way.
Added¶
- New
pydapter.fieldsmodule: Introduced a robust system for defining typed, validated, and serializable fields (e.g., IDs, datetimes, embeddings, execution tracking) and acreate_modelutility for dynamic Pydantic model creation. (Related to Issue #100, PR #99) - New
pydapter.protocolsmodule: Added composable protocol interfaces (Identifiable,Temporal,Embeddable,Invokable,Cryptographical) and anEventprotocol with an@as_eventdecorator for comprehensive event modeling and function instrumentation. (Related to Issue #100, PR #99) - Hybrid Documentation System: Implemented a new documentation system combining auto-generated API skeletons with rich manual content and automated validation (markdown linting, link checking). (Issue #103, PR #104)
- Updated CI to install documentation validation tools. (Issue #105)
Fixed¶
- Resolved Python 3.10 compatibility issues related to
datetime.timezone.utc. (Part of PR #99 fixes) - Addressed various
mkdocsbuild warnings and broken links in the documentation. (Part of PR #104 fixes)
0.1.5 - 2025-05-14¶
Added¶
- New adapter implementations:
AsyncNeo4jAdapter- Asynchronous adapter for Neo4j graph database with comprehensive error handlingWeaviateAdapter- Synchronous adapter for Weaviate vector database with vector search capabilitiesAsyncWeaviateAdapter- Asynchronous adapter for Weaviate vector database using aiohttp for REST API calls
0.1.1 - 2025-05-04¶
Added¶
- Integration tests for database adapters using TestContainers
- PostgreSQL integration tests
- MongoDB integration tests
- Neo4j integration tests
- Qdrant vector database integration tests
Fixed¶
- Neo4j adapter now supports authentication
- Qdrant adapter improved connection error handling
- SQL adapter enhanced error handling for connection issues
- Improved error handling in core adapter classes
0.1.0 - 2025-05-03¶
- Initial public release.
core.Adapter,AdapterRegistry,Adaptable- Built-in JSON adapter