All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
N/A
N/A
For consistency,
- Refactor post office APIs for sending single event request as "send_request".
- Update platform APIs for sending event request and parallel requests as "send_request" and "send_parallel_requests"
- Support multiple pub/sub cluster instances
- Added cloud connection life cycle service
N/A
Update to use python "f" string formatter
- Add tagging feature in EventEnvelope for compatibility with Node.js language pack.
- Improved exception handling for non-exist target service route when making RPC call.
Retired temp file log for logger as a cloud native best practice
Streamlined language connector transport protocol for compatibility with both Python and Node.js
Support deferred delivery in standalone mode
N/A
N/A
For unhandled exception, return exception class name and error message.
N/A
- Updated README and application.yml files
- Enhanced AsyncHttpRequest
N/A
N/A
Version sync up with parent Mercury parent
User application can provide its own application.yml
N/A
Minor refactoring for asyncio usage to Python 3.10.0
N/A
N/A
- For consistency, ObjectStreamIO refactored.
- ObjectStreamIO is used to create a new I/O stream.
- ObjectStreamWriter is used for writing to the output stream and ObjectStreamReader for reading the input stream.
N/A
N/A
Change default environment variable for language API key to 'LANGUAGE_PACK_KEY'
If secret key is not available, it will read the secret from /tmp/config/lang-api-key.txt
N/A
N/A
Update reserved tags for automatic payload segmentation protocol
N/A
N/A
Sync up version with parent Mercury project
N/A
N/A
Improved distributed trace - set the "from" address in EventEnvelope automatically.
N/A
N/A
objectstream.py - added transport for "bytes" in addition to dict, str, int, float and bool.
N/A
N/A
Sync up to parent project's version
- Application configuration is now stored in the resources folder as "application.yml".
- ConfigReader to parse YAML and JSON config files
- A convenient MultiLevelDict class for reading key-values using the dot-bracket notation (e.g. "my.config.key[0]")
- Support nested arrays in MultiLevelDict
constants.py
- Updated platform.py and connector.py to use ConfigReader
- Added package_data in setup.py
Native pub/sub examples
N/A
N/A
AsyncHttpRequest is a convenient class to read HTTP events from the rest-automation app.
N/A
N/A
- get_route() method is added to PostOffice so that current service can retrieve its own route name
- The route name of the current service is added to an outgoing event when the "from" field is not present
N/A
N/A
Sync up version number with main mercury project to support multi-tenancy for event streams.
N/A
N/A
N/A
Sync up version number with main mercury project
Distributed tracing feature
N/A
language pack API key obtained from environment variable
Sync up version number with main mercury project
N/A
N/A
N/A
Support discovery of multiple route in the updated po.exists
API
N/A
N/A
N/A
- Store-n-forward pub/sub API will be automatically enabled if the underlying cloud connector supports it. e.g. kafka
- ObjectStreamIO, a convenient wrapper class, to provide event stream I/O API.
- Object stream feature is now a standard feature instead of optional.
- Deferred delivery example in demo.py
- Add inactivity expiry timer to ObjectStreamIO so that house-keeper can clean up resources that are idle
N/A
Bug fix - update EventEnvelope with missing field "extra" which is used as additional routing information for language packs. This allows correct RPC routing between python applications via the language connector.
Version number sync up with main Mercury project.
N/A
N/A
First release. Version number sync up with main Mercury project.
N/A
N/A