- Some code refactoring
- Test cases coverage optimization
- fixed some Sagas functionalities
- fixed Sphinx documentation generation process
- Documentation improvements
- Removed DependencyInjector, conflict with minos.microservice package
- Removed old module messages
- Added abstract classes Response and Request for Microservice Controller
- Bugfix
- Enrich exception messages
- Classes refactors
- Added support for DTO Model class
- Resolved float problem with avro
- Bugfixes
- Added Exceptions Traitment
- Bugfixes
- Creates CommandStatus for SAGA Reply
- Improved queries for Aggregate ( per id query )
- Added methods for Snapshot ( added check for duplicates )
- AggregateRef Model
- ValueObjects Model
- Bugfixes
- Removed ID to UUID for models
- Events use AggregateDIff
- Bugfixes
- Bugfixes
- Bugfixes
- Added Pool for Kafka
- Simplify configuration file
- Bugfixes
- Connection Pool improvement for async
- Small inmprovements
- Bugfixes
- Add
minos.common.Entity
. - Refactor
minos.common.AggregateDiff.fields_diff
:- Support incremental field differences over
EntitySet
andValueObjectSet
. - Add
FieldDiff
,IncrementalFieldDiff
andFieldDiffContainer
.
- Support incremental field differences over
- Now
Model
inherits fromcollections.abc.Mapping
. - Add support for
typing.Generic
andtyping.TypeVar
. - Bugfixes
- Add
created_at
andupdated_at
toAggregate
. - Improve Fix
AggregateDiff
+FieldDiffContainer
API. - Fix
Aggregate
bug that stored empty field differences instead of skipping them. - Fix bug from
Model
related withgetitem
,setitem
,getattr
andsetattr
.
- Fix bug related with
datetime
serialization inField
. - Fix bug related with the
AggregateDiff.__getattr__
implementation.
- Add generics to
MinosSagaManager
interface. - Remove
saga.items
fromMinosConfig
. - Add
service.aggregate
toMinosConfig
. - Remove
interval
fromEntrypointLauncher
(must be setup at service level). - Fix bug related with
TypeHintBuilder
andAny
. - Fix bug related with
ModelType
comparisons.
- Add
discovery.client
intoMinosConfig
allowing to setup custom Discovery clients. - Add
minos.common.queries
module, containingCondition
andOrdering
classes. - Refactor
PostgreSqlSnapshot
to storeAggregate
s following aschema
(bytes) +data
(json) strategy supporting queries over thedata
column. - Fix troubles related with
avro
'srecord
collisions with full patching byAvroSchemaEncoder
. - Refactor
AvroDataEncoder
to be more consistent withModel
andField
responsibilities. - Remove file headers.
- Stop using
NoReturn
everywhere.
- Add support for
timedelta
. - Fix
Optional[ModelRef[T]]
behaviour. - Remove
events
section fromMinosConfig
. - Fix troubles related with dependency injections.
- Fix bug from
PostgreSqlSnapshotReader
that returned already deleted aggregates whenCondition.TRUE
was passed.
- Improve support for
Model
inheritance inside container classes (list
,dict
,EntitySet
, etc.). - Add support for
set[T]
type. - Fix bug related with complex types and
PostgreSqlSnapshotQueryBuilder
. - Fix bug related with empty
dict
andminos.saga.SagaContext
.
- Add
IncrementalSet
as the base implementation for incremental sets.- Now
ValueObjectSet
andEntitySet
inherit fromIncrementalSet
.
- Now
- Refactor
ValueObjectSet
to be implemented on top of aset
instead of adict
. - Fix bug related with
list
,set
anddict
in combination withAny
and theavro
schemas.
- Migrate all Aggregate-related stuff to the brand-new
minos.aggregate
package.- Move
Aggregate
,Entity
,ValueObject
, etc. model classes and related utility classes (AggregateDiff
,FieldDiff
, Action,
ModelRef`, etc.). - Move
minos.common.repository
module. - Move
minos.common.snapshot
module. - Move
minos.common.queries
module.
- Move
- Add
Lock
class as an abstract class to implement application-level locking inminos
.- Add
PostgreSqlLock
andPostgreSqlLockPool
- Add
- Replace the
MinosPool
instance creation strategy, from "create if possible or get or wait" to "get or create if possible or wait".
- Fix bug related with dependency injections over
minos.*
modules.
- Add
services
andmiddleware
sections toMinosConfig
. - Remove
Command
,CommandReply
,CommandStatus
andEvent
(moved tominos.networks
). - Remove
MinosBroker
andMinosHandler
(moved tominos.networks
). - Remove
MinosSagaManager
(moved tominos.saga
).
- Fix bug related with
enum.Enum
inherited classes that do not recover the original type after being serialized. - Fix bug related with
str
values auto-casting to an iterable of characters.
- Fix bug related with
EntrypointLauncher
's dependency injection and unloadedminos.*
modules.
- Big refactor of the
minos.common.model.serializers
module:- Add
encode_schema
,decode_schema
,encode_data
anddecode_data
callback-like functions to be able to modify the serialization/deserialization logic. - Add
SchemaEncoder
,SchemaDecoder
,DataEncoder
andDataDecoder
abstract base classes. - Increase serialization/deserialization robustness.
- Add
- Add
batch_mode: bool
argument to manage if theavro
serialization is performed for a single model or a batch of models.