Skip to content

v0.7.0

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 12 May 07:16
· 23 commits to 0.7.x since this release
5c647f0

Changelog

minos-microservice-aggregate

  • Rename PostgreSqlEventRepository as DatabaseEventRepository.
  • Add EventDatabaseOperationFactory as the abstract class to be implemented by database clients.
  • Move PostgreSqlSnapshotQueryBuilder to the minos-database-aiopg package.
  • Rename PostgreSqlSnapshotRepository as DatabaseSnapshotRepository.
  • Add SnapshotDatabaseOperationFactory as the abstract class to be implemented by database clients.
  • Remove PostgreSqlSnapshotReader, PostgreSqlSnapshotSetup and PostgreSqlSnapshotWriter.
  • Rename PostgreSqlTransactionRepository as DatabaseTransactionRepository.
  • Add TransactionDatabaseOperationFactory as the abstract class to be implemented by database clients.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-microservice-common

  • Add DatabaseClient, DatabaseClientBuilder as the base client to execute operation over a database and the builder class.
  • Rename PostgreSqlPool as DatabaseClientPool.
  • Add DatabaseOperation, ComposedDatabaseOperation and DatabaseOperationFactory as the classes to build operations to be executed over the database.
  • Add ConnectionException, DatabaseClientException, IntegrityException, ProgrammingException as the base exceptions to be raised by the DatabaseClient.
  • Rename PostgreSqlLock and PostgreSqlLockPool as DatabaseLock and DatabaseLockPool.
  • Rename PostgreSqlMinosDatabase as DatabaseMixin.
  • Add LockDatabaseOperationFactory as the base operation factory for locking operations.
  • Add ManagementDatabaseOperationFactory as the base operation factory for management operations (creation, deletion, etc.).
  • Add TypeHintParser to unify ModelType's type hints.
  • Add PoolException as the base exception for pools.
  • Add PoolFactory as the class with the purpose to build and manage Pool instances.
  • Remove MinosStorage and move MinosStorageLmdb to the minos-database-lmdb package.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-microservice-cqrs

  • Minor improvements.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-microservice-networks

  • Rename PostgreSqlBrokerPublisherQueue as DatabaseBrokerPublisherQueue.
  • Rename PostgreSqlBrokerPublisherQueueQueryFactory as BrokerPublisherQueueDatabaseOperationFactory.
  • Rename PostgreSqlBrokerQueue as DatabaseBrokerQueue.
  • Rename PostgreSqlBrokerQueueBuilder as DatabaseBrokerQueueBuilder.
  • Rename PostgreSqlBrokerSubscriberDuplicateValidator as DatabaseBrokerSubscriberDuplicateValidator.
  • Rename PostgreSqlBrokerSubscriberDuplicateValidatorBuilder as DatabaseBrokerSubscriberDuplicateValidatorBuilder.
  • Rename PostgreSqlBrokerSubscriberDuplicateValidatorQueryFactory as BrokerSubscriberDuplicateValidatorDatabaseOperationFactory.
  • Rename PostgreSqlBrokerSubscriberQueue as DatabaseBrokerSubscriberQueue.
  • Rename PostgreSqlBrokerSubscriberQueueBuilder as DatabaseBrokerSubscriberQueueBuilder.
  • Rename PostgreSqlBrokerSubscriberQueueQueryFactory as BrokerSubscriberQueueDatabaseOperationFactory.
  • Move Builder to the minos-microservice-common package.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-microservice-saga

  • Rename SagaExecutionStorage as SagaExecutionRepository.
  • Add DatabaseSagaExecutionRepository as the implementation of the SagaExecutionRepository over a database.
  • Add SagaExecutionDatabaseOperationFactory as the base operation factory to store saga executions.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-broker-kafka

  • Remove InMemoryQueuedKafkaBrokerPublisher, PostgreSqlQueuedKafkaBrokerPublisher, InMemoryQueuedKafkaBrokerSubscriberBuilder and PostgreSqlQueuedKafkaBrokerSubscriberBuilder in favor of the use of minos.networks.BrokerPublisherBuilder and minos.networks.BrokerSubscriberBuilder.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-broker-rabbitmq

  • Minor improvements.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-database-aiopg

  • Add AiopgDatabaseClient as the minos.common.DatabaseClient implementation for postgres.
  • Add AiopgDatabaseOperation as the minos.common.DatabaseOperation implementation for postgres.
  • Add AiopgLockDatabaseOperationFactory as the minos.common.LockDatabaseOperationFactory implementation for postgres.
  • Add AiopgManagementDatabaseOperationFactory as the minos.common.ManagementDatabaseOperationFactory implementation for postgres.
  • Add AiopgBrokerPublisherQueueDatabaseOperationFactory as the minos.networks.BrokerPublisherQueueDatabaseOperationFactory implementation for postgres.
  • Add AiopgBrokerQueueDatabaseOperationFactory as the minos.networks.BrokerQueueDatabaseOperationFactory implementation for postgres.
  • Add AiopgBrokerSubscriberDuplicateValidatorDatabaseOperationFactory as the minos.networks.BrokerSubscriberDuplicateValidatorDatabaseOperationFactory implementation for postgres.
  • Add AiopgBrokerSubscriberQueueDatabaseOperationFactory as the minos.networks.BrokerSubscriberQueueDatabaseOperationFactory implementation for postgres.
  • Add AiopgEventDatabaseOperationFactory as the minos.aggregate.EventDatabaseOperationFactory implementation for postgres.
  • Add AiopgSnapshotDatabaseOperationFactory as the minos.aggregate.SnapshotDatabaseOperationFactory implementation for postgres.
  • Add AiopgSnapshotQueryDatabaseOperationBuilder to ease the complex snapshot's query building for postgres.
  • Add AiopgTransactionDatabaseOperationFactory as the minos.aggregate.TransactionDatabaseOperationFactory implementation for postgres.

