- [Changed] Manage all Google Cloud Pub/Sub library connection exceptions (#283)
- [Changed] Require at least google-cloud-pubsub>=2.7.1 (#281)
- [Added] Add a setting CLIENT_OPTIONS for Pub/Sub clients (#274)
- [Changed] Use api_endpoint from CLIENT_OPTIONS to check loss of network connectivity(#275)
- [Fixed] Restart worker when get in an inconsistent status due a loss of network connectivity (#267)
- [Added] Allow --third-party-subscriptions argument in rele-cli run command for stand alone workers (#269)
- [Added] Add verbosity to VerboseLoggingMiddleware's hooks (#240)
- [Added] Check if subs have same memory address (#257)
- [Changed] Detect subs module at any folder level (#255)
- [Added] Allow updating retry policy to existing subscriptions. (#248)
- [Added] Add configuration for setting the storage region for pubsub messages (#247)
- [Changed] Use custom encoder in logging middleware. (#247)
- [Added] Add retry policy to subscriptions. (#222)
- [Added] Add PUBLISHER_BLOCKING setting
- [Changed] Provide a subscription_message argument of a consistent data type to all hooks
- [Changed] Fix rendering of links in docs
- [Changed] Add improvements for local development
- [Added] Implement auto restart of the consumption when futures are done or cancelled. (#226)
- [Added] Add filter expressions to subscriptions. (#207)
- [Modified] Fixed bug in the post-publish-failure VerboseLoggingMiddleware hook. (#220)
- [Added] Added a VerboseLoggingMiddleware that does not truncate mesage payload. (#218)
- GC Project Id & Windows support (#215)
- [CHANGED] TimeotError from publisher (#212)
- Added filter_subs_by setting in documentation (#208)
- Automatic topic creation (#206)
- Log post publish success (#204)
- Do not define default_app_config, it's deprecated (#199)
- Do not implement deprecated middlewares in the base class (#200)
- Google Pubsub 2.0 Compat (#192)
- Add validations to the sub decorator (#189)
- Add new post_publish_hook and deprecate the old one (#190)
- Discover and load settings when publishing (#188)
- Fix #180: Raise error when the config loads a repeated subscription (#187)
- BREAKING: Remove GC_PROJECT_ID (#183)
- BREAKING: Remove GC_CREDENTIALS (#174)
- Add changelog to the docs site (#179)
- Catch TimeoutError and run post_publish_failure when blocking (#172)
- Deprecate GC_PROJECT_ID setting (#178)
- Add documentation for class based subscriptions (#169)
- Deprecate GC_CREDENTIALS setting (#173)
- GC_CREDENTIALS_PATH setting option (#170)
- Traverse all packages to autodiscover all subs.py modules (#167)
- Auto-discovery of class based subscriptions (#168)
- Added
--settings
path option in CLI (#166) - Added isort linting (#164)
- CLI feature (#160)
- Documentation Enhancements (#158, #155, #162)
- Testing Improvements (#154, #157)
- Adjust default THREADS_PER_SUBSCRIPTION (#152)
- Add unrecoverable_middleware (#150)
- Allow multiple filters (#148)
- Configure timeout from .publish() (#143)
- Dont crash when subscription topic does not exist (#142)
- Ack messages when data not json serializable (#141)
- Use ThreadScheduler instead of ThreadPoolExecutor (#145)
- Flask support via middleware (#127)
- Add message attributes to metrics log (#128)
- Specify number of threads per subscriber with Subscription ThreadPoolExecutor (#139)
- Publishing timeout while blocking (#137)
- Clean up rele.config.setup + Worker() init (#132)
- Fix runrele command
- Worker run method (#118)
- Add kwargs to setup method passed through to middleware (#123)
- Add missing worker middleware hooks (#121)
- Add 3.8 support
- More Documentation
- BREAKING: Remove Django as a dependency (#95)
- More documentation
- BREAKING: Remove drf as a dependency (#91)
- Add message as a parameter for middleware hooks (#99)
- Check setting.CONN_MAX_AGE and warn when not 0 (#97)
- More documentation
python manage.py showsubscriptions
command- Configurable ENCODER setting
- Move DEFAULT_ACK_DEADLINE to the RELE config
- More documentation
- Ability to install app only with rele
- Define default filter_by in settings.RELE
- Set
DEFAULT_ACK_DEADLINE
(#49) - Filter by message attributes (#66)
- BREAKING: All Relé settings are defined in a dict (#60)
Old structure:
from google.oauth2 import service_account
RELE_GC_CREDENTIALS = service_account.Credentials.from_service_account_file(
'rele/settings/dummy-credentials.json'
)
RELE_GC_PROJECT_ID = 'dummy-project-id'
New structure:
from google.oauth2 import service_account
RELE = {
'GC_CREDENTIALS': service_account.Credentials.from_service_account_file(
'rele/settings/dummy-credentials.json'
),
'GC_PROJECT_ID': 'dummy-project-id',
'MIDDLEWARE': [
'rele.contrib.LoggingMiddleware',
'rele.contrib.DjangoDBMiddleware',
],
'SUB_PREFIX': 'mysubprefix',
'APP_NAME': 'myappname',
}
rele.contrib.middleware
(#55)- Prefix argument in sub decorator (#47)
- Add timestamp to the published message (#42)
- BREAKING: Explicit publisher and subscriber configuration (#43)
- Sphinx documentation (#27, #34, #40, #41)
- Contributing guidelines (#32)
- Add prometheus metrics key to logs (#16 - #20, #22, #23)
- Fix JSON serialization when publishing (#25)
- Ability to run in emulator mode (#12)
- Add Travis-CI builds (#10)
- More friendly global publish (#11)
- Non-blocking behaviour when publishing by default (#6)
- Initial version