Releases: proteanhq/protean
Releases · proteanhq/protean
v0.12.1
v0.12.0
What's Changed
- Switch from Copier to Typer by @subhashb in #400
- CLI commands refactoring by @subhashb in #401
- Add
shell
command to Protean CLI by @subhashb in #402 - Refactor CLI commands and add documentation by @subhashb in #403
- Clean up docs dependencies and retain just
mkdocs-material
by @subhashb in #405 - Async server bug fixes and general enhancements by @subhashb in #406
- Replace flake8 + black + isort with
ruff
by @subhashb in #411 - Enhance support for different identity types in
Identifier
field by @subhashb in #414 - 415 Entity Association Enhancements by @subhashb in #416
- Add Fields related documentation by @subhashb in #417
- Bugfix to ensure associations can only link to other entities by @subhashb in #418
- Resolve references when initializing Domain by @subhashb in #419
- Support nesting associations under entities by @subhashb in #423
- Add @invariant decorator to explicitly configure invariants by @subhashb in #425
- Add documentation related to defining Domain Behaviors by @subhashb in #426
- (409) Transition Protean Config to .toml file by @subhashb in #427
- Support
List
of Value Objects by @subhashb in #429 - 428 Domain Service Enhancements by @subhashb in #430
- Upgrade SQLAlchemy to 2.0.x by @subhashb in #431
- Explicitly control automatic addition of identity field by @subhashb in #432
- Remove support for inner
Meta
class by @subhashb in #433 - Revamp BaseModel for parity with other domain elements by @subhashb in #434
- Enable VSCode Testing to scan tests successfully by @subhashb in #435
- Add
message-db
service to GitHub CI Actions by @subhashb in #436 - Identity enhancements by @subhashb in #437
Full Changelog: v0.11.0...v0.12.0
v0.11.0
What's Changed
- Add support for Python 3.12.0
- Move to poetry
- Control domain directory traversal explicitly in
init()
- Domain Traversal Refactoring
- ReadTheDocs config enhancements
Full Changelog: v0.10.0...v0.11.0
v0.10.0
v0.8.2
v0.9.1
v0.9.0
- Output VO values as nested dicts instead of a forced flat structure
- Enclose DAOs within repositories to encourage DB interaction solely through repos
- Remove
remove
method from repository to discourage hard deletes - Manage concurrency with Aggregate versions
- Add MessageDB Event store adapter
- Add stand-in Memory Event store
- Introduce EventSourced Aggregates and Event Handlers
- Introduce EventSourced Repositories
- Allow filtering of messages from their origin stream
- Allow Event Handlers to listen to other streams and ALL streams
- Allow Command Handler methods to handle any event
- Wrap EventHandler and CommandHandler methods execute within UnitOfWork
- Associate Commands and Events with streams (explicit and via Aggregates)
- Support processing events and commands in synchronous mode.
- Allow asynchronous command processing by submitting commands to domain
- Add
autoflake
topre-commit
- Treat empty string value as None in Date and DateTime Fields
- Support inter-attribute dependencies in Option defaults
- Cache registry, repositories, daos, and models with
@cache
- Fix sorting issue with null values in Memory DB
- Add
any
filter and allow scalar values toin
operator in Memory DB
v0.8.1
v0.8.0
- Move
fields
module to be under main package - Allow
List
fields to containDict
objects - Elasticsearch adapter bugfixes and model enhancements
- Make views stateful to allow persistence and retrieval
- Auto-generate Event's
message_id
- Support pickling of Protean exceptions
- Bugfix - Fetch view objects instead of simply IDs in
cache.get_all()
- Bugfix - Generate embedded ValueObject's data properly in
to_dict()
- Bugfix - Derive SQLAlchemy field types correctly for embedded value object fields