Skip to content

Latest commit

 

History

History
160 lines (114 loc) · 8.97 KB

CHANGELOG.md

File metadata and controls

160 lines (114 loc) · 8.97 KB

naz changelog:

most recent version is listed first.

version: v0.8.1

  • Fix a previously skipped test: #209
  • Reconnect after unbind_and_disconnect in recieve_data lifecycle: #212
  • When unbinding and disconnecting from SMSC, set SMPP session state to CLOSED: #213

version: v0.8.0

  • Bugfix - RuntimeError: Cannot call write() after write_eof(): #208
  • support Smpp Optional Tags in submit_sm: #202, #207
  • Fixed some flaky tests: #204, #206
  • Add ability to use different codecs for different messages while using the same naz client: #201
    With this change, message encoding is now a property of the message and not the client.

version: v0.7.9

  • During shutdown, only close the writer without closing the reader end of the transport: #198

version: v0.7.8

  • Rename naz.Client.rateLimiter to naz.Client.rate_limiter: #195
    This was done so as to maintain consistency with other naz.Client attributes.
  • Fix a bug where naz was not formatting 1octet integers correctly : #196

version: v0.7.7

  • support python version 3.8: #186

version: v0.7.6

  • Add ability to supply more submit_sm parameters when enquiuing submit_sm: #193

version: v0.7.5

  • Rename naz.nazcodec.BaseNazCodec to naz.codec.BaseCodec: #191
  • Rename naz.Client.codec_class to naz.Client.codec: #191
  • Add ability for naz.log.SimpleLogger to render logs as a python dictionary: #191
  • BugFix, data_coding should not be applied to all fields that are of type C-octet string: #190
  • Have the naz messsage protocol only use utf8 for encoding/decoding: #190

version: v0.7.4

  • Fix a bug that prevented enquire_link and deliver_sm from been sent: #179
  • Enforce naz message protocol in code: #179
  • make naz.Client.logger to be a python logging.Handler: #181
  • carry out fuzzy testing: #178
  • re-run benchmarks: #182

version: v0.7.3

  • make naz.SimpleCorrelater.delete_after_ttl() private: #172
  • rename naz.broker.BaseOutboundQueue to naz.broker.BaseBroker: #174
    this is the more idiomatic name for what it is.
  • re-run benchmarks after renmaing Queue to Broker: #176

version: v0.7.2

  • fix infinite loop bug, which could occur while re-establishing connection & re-binding to SMSC: #171

version: v0.7.1

  • add ability to start naz even when SMSC is down: #168
    this may be important when you want to deploy naz when the mno/SMSC is down and you want naz to automatically connect when the SMSC comes back online.

version: v0.7.0

  • Use python 3.7 since it has better async/await support: #166

version: v0.6.8

  • add target level to Breachandler: #163

version: v0.6.7

  • make available to hooks the raw pdu as sent/received to/from SMSC: #159
  • rename the naz.hooks.BaseHook methods: #159 The new names are more correct and indicate what is actually taking place.
  • use github actions for CI: #162
  • Add heartbeat to BreachHandler: #161

version: v0.6.6

  • make sure that naz reads exactly the first 4bytes of an smpp header: #153
    • if naz is unable to read exactly those bytes, it unbinds and closes the connection
    • this is so as to ensure that naz behaves correctly and does not enter into an inconsistent state.
  • make sire that naz reads exacly the first 16bytes of the smpp header: #155
    • this builds on the earlier work but now naz takes it a step further and will unbind & close connection if it is unable to read the entire SMPP header
    • this is done to prevent inconsistency and also to try and be faithful to the smpp spec.
  • enhance type annotations of naz.log: #156

version: v0.6.5

  • Simplify Breach log handler: #152

version: v0.6.4

  • added a logging BreachHandler: #149
  • renamed naz.logger to naz.log: #150
  • fix documentation styling: #151

version: v0.6.3

  • added static analysis support using pytype: #148

version: v0.6.2

  • If naz were to encounter an SMPP protocol error, it now bails early by unbinding and closing connection: #147

version: v0.6.1

  • all the changes in v0.6.0-beta.1
  • fix a number of logging issues: #105
  • cleanly handle termination signals like SIGTERM: #106
  • validate naz.Client arguments: #108
  • remove ability to bring your own eventloop: #111
  • make naz more fault tolerant: #113
    • naz now has a configurable timeout when trying to connect to SMSC
    • naz will now be able to detect when the connection to SMSC is disconnected and will attempt to re-connect & re-bind
    • bugfix; asyncio.streams.StreamWriter.drain should not be called concurrently by multiple coroutines
    • when shutting down, naz now tries to make sure that write buffers are properly flushed.
  • replace naz json config file with a python file: #123
  • bugfix: naz would attempt to send messages(submit_sm) out before it had even connected to SMSC: #124
  • added naz benchmarks and related fixes that came from the benchmark runs: #127
    • when smsc returns ESME_RMSGQFUL(message queue is full), naz will now call the throttling handler.
    • fixed a potential memory leak bug in naz.correlater.SimpleCorrelater
    • added a configurable connection_timeout which is the duration that naz will wait, for connection related activities with SMSC, before timing out.
    • naz is now able to re-establish connection and re-bind if the connection between it and SMSC is disconnected.
  • renamed connection_timeout to socket_timeout: #141
  • added benchmarks results: #141
  • updated documentation and moved it to komuw.github.io/naz; #146

version: v0.6.0-beta.1

  • Bug fix: #98
    the way naz was handling correlations was:

    • when sending submit_sm we save the sequence_number
    • when we get submit_sm_resp we use its sequence_number and look it up from Correlater
    • when we get a deliver_sm request, we use its sequence_number and look it up from Correlater

    The way naz now does it after the fix is;

    • when sending submit_sm we save the sequence_number
    • when we get submit_sm_resp we lookup sequence_number and use it for correlation
    • Additionally, submit_sm_resp has a message_id in the body. This is the SMSC message ID of the submitted message.
    • We take this message_id and save it.
    • when we get a deliver_sm request, it includes a receipted_message_id in the optional body parameters.
    • we get that receipted_message_id and use it to lookup from where we had saved the one from submit_sm_resp
  • This release also features an enhancement(and better tests) of correlation: #98

version: v0.5.0-beta.1

  • Add sphinx documentation: #92
  • Start tracking changes in a changelog
  • Add more type hints and also run mypy across the entire repo: #92
  • It's now possible to bring your own logger: #93
  • Made the various interfaces in naz to inherit from abc.ABC: #95
  • Fixed a few stylistic issues raised by codacy: #96