Skip to content

Releases: proteanhq/protean

v0.12.1

21 Jun 19:04
Compare
Choose a tag to compare

What's Changed

  • Make constants under [custom] section available directly on the domain
  • Simplify domain traversal logic and improve performance
  • Optimize fetching handlers for domain events
  • Remove clone method from Entity/Aggregate
  • Remove `provider`` meta option from Entities

v0.12.0

17 Jun 16:52
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.11.0...v0.12.0

v0.11.0

20 Mar 12:50
Compare
Choose a tag to compare

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

16 Nov 23:26
Compare
Choose a tag to compare
  • Enhance domain.init as the way to activate a domain
  • Introduce a new test category WITH_COVERAGE and use in Github Actions
  • Remove dynamic initializations in providers, brokers, caches, and event stores

v0.8.2

17 Aug 15:36
Compare
Choose a tag to compare
  • Add MultiTenancy support

v0.9.1

23 Feb 21:41
Compare
Choose a tag to compare
  • Bugfix - Use Domain's EventStore connection details for clearing events after test runs

v0.9.0

18 Feb 02:35
Compare
Choose a tag to compare
  • 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 to pre-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 to in operator in Memory DB

v0.8.1

13 Jan 22:02
e8e084e
Compare
Choose a tag to compare
  • Allow custom separator in Elasticsearch namespaces

v0.8.0

07 Oct 17:18
Compare
Choose a tag to compare
  • Move fields module to be under main package
  • Allow List fields to contain Dict 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

v0.7.1

23 Sep 17:22
Compare
Choose a tag to compare
  • Allow pickling of exceptions (needed by Celery)