minos-database-lmdb

  • Add LmdbDatabaseClient as the minos.common.DatabaseClient implementation for lmdb.
  • Add LmdbDatabaseOperation and LmdbDatabaseOperationType classes to define minos.common.DatabaseOperations compatible with the lmdb database.
  • Add LmdbSagaExecutionDatabaseOperationFactory as the minos.saga.SagaExecutionDatabaseOperationFactory implementation for lmdb.

minos-discovery-kong

  • Add KongClient as a class to interact with the kong API Gateway.
  • Add KongDiscoveryClient as the minos.networks.DiscoveryClient implementation for the kong API Gateway.
  • Add middleware function to automatically extract the user identifier from request's header variable set by the kong API Gateway.

minos-discovery-minos

  • Minor improvements.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-http-aiohttp

  • Now AioHttpRequest's headers attribute is mutable.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

minos-router-graphql

  • Minor improvements.
  • Unify documentation building pipeline across all minos-python packages.
  • Fix documentation building warnings.
  • Fix bug related with package building and additional files like AUTHORS.md, HISTORY.md, etc.

Update Guide

From 0.6.x

  • Add the following packages to pyproject.toml:
    • minos-database-aiopg
    • minos-database-lmdb
  • Add the following changes to config.yml:
    • Add client to database-releated sections:
      • In default, repository, snapshot, broker, etc. add: client: minos.plugins.aiopg.AiopgDatabaseClient
      • In saga or saga.storage add: client: minos.plugins.lmdb.LmdbDatabaseClient
    • Replace the following classes:
      • minos.common.PostgreSqlMinosDatabase -> minos.common.DatabaseMixin
      • minos.common.PostgreSqlLockPool -> minos.common.DatabaseLockPool
      • minos.common.PostgreSqlPool -> minos.common.DatabaseClientPool
      • minos.networks.PostgreSqlBrokerPublisherQueue -> minos.networks.DatabaseBrokerPublisherQueue
      • minos.networks.PostgreSqlBrokerSubscriberQueue -> minos.networks.DatabaseBrokerSubscriberQueue
      • minos.networks.PostgreSqlBrokerSubscriberDuplicateValidator -> minos.networks.DatabaseBrokerSubscriberDuplicateValidator
      • minos.aggregate.PostgreSqlTransactionRepository -> minos.aggregate.DatabaseTransactionRepository
      • minos.aggregate.PostgreSqlEventRepository -> minos.aggregate.DatabaseEventRepository
      • minos.aggregate.PostgreSqlSnapshotRepository -> minos.aggregate.DatabaseSnapshotRepository
      • minos.plugins.kafka.InMemoryQueuedKafkaBrokerPublisher -> minos.plugins.kafka.KafkaBrokerPublisher
      • minos.plugins.kafka.InMemoryQueuedKafkaBrokerSubscriberBuilder -> minos.plugins.kafka.KafkaBrokerSubscriberBuilder
      • minos.plugins.kafka.PostgreSqlQueuedKafkaBrokerPublisher -> minos.plugins.kafka.KafkaBrokerPublisher
      • minos.plugins.kafka.PostgreSqlQueuedKafkaBrokerSubscriberBuilder -> minos.plugins.kafka.KafkaBrokerSubscriberBuilder