- Updated dependencies (#82)
- Replaced black with ruff format and updated various linter configs (#82)
- Use attrs in the EsmeClient (#85)
- added a stream publisher to ensure that one pdu is sent at a time (#83)
- BREAKING CHANGE: If the
VUMI_CONFIG_FILE
is unset, we no longer look for a default config file. If the envvar is set but the file can't be found, we now exit with an error instead of silently using an empty config (#78)
- Worker class loading now has better reporting for import-related errors, and no longer masks errors from within the module(s) being imported. (#77, #81)
- Correctly parse message timestamps with a trailing Z UTC indicator (#74)
- Decode potential delivery reports as latin1 to prevent encoding-related crashes (#71)
- Limit toaddressrouter to one mapping match. This is a breaking change because of a new config format for the ToAddressRouter (#62)
Add static reply application (#59, #61)
- Add default app to ToAddressRouter (#60)
- Fix connector startup error (#53, #54)
- Drop support for Python 3.9 and 3.10 (#55)
- Update dependencies and add support for Python 3.12 (#56, #57)
- Switch to timezone-aware objects for message timestamps (#58)
- Models (#1)
- To address router (#2, #14, #17)
- Configuration (#4)
- CLI (#5, #6)
- Sentry integration (#7)
- Documentation (#8)
- HTTP RPC base transport (#10, #13)
- AAT USSD transport (#11)
- Docker build (#15)
- Healthcheck endpoint (#16)
- SMPP transport (#19, #20, #21, #23, #24, #25, #26)
- Docs build (#12)
- AAT USSD callback URL (#18)
- Improved coverage reporting (#36)
- Clean up AMQP resources after tests (#37)
- Connector abstraction (#3)
- Concurrent message processing (#9)
- Update dependancies (#28, #29, #32)
- Refactor config handling (#33)
- Switch to ruff for linting (#34)
- Type-related cleanups (#35)
- Switch to tag and branch-based image tags (#38)