Releases: minos-framework/minos-python
Releases · minos-framework/minos-python
v0.6.0
Changelog
minos-microservice-aggregate
- Replace 
dependency-injector's injection classes by the ones provided by theminos.common.injectionsmodule. - Be compatible with latest 
minos.common.ConfigAPI. 
minos-microservice-common
- Add 
Configwith support for config versioning. - Add 
ConfigV1as the class that supports the V1 config file. - Add 
ConfigV2as the class that supports the V1 config file. - Deprecate 
MinosConfigin favor ofConfig. - Add 
get_internal_modulesfunction. - Add 
Injectabledecorator to provide a way to set a class as injectable. - Add 
InjectableMixinclass that provides the necessary methods to be injectable. - Add 
Injectdecorator to provide a way to inject variables on functions based on types. - Add 
LockPoolbase class as the base class for lock pools. - Add 
Objectbase class with the purpose to avoid issues related with multi-inheritance and mixins. - Add 
Portbase class as the base class for ports. - Add 
CircuitBreakerMixinclass to provide circuit breaker functionalities. - Add 
SetupMixinclass as a replacement of theMinosSetupclass. 
minos-microservice-cqrs
- Replace 
dependency-injector's injection classes by the ones provided by theminos.common.injectionsmodule. - Be compatible with latest 
minos.common.ConfigAPI. 
minos-microservice-networks
- Add 
BrokerPortclass and deprecateBrokerHandlerService. - Add 
BrokerPublisherBuilderto ease the building ofBrokerPublisherinstances. - Add 
FilteredBrokerSubscriberimplemented as a Chain-of-Responsibility Design Pattern to be able to filterBrokerMessageinstances during subscription. - Add 
BrokerSubscriberValidatorandBrokerSubscriberDuplicateValidatorbase classes and theInMemoryBrokerSubscriberDuplicateValidatorandPostgreSqlBrokerSubscriberDuplicateValidatorimplementations. - Rename 
EnrouteAnalyzerasEnrouteCollector. - Rename 
EnrouteBuilderasEnrouteFactory. - Add 
HttpEnrouteDecorator. - Remove 
KongDiscoveryClientclass (there are plans to re-include it as an external plugin in the future). - Add 
HttpConnectoras the base class that connects to thehttpserver. - Add 
HttpAdapteras the class that coordinatesHttpRouterinstances. - Add 
HttpPortclass and deprecateRestService. - Add 
HttpRequest,HttpResponseandHttpResponseExceptionas request/response wrappers of thehttpserver. - Add 
Router,HttpRouter,RestHttpRouter,BrokerRouterandPeriodicRouteras the classes that route requests to the corresponding services' handling functions - Add 
PeriodicPortclass and deprecatePeriodicTaskSchedulerService. - Add 
CronTabclass to support"@reboot"pattern. - Add 
OpenAPIServiceandAsynAPIServiceclasses as the services that provideopenapiandasynciapispecifications of the microservice. - Add 
SystemServiceas the service that implements System Health checker. - Replace 
dependency-injector's injection classes by the ones provided by theminos.common.injectionsmodule. - Be compatible with latest 
minos.common.ConfigAPI. 
minos-microservice-saga
- Replace 
dependency-injector's injection classes by the ones provided by theminos.common.injectionsmodule. - Be compatible with latest 
minos.common.ConfigAPI. 
minos-broker-kafka
- Add 
KafkaCircuitBreakerMixinto integrateminos.common.CircuitBreakerMixininto theKafkaBrokerPublisherandKafkaBrokerSubscriberclasses to be tolerant to connection failures tokafka. - Add 
KafkaBrokerPublisherBuilderandKafkaBrokerBuilderMixinclasses to ease the building process. 
minos-broker-rabbitmq
- Add 
RabbitMQBrokerPublisheras the implementation of therabbitmqpublisher. - Add 
RabbitMQBrokerSubscriberas the implementation of therabbitmqsubscriber. - Add 
RabbitMQBrokerPublisherBuilder,RabbitMQBrokerSubscriberBuilderandRabbitMQBrokerBuilderMixinclasses to ease the building process. 
minos-discovery-minos
- Integrate 
minos.common.CircuitBreakerMixininto theMinosDiscoveryClientto be tolerant to connection failures tominos-discovery. 
minos-http-aiohttp
- Add 
AioHttpConnectoras the implementation of theaiohttpserver. - Add 
AioHttpRequest,AioHttpResponseandAioHttpResponseExceptionclasses as the request/response wrappers foraiohttp. 
minos-router-graphql
- Add 
GraphQLSchemaBuilderto build thegraphql's schema. - Add 
GraphQlHandlerclass to handlegraphqlrequests. - Add 
GraphQlHttpRouterclass to routehttprequest tographql. - Add 
GraphQlEnroute,GraphQlEnrouteDecorator,GraphQlCommandEnrouteDecoratorandGraphQlQueryEnrouteDecoratordecorators. 
Update Guide
From 0.5.x
- Add 
@Injectabledecorator to classes that injections: 
from minos.common import Injectable
@Injectable("THE_INJECTION_NAME")
class MyInjectableClass:
  ...- Add 
