-
async/await
-
complex argument and return value mapping
-
Message timestamps
-
json validation on sub and pub
-
Pagination for divergent/split messages
-
acknowledgments and requeues
-
fatal error queue after retries and delays (TTL and deadletter)
-
logging
-
transactions and correlation id
-
sub systems (not on the main bus)
-
improved exception handling
- elegant handling of ergo (vs component) application errors
-
robust rabbit connection management
-
kafka log stream source of truth
-
request response pattern
-
http gateway
-
Githooks
- lint
- version increase verification
- security scan
-
Make master branch readonly
-
Add instructions to README
-
introduce .ergo configuration
- segment by function reference (main.py:get_mileage)
-
separate invoker/invocable into input/output combination (think http gateway)
-
introduce unit tests pattern for components
-
introduce unit tests for ergo codebase itself
-
define input and output datastructure (instead of list)
-
make sure variable definitions are typed
-
BUG: use of absolute folder for reference doesn't work
-
restructure project to avoid repetition of ergo.
-
add a test to verify ergo run product 4.3 3.2 is working
-
improved automation around versioning
-
combine ergo dependencies into single ergo package
-
[!] dynamic routing in cli and shell invocation
-
Transaction management
- signaling end of stream
- stream ordering
-
Topic wildcarding, sorting, parameterized carryover
-
Structured logging around low level execution and messages
-
Augment topics with lowlevel metadata (to:serviceX, from:serviceY, ip_address, etc.)
-
Support providing a readable name in configuration for rabbit queue
-
Dynamic routing
-
signature binding
-
sample component for ergo lib
-
documentation
-
verification of http interface
-
switch to .ergo for ergo graph
-
other executors: stdio, call stack, http (revisited)
-
node.js support
-
instrumentation/monitoring/datadog/new relic
-
metadata/data protocol
-
unit tests (ergo)
-
component unit testing framework
-
logging
-
transactions/correlation/lineage
-
request/response
-
transactions
-
data protocol version management
-
one-click deployment
-
convergence pattern
-
error retries/handling
-
stack trace
-
RPC
-
http gateway
-
event streams
-
deployment scheme into ergo library
-
payload validation (input and output)
-
payload serialization (adapters)
-
config callbacks as values
-
payload, topic, class clean up
-
elimination of pure helper functions
-
asyncio clean up (done the way it was done in node.js at sstk - [ ] single entry point async)
-
topic parameterization
-
topic parameterizationpass-through
-
topic parameterizationexpansion
-
topic parameterizationcompression
-
topic parameterizationinbound boolean (and/or) (array of topics inbound)
-
topic outbound multiple
-
specific consumers in clusters (web-socket example)
-
return value mapping/binding
-
message timestamps (and other metadata)
-
acknowledgments and requeues and long running operations
-
reintroduction of git hooks
-
linting, typing mechanics
-
overcome strong typing oversights (tech debt) - re-type everything