- TransferCodec, TransferBean
- added debug property "name" for error messages
- ApiEndpoint
- minor error handling fix
- Filter
- isIn empty list fix
- ApiService
- ApiRequestException default error response json
- JWTSession
- convenience accessors to JWT payload
- EventHubService
- fixed error handling
- AmqpBrokerService
- default heartbeat period 3 seconds
- CLI
- fixed docker compose command
- EventHubService
- fixed bad state channel reconnect
- Added HttpClient / HttpServer as multi-version HTTP implementations
- ApiService
- added HTTP/2 support (using HttpServer)
- added protocol negotiation
- removed legacy auth system
- ByteStreamResponse / FileResponse
- Content-Disposition is transmitted regardless of availability of filename
- RestClient
- added HTTP/2 support (using HttpClient)
- header values are now List instead of String
- URL-params are now encoded using RoutePattern
- added HttpAuth, BearerAuth, BasicAuth
- Persistence
- added any, first, count as extensions to DatabaseContext
- added any, first, count, mutate operations to CRUDRepository
- added context parameter to all CRUDRepository methods to allow compositing
- Broker
- AmqpBrokerService
- added heartbeat period support (dart_ampq ^0.2.3)
- added EventHubs
- Utils
- added MIME type / extension mapper
- added Collection Library
- AmqpBrokerService
- Config
- moved all ConfigService related classes to datahub/services.dart
- BaseService
- initialize and shutdown are not abstract anymore (removed the requirement to override them)
- KeyService / JWT
- added JWT class, KeyService for public key caching
- TransferEncoding
- rework of codec system
- ServiceHost
- ServiceHost is now ApplicationHost
- added TestHost
- with test methods for unit testing
- CLI
- added test command
- S3Service, MinioService
- ApiService
- fixed internal error when handling request not matching base path
- DatabaseContext.query
- inner and outer joins supported with nullable / non-null return types
- DataBean
- reduced complexity on abstract classes
- changed type constraints on DatabaseContext methods
- DatabaseContext.query
- can now return DAOs from joins (no longer constrained to DataBean as source)
- added Duration to transfer codec (represented as milliseconds)
- DataHub CLI
- fixed build-args feature
- DataHub CLI
- fixed build-args feature
- DataHub CLI
- added build-args support
- ApiRequest
- added getBody for transfer objects as request body
- fixed Repository transaction return value
- fixed SQL building for postgres (name escape bugs)
- fixed rest_client with Map<String, dynamic> / List
- fixed Repository (missing initializeSchema)
- updated boost dependency
- added rest_client library
- use "Authorization" header instead of "session-token"
- moved decodeTyped to utils library
- added List, List, List to decodeTyped
- ConfigService.fetch / BaseService.config now accepts nullable types
- Transaction Support
- added DatabaseContext
- database migrations run in transactions
- added Repository and CRUDRepository
- added force flag to datahub create (CLI)
- fixed dart pub get call in CLI
- added DataHub CLI
- fixed dependencies
- Started datahub package
- All code generation is now in datahub_codegen