minos-http-aiohttppackage: 
poetry add minos-http-aiohttp@^0.6- Add 
HttpConnectorinstance toservice.injectionssection ofconfig.ymlfile: 
...
service:
  injections:
    http_connector: minos.plugins.aiohttp.AioHttpConnector
    ...
  ...
...- Add 
routerssection toconfig.ymlfile: 
...
routers:
  - minos.networks.BrokerRouter
  - minos.networks.PeriodicRouter
  - minos.networks.RestHttpRouter
...- Update 
minos.common.Configusages according to the new provided API:- Most common issues come from calls like 
config.query_repository._asdict(), that must be transformed toconfig.get_database_by_name("query") 
 - Most common issues come from calls like 
 
v0.5.4
Changelog
minos-microservice-aggregate
- Fix bug related with 
Ref.resolve. - Add 
RefResolver.build_topic_namestatic method. - Remove 
SnapshotService.__get_one__method. - Minor changes.
 
v0.5.3
Changelog
minos-microservice-aggregate
- Add 
RefExceptionto be raised when some reference cannot be resolved. - Improve attribute and item accessors of 
Ref,EventandFieldDiffContainer - Deprecate 
Event.get_onein favor ofEvent.get_field. - Deprecate 
Event.get_allin favor ofEvent.get_fields. 
minos-microservice-common
- Big performance improvement related with a caching layer over type hint comparisons at 
TypeHintComparator. - Improve attribute and item accessors of 
Model. - Fix bug related with casting from 
dicttoModelinstances on field setters. 
minos-microservice-cqrs
- Update the 
resolve_references: booldefault value toFalsedefined atPreEventHandler.handle. - Improve error messages of  
PreEventHandler. 
minos-microservice-networks
- Improve error messages of  
BrokerDispatcher,RestHandlerandPeriodicTask. 
minos-microservice-saga
- Improve attribute and item accessors of 
SagaContext. 
v0.5.2
Changelog
minos-microservice-aggregate
- Add 
Condition.LIKEoperator to be used with thefindmethod fromSnapshotRepository. - Add 
get_allmethod toRootEntityandSnapshotRepositoryto get all the stored instance on the repository. - Rename 
SnapshotServicecommand topics to avoid collisions with application-level topics. - Rename 
TransactionServicecommand topics to avoid collisions with application-level topics. - Minor changes.
 
minos-microservice-common
- Add 
query_repositorysection toMinosConfig. - Minor changes.
 
minos-microservice-networks
- Fix bug related with enroute decorator collisions in which the 
MinosRedefinedEnrouteDecoratorExceptionwas not raised. - Minor changes.
 
minos-microservice-saga
- Add compatibility to 
minos-microservice-aggregate~=0.5.2. - Minor changes.
 
v0.5.1
Changelog
minos-microservice-aggregate
- Fix bug related with dependency specification.
 
minos-microservice-cqrs
- Fix bug related with dependency specification.
 
minos-microservice-networks
- Fix bug related with dependency specification.
 
minos-microservice-saga
- Fix bug related with dependency specification.
 
minos-broker-kafka
- Fix bug related with dependency specification.
 
minos-discovery-minos
- Fix bug related with dependency specification.
 
v0.5.0
Changelog
minos-microservice-aggregate
- Rename 
AggregateasRootEntity. - Rename 
AggregateRefasExternalEntity. - Rename 
ModelRefasRef. - Rename 
AggregateDiffasEvent. - Create the 
Aggregatebase class, with the purpose to move the business logic from theminos.cqrs.CommandServiceto this brand-new class. - Refactor internal module hierarchy.
 - Minor changes.
 
