Changelog
minos-microservice-aggregate
- Replace
dependency-injector
's injection classes by the ones provided by the minos.common.injections
module.
- Be compatible with latest
minos.common.Config
API.
minos-microservice-common
- Add
Config
with support for config versioning.
- Add
ConfigV1
as the class that supports the V1 config file.
- Add
ConfigV2
as the class that supports the V1 config file.
- Deprecate
MinosConfig
in favor of Config
.
- Add
get_internal_modules
function.
- Add
Injectable
decorator to provide a way to set a class as injectable.
- Add
InjectableMixin
class that provides the necessary methods to be injectable.
- Add
Inject
decorator to provide a way to inject variables on functions based on types.
- Add
LockPool
base class as the base class for lock pools.
- Add
Object
base class with the purpose to avoid issues related with multi-inheritance and mixins.
- Add
Port
base class as the base class for ports.
- Add
CircuitBreakerMixin
class to provide circuit breaker functionalities.
- Add
SetupMixin
class as a replacement of the MinosSetup
class.
minos-microservice-cqrs
- Replace
dependency-injector
's injection classes by the ones provided by the minos.common.injections
module.
- Be compatible with latest
minos.common.Config
API.
minos-microservice-networks
- Add
BrokerPort
class and deprecate BrokerHandlerService
.
- Add
BrokerPublisherBuilder
to ease the building of BrokerPublisher
instances.
- Add
FilteredBrokerSubscriber
implemented as a Chain-of-Responsibility Design Pattern to be able to filter BrokerMessage
instances during subscription.
- Add
BrokerSubscriberValidator
and BrokerSubscriberDuplicateValidator
base classes and the InMemoryBrokerSubscriberDuplicateValidator
and PostgreSqlBrokerSubscriberDuplicateValidator
implementations.
- Rename
EnrouteAnalyzer
as EnrouteCollector
.
- Rename
EnrouteBuilder
as EnrouteFactory
.
- Add
HttpEnrouteDecorator
.
- Remove
KongDiscoveryClient
class (there are plans to re-include it as an external plugin in the future).
- Add
HttpConnector
as the base class that connects to the http
server.
- Add
HttpAdapter
as the class that coordinates HttpRouter
instances.
- Add
HttpPort
class and deprecate RestService
.
- Add
HttpRequest
, HttpResponse
and HttpResponseException
as request/response wrappers of the http
server.
- Add
Router
, HttpRouter
, RestHttpRouter
, BrokerRouter
and PeriodicRouter
as the classes that route requests to the corresponding services' handling functions
- Add
PeriodicPort
class and deprecate PeriodicTaskSchedulerService
.
- Add
CronTab
class to support "@reboot"
pattern.
- Add
OpenAPIService
and AsynAPIService
classes as the services that provide openapi
and asynciapi
specifications of the microservice.
- Add
SystemService
as the service that implements System Health checker.
- Replace
dependency-injector
's injection classes by the ones provided by the minos.common.injections
module.
- Be compatible with latest
minos.common.Config
API.
minos-microservice-saga
- Replace
dependency-injector
's injection classes by the ones provided by the minos.common.injections
module.
- Be compatible with latest
minos.common.Config
API.
minos-broker-kafka
- Add
KafkaCircuitBreakerMixin
to integrate minos.common.CircuitBreakerMixin
into the KafkaBrokerPublisher
and KafkaBrokerSubscriber
classes to be tolerant to connection failures to kafka
.
- Add
KafkaBrokerPublisherBuilder
and KafkaBrokerBuilderMixin
classes to ease the building process.
minos-broker-rabbitmq
- Add
RabbitMQBrokerPublisher
as the implementation of the rabbitmq
publisher.
- Add
RabbitMQBrokerSubscriber
as the implementation of the rabbitmq
subscriber.
- Add
RabbitMQBrokerPublisherBuilder
, RabbitMQBrokerSubscriberBuilder
and RabbitMQBrokerBuilderMixin
classes to ease the building process.
minos-discovery-minos
- Integrate
minos.common.CircuitBreakerMixin
into the MinosDiscoveryClient
to be tolerant to connection failures to minos-discovery
.
minos-http-aiohttp
- Add
AioHttpConnector
as the implementation of the aiohttp
server.
- Add
AioHttpRequest
, AioHttpResponse
and AioHttpResponseException
classes as the request/response wrappers for aiohttp
.
minos-router-graphql
- Add
GraphQLSchemaBuilder
to build the graphql
's schema.
- Add
GraphQlHandler
class to handle graphql
requests.
- Add
GraphQlHttpRouter
class to route http
request to graphql
.
- Add
GraphQlEnroute
, GraphQlEnrouteDecorator
, GraphQlCommandEnrouteDecorator
and GraphQlQueryEnrouteDecorator
decorators.
Update Guide
From 0.5.x
- Add
@Injectable
decorator to classes that injections:
from minos.common import Injectable
@Injectable("THE_INJECTION_NAME")
class MyInjectableClass:
...
- Add
minos-http-aiohttp
package:
poetry add minos-http-aiohttp@^0.6
- Add
HttpConnector
instance to service.injections
section of config.yml
file:
...
service:
injections:
http_connector: minos.plugins.aiohttp.AioHttpConnector
...
...
...
- Add
routers
section to config.yml
file:
...
routers:
- minos.networks.BrokerRouter
- minos.networks.PeriodicRouter
- minos.networks.RestHttpRouter
...
- Update
minos.common.Config
usages according to the new provided API:
- Most common issues come from calls like
config.query_repository._asdict()
, that must be transformed to config.get_database_by_name("query")