View Source Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
unreleased
[Unreleased]
3-2-1-2023-06-03
[3.2.1] - 2023-06-03
- Drop support of old Elixir & OTP versions (OTP 24+ and Elixir 1.12+ are required).
- Remove some compatibility code.
- Update dependencies to latest minor versions.
- Update CI matrix.
- Improve SSL tests.
- Update maintenance status.
- Apply updated formatting.
3-0-6-2022-01-22
[3.0.6] - 2022-01-22
added
Added
- Embedded mode for MC, i.e. a way to start it as a part of custom supervision tree (sasa1977).
- Optional
SMPP.Session
callback (handle_timeout
) for customizing SMPP session exit reason in case of timeouts (sasa1977).
3-0-5-2021-12-22
[3.0.5] - 2021-12-22
added-1
Added
- Elixir 13 to CI matrix.
- OTP 24 to CI matrix.
changed
Changed
- Fixed some typing issues (Fyodor Parmanchukov).
3-0-4-2021-04-17
[3.0.4] - 2021-04-17
added-2
Added
- Documentation of auxilary projects.
changed-1
Changed
- Organization of documents.
3-0-3-2021-04-16
[3.0.3] - 2021-04-16
added-3
Added
session_module
option for MC and ESME modules to provide alternative implementations ofSMPPEX.TransportSession
behavior.
3-0-2-2021-04-06
[3.0.2] - 2021-04-06
changed-2
Changed
- Removed
poison
from dev dependencies.
3-0-1-2020-12-13
[3.0.1] - 2020-12-13
changed-3
Changed
- Removed
poison
from production dependencies.
3-0-0-2020-12-13
[3.0.0] - 2020-12-13
changed-4
Changed
- Fixed callback flow while accepting connections in MC.
init
callbacks are now run after socket transport handshake (as it always should have been). - Updated Ranch to 2.0.
- Dropped OTP < 21 support for Ranch 2.0 compatibility.
- Fixed
source_subaddress
TLV spec (Menkir).
2-4-0-2020-11-05
[2.4.0] - 2020-11-05
changed-5
Changed
- Fixed low level socket configuration in ESME (IceDragon200).
- Updated dev/test dependency versions.
- Dropped Elixir < 1.7 support.
2-3-3-2020-09-09
[2.3.3] - 2020-09-09
changed-6
Changed
- Fixed submit_multi handling (Menkir).
- Moved repo to funbox organization.
- Set the
esm_class
field for a delivery report pdu created by factory.
added-4
Added
- Timeout argument to
Session.send_pdu/2
function.
2-3-2-2019-11-19
[2.3.2] - 2019-11-19
added-5
Added
- Option to set arbitrary initial sequence number for SMPP sessions.
2-3-1-2019-09-19
[2.3.1] - 2019-09-19
added-6
Added
- Elixir 1.9 builds in CI.
- Updated
excoveralls
dependency. - Added
SMPPEX.Pdu.ValidityPeriod
module for dealing withvalidity_period
PDU field.
removed
Removed
- Removed Elixir 1.2, 1.3 support and the corresponding builds from CI.
2-3-0-2019-04-08
[2.3.0] - 2019-04-08
added-7
Added
- Elixir 1.8 builds in CI.
removed-1
Removed
- OTP 18 support.
changed-7
Changed
- Fixed
data_sm
packet syntax.
2-2-9-2018-11-22
[2.2.9] - 2018-11-22
changed-8
Changed
- Unfixed
ranch
from< 1.6.0
, since its internal changes do not affect our code.
2-2-8-2018-11-11
[2.2.8] - 2018-11-11
changed-9
Changed
- Fixed automatic
enquire_link
sequence id generation. - Fixed
ranch
to< 1.6.0
due to its incompatible changes.
2-2-7-2018-06-08
[2.2.7] - 2018-06-08
added-8
Added
- Parsing mudule for
network_error_code
field. network_error_code
field support inoserl
converter.
2-2-6-2018-06-05
[2.2.6] - 2018-06-05
added-9
Added
- Handling of generic
GenServer
call
andcast
messages.
changed-10
Changed
- Fixed handling of PDUs with negative
send_pdu_result
status: they do not appear inhandle_resp_timeout
callack anymore.
2-2-5-2018-05-23
[2.2.5] - 2018-05-23
added-10
Added
submit_sm
factory methods with automatic TON/NPI detection.
changed-11
Changed
- Dropped Elixir 1.1.1 and OTP 17 support.
- Made
SMPPEX.ESME.Sync
be safe for making requestd from multiple processes.
2-2-4-2018-02-12
[2.2.4] - 2018-02-12
changed-12
Changed
- Updated build matrix for Travis CI. Removed assets for obsolete version builds.
- Updated build matrix for Travis CI. Added Elixir 1.6.
- Added explicit extract functions in SMPPEX.Pdu.Multipart.
- Fixed Ranch transport handling in SMPPEX.TransportSession, this fixes SSL transport support.
2-2-3-2017-09-21
[2.2.3] - 2017-09-21
changed-13
Changed
- SMPPEX.ESME.Sync: ignore successful send_pdu_result for syncronously sent PDUs.
- SMPPEX.ESME.Sync: exit with normal on socket close.
2-2-2-2017-09-21
[2.2.2] - 2017-09-21
changed-14
Changed
- Fixed handling socket close/error for SMPPEX.ESME.Sync
2-2-1-2017-09-11
[2.2.1] - 2017-09-11
changed-15
Changed
- Loosened
ranch
version requirements.
2-2-0-2017-09-10
[2.2.0] - 2017-09-10
changed-16
Changed
- Added strict response type for
terminate
callback. Also,terminate
callback is now allowed to return some last pdus for sending.
2-1-0-2017-09-10
[2.1.0] - 2017-09-10
added-11
Added
- Automatic handling of
enquire_link
andenquire_link_resp
PDUs.
2-0-1-2017-09-02
[2.0.1] - 2017-09-02
changed-17
Changed
PduStorage
implementation to be OTP 17 compatible.
2-0-0-2017-08-30
[2.0.0] - 2017-08-30
This release contains significant architectural changes and API incompatibilities.
changed-18
Changed
- Added single
SMPPEX.Session
behavior instead of seperateSMPPEX.ESME
andSMPPEX.MC
behaviours. SMPPEX.Session
callbacks are moreGenServer
compliant.- Most of
SMPPEX.Session
callbacks are allowed to return stop indicating tuple. - Most of
SMPPEX.Session
callbacks are allowed to return a list of PDUs to send. - All methods interacting with
SMPPEX.Session
are synchronous.
added-12
Added
- Elixir 1.5 builds in CI.
removed-2
Removed
- Usage of a separate process for ESME/MC connections.
- Usage of
ranch
supervisor of launching ESME connections. - Special methods for sending PDU replies to ESME/MC in favor of
Pdu.as_reply_to/2
method.
1-0-1-2017-08-30
[1.0.1] - 2017-08-30
changed-19
Changed
ex_doc
updated to 1.x.
1-0-0-2017-08-30
[1.0.0] - 2017-08-30
This is the first stable release introduced from numerous 0.x.x versions. Although this library has been already used in production for quite a while, it's only purpose is to designate the divergence from 2.x.x branch.
added-13
Added
- ESME functionality.
- MC functionality.
- Synchronous ESME client.