minos-microservice-common
- Minor changes.
 
minos-microservice-cqrs
- Minor changes.
 
minos-microservice-networks
- Extract 
kafkarelated code to theminos-broker-kafkaplugin. - Extract 
minos-discoveryrelated code to theminos-discovery-minosplugin. - Minor changes.
 
minos-microservice-saga
- Minor changes.
 
minos-broker-kafka
- Migrate 
PostgreSqlQueuedKafkaBrokerPublisherfromminos-microservice-networks. - Migrate 
InMemoryQueuedKafkaBrokerPublisherfromminos-microservice-networks. - Migrate 
KafkaBrokerPublisherfromminos-microservice-networks. - Migrate 
KafkaBrokerSubscriberfromminos-microservice-networks. - Migrate 
KafkaBrokerSubscriberBuilderfromminos-microservice-networks. - Migrate 
PostgreSqlQueuedKafkaBrokerSubscriberBuilderfromminos-microservice-networks. - Migrate 
InMemoryQueuedKafkaBrokerSubscriberBuilderfromminos-microservice-networks. - Minor changes.
 
minos-discovery-minos
- Migrate 
MinosDiscoveryClientfromminos-microservice-networks. - Minor changes.
 
v0.4.1
Changelog
minos-microservice-aggregate
- Update 
README.md. 
minos-microservice-common
- Update 
README.md. 
minos-microservice-cqrs
- Update 
README.md. 
minos-microservice-networks
- Update 
README.md. 
minos-microservice-saga
- Update 
README.md. 
v0.4.0
Changelog
minos-microservice-aggregate
- Be compatible with 
minos-microservice-common~=0.4.0. - Be compatible with 
minos-microservice-networks~=0.4.0. 
minos-microservice-common
- Add waiting time before destroying the 
minos.common.MinosPoolacquired instances. 
minos-microservice-cqrs
- Be compatible with 
minos-microservice-common~=0.4.0. - Be compatible with 
minos-microservice-aggregate~=0.4.0. - Be compatible with 
minos-microservice-networks~=0.4.0. 
minos-microservice-networks
- Add 
BrokerDispatcherto break the direct relationship betweenBrokerHandlerandBrokerPublisher. - Add 
content_typeargument toRestResponse's constructor to be able to retrieve the result in a format other thanjson. - Add versioning to 
BrokerMessageand implement theBrokerMessageV1andBrokerMessageV1Payloadto be able to work with different microservice versions in the future. - Refactor 
BrokerPublisher.sendmethod to follow the(message: BrokerMessage) -> Noneprototype instead of a big list of arguments referred to the messages attributes. - Refactor 
brokers.publishersmodule.- Add 
BrokerPublisherbase class with asend(message: BrokerMessage) -> Awaitable[None]method. - Add 
BrokerPublisherQueuebase class with anenqueue(message: BrokerMessage) -> Awaitable[None]and adequeue() -> Awaitable[BrokerMessage]methods. - Add 
KafkaBrokerPublisheras thekafka's implementation of the publisher. - Add 
PostgreSqlBrokerPublisherQueueas thepostgresimplementation of the publisher's message queue. 
 - Add 
 - Refactor 
brokers.handlers.- Add 
BrokerSubscriberbase class with areceive() -> Awaitable[BrokerMessage]method. - Add 
BrokerSubscriberQueuebase class with anenqueue(message: BrokerMessage) -> Awaitable[None]and adequeue() -> Awaitable[BrokerMessage]methods. - Add 
KafkaBrokerSubscriberas thekafka's implementation of the subscriber. - Add 
PostgreSqlBrokerSubscriberQueueas thepostgresimplementation of the subscriber's message queue. 
 - Add 
 - Refactor 
DynamicBrokerandDynamicBrokerPoolasBrokerClientandBrokerClientPool. The newBrokerClienthas asend(message: BrokerMessage) -> Awaitable[None]method for sending messages and areceive() -> Awaitable[BrokerMessage]to receive them. - Implement a builder pattern on 
BrokerPublisher - Be compatible with 
minos-microservice-common~=0.4.0. 
minos-microservice-saga
- Be compatible with 
minos-microservice-common~=0.4.0. - Be compatible with 
minos-microservice-aggregate~=0.4.0. - Be compatible with 
minos-microservice-networks~=0.4.0.