most recent version is listed first.
- Fix a previously skipped test: #209
- Reconnect after
unbind_and_disconnect
inrecieve_data
lifecycle: #212 - When unbinding and disconnecting from SMSC, set SMPP session state to CLOSED: #213
- Bugfix - RuntimeError: Cannot call
write()
afterwrite_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.
- During shutdown, only close the writer without closing the reader end of the transport: #198
- Rename
naz.Client.rateLimiter
tonaz.Client.rate_limiter
: #195
This was done so as to maintain consistency with othernaz.Client
attributes. - Fix a bug where
naz
was not formatting 1octet integers correctly : #196
- support python version 3.8: #186
- Add ability to supply more
submit_sm
parameters when enquiuingsubmit_sm
: #193
- Rename
naz.nazcodec.BaseNazCodec
tonaz.codec.BaseCodec
: #191 - Rename
naz.Client.codec_class
tonaz.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
- Fix a bug that prevented
enquire_link
anddeliver_sm
from been sent: #179 - Enforce
naz
message protocol in code: #179 - make
naz.Client.logger
to be a pythonlogging.Handler
: #181 - carry out fuzzy testing: #178
- re-run benchmarks: #182
- make
naz.SimpleCorrelater.delete_after_ttl()
private: #172 - rename
naz.broker.BaseOutboundQueue
tonaz.broker.BaseBroker
: #174
this is the more idiomatic name for what it is. - re-run benchmarks after renmaing Queue to Broker: #176
- fix infinite loop bug, which could occur while re-establishing connection & re-binding to SMSC: #171
- add ability to start
naz
even when SMSC is down: #168
this may be important when you want to deploynaz
when the mno/SMSC is down and you wantnaz
to automatically connect when the SMSC comes back online.
- Use python 3.7 since it has better
async/await
support: #166
- add target level to Breachandler: #163
- 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
- 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.
- if
- 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.
- this builds on the earlier work but now
- enhance type annotations of
naz.log
: #156
- Simplify Breach log handler: #152
- added a logging BreachHandler: #149
- renamed
naz.logger
tonaz.log
: #150 - fix documentation styling: #151
- added static analysis support using pytype: #148
- If
naz
were to encounter an SMPP protocol error, it now bails early by unbinding and closing connection: #147
- 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: #113naz
now has a configurable timeout when trying to connect to SMSCnaz
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 thethrottling
handler. - fixed a potential memory leak bug in
naz.correlater.SimpleCorrelater
- added a configurable
connection_timeout
which is the duration thatnaz
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.
- when smsc returns
- renamed
connection_timeout
tosocket_timeout
: #141 - added benchmarks results: #141
- updated documentation and moved it to komuw.github.io/naz; #146
-
Bug fix: #98
the waynaz
was handling correlations was:- when sending
submit_sm
we save thesequence_number
- when we get
submit_sm_resp
we use itssequence_number
and look it up from Correlater - when we get a
deliver_sm
request, we use itssequence_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 amessage_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 areceipted_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 fromsubmit_sm_resp
- when sending
-
This release also features an enhancement(and better tests) of correlation: #98