-
Notifications
You must be signed in to change notification settings - Fork 164
/
CHANGES.txt
195 lines (170 loc) · 8.19 KB
/
CHANGES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
Changes:
3.0.1
- use ReadWriteLock instead of synchronized on class level.
- Don't try to close the session from enquireLinkSender too.
- Fixed typo in User_response_code optional parameter.
- Decode not only the header if the status is not OK.
- Allow data_sm_resp to be sent with message_id and optional_parameters when command_status != 0.
- Fixed typo in sendGenerickNack.
- Replace jCharset due to incompatible GNU GPL license.
- Update several Maven dependencies.
3.0.0
- Require Java 8 as minimum.
- Implement all SMPP 5.0 requests, optional parameters, etc.
- Support for SMPP 3.3
- Fix first message immediately after outbind.
- Use SubmitSmResult instead of MessageId for submit_sm response handling.
- Remove obsolete classes.
- Remove log4j dependency and use slf4j-simple in examples.
- Set the log level of enquire_link messages to trace.
- Add protocol identifier factories.
- Update dependency Slf4j to 1.7.36.
2.3.11
- Also set the socket timeout for server sessions for enquiry link timer.
- Removed not used parameter from getTimeout method.
- Fixed typo in method name of convertBytesToHexString.
- Rewrote concatenation example, including 16-bit reference numbering.
- Added jCharset dependency to examples.
- Added convertByteToHexString to print hex string for single byte.
- Added UCS-2 class to verify Unicode characters are inside BMP Unicode for UCS-2.
- Update Maven dependencies.
- Update Apache Commons Codec dependency to 1.15.
- Renamed sendSubmiMulti to sendSubmitMulti.
- Fix all JavaDoc warnings and errors and generate JavaDoc jars.
- Log send and received PDU's at debug log level. Remove the space to condense the output.
2.3.10
- Implement queue capacity with default 100 include throttle response, handle bound state inside the handler of the bind request.
- Fix decompose of replace_sm PDU.
- Extend the Connection interface to show all local and remote socket addresses and ports.
- Send correct response when request is received.
- Fix the decode of the replace_sm.
2.3.9
- Ignore the PDU body in the handling of submit_multi_resp with non-zero command status.
- Clearify the log in submit_multi_sm example.
- Update JUnit dependency to 4.13.
- Optimize OctetUtil and add extra unit tests.
- Add SSL connection factories and examples.
- Implement additional request handlers in StressClient.
2.3.8
- Update dependency Slf4j to 1.7.30.
- Update dependency commons-codec to 1.14
- Always use placeholders instead of string concatenation for log state.
- AbstractSMPPOperation: Delete pendingResponse field, which is never r.
- DefaultComposer#submitMulti: Fix InvalidNumberOfDestinationsException.
- DefaultDecomposer#submitMulti: Remove check which is always false.
- Add unit test for deliver_sm with optional parameters.
- Add test for receipted message id optional parameter.
- DefaultComposer#submitMulti: Fix InvalidNumberOfDestinationsException message.
- AbstractSession#executeSendCommand: Remove "Tomas: " prefix of info log statement.
- Always use placeholders instead of string concatenation for log statements.
- DefaultComposer#submitMulti: Fix InvalidNumberOfDestinationsException message.
- DefaultDecomposer#submitMulti: Remove check which is always false.
- Fix unused arguments passed to String#format and Logger#info.
- StrictBufferedInputStream#read: Methods overriding synchronized methods should be synchronized, otherwise the thread-safety of the subclass may be broken.
- Avoid comparing boxed primitive values using the == operator.
- Avoid NullPointerException in equals methods if receiver field is null but argument field is not null.
- Improve grammar of bind response timeout exception message.
- Fix Travis CI build by using openjdk8 and openjdk11 (instead of no the longer available openjdk7, oraclejdk8 and oraclejdk9 JDKs).
- Improve grammar of bind response timeout exception message.
- Uniformly use "session" as identifier for sessions in logging and exception messages.
- Uniformly use "sequence_number" as identifier for sequence numbers in logging and exception messages.
2.3.7
- Specify maven-surefire-plugin version to fix maven warning about non-repeatable builds.
- Do not throw exception when socket is closed, handle EOFExceptions for server and lower log level.
- Fixes IllegalArgumentException in BoundSessionStateListener.onStateChange (issue #89) for Java 9 and later.
- Also change the order of ThreadPoolExecutor adjustments to run on Java 9 or later when increasing the PDU processor degree.
- Update dependency commons-codec to 1.11.
2.3.6
- Add descriptions to negative response exceptions.
- Added custom delivery receipt examples
- Fix NPE in DeliveryReceipt constructor when date was blank
- Removed unused code
- Fix typo in composeSmeManualAcknowledgment method name
2.3.5
- Rewrote the GSM 03.38 class
- Don't check explicitly the sequence 1, but the session state
- Add custom delivery receipt stripper
2.3.4
- Removed synchronized from close to prevent deadlock
- When stopping the enquire_link sender, only stop when still alive
- Use slf4j-simple in test case, instead of log4j and System.Out
- Improve the SMPP server simulator example
2.3.3
- Change the close of session method, to fix deadlock in Apache Camel SMPP component
2.3.2
- Process optional seconds in delivery receipt
- Change log level for not recognized optional parameter
- Allow replace_sm in state OUTBOUND_TRX (as it is allowed in SMPP 5.0)
- Add ENROUTE in DeliveryReceiptState enum
- Add SCHEDULED and SKIPPED (SMPP 5.0) message_state
2.3.1
- Allow replace_sm for state OUTBOUND_TRX
2.3.0
- Add outbind processing
2.2.4
- Fixed some logging
- Add PriorityFlag enum
- Add SSL connection factory implementation
- Fixed SMSCDeliveryReceipt.SUCCESS to FAILURE
- Fix RelativeTimeFormatter test
- Multiple lexical and code improvements
2.2.3
- Use StringBuilder instead of StringBuffer
- Use OctetString for unknown OptionalParameter
2.2.2
- Fixed some logging
- Added SMPP 5.0 message states
- Fixed NullPointerException when OptionaParameters are empty in a BindResp
- Fixed invalid command length (<4) throws an IndexOutOfBoundsException
- Added RelativeTimeFormatter
2.2.1
- Fix examples
- Use StrictBufferedInputStream for better performance
- Provide source for onAcceptDataSm
2.2.0
- New DataCoding API.
Removed the old class (since I could not make the change backwards compatible)
Added some new classes instead:
1. DataCodings
2. DataCoding (GeneralDataCoding, MessageWaitingDataCoding, SimpleDataCoding, RawDataCoding)
- Expose remote InetAddress on server side API via SMPPServerSession
Add new method: InetAddress SMPPServerSession#getInetAddress()
- Ensure command execution is in valid state. Checking done on local side (remote side also does the checking)
- Make Command and its subclasses serializable
2.1.0
- set connection timeout when binding
- provide source (the session) for onAcceptDataSm
- use StrictBufferedInputStream
2.0.1
- Bug fix, MessageReceiverListener should be subclass of GenericMessageReceiverListener
2.0 beta 6
- Change the max length of short message to 254, referring to SMPP 3.4
Previously using 255 (taken from SMPP 5.0)
2.0 beta 5
- Bug fix for type on OptionalParameters class
- Update the SessionState way to return the value from:
1. isBound()
2. isTransmittable()
3. isReceiveable()
- Add examples for auto-reconnect gateway (found in the org.jsmpp.examples.gateway package)
- Fix the destination addresses on SMPPSession#submitMultiple
Some classes and interfaces created to support the bug fixes.
- Fix the date parsing on delivery receipt
- Referring to Appendix C of SMPP 3.4 for year parsing rule
2.0 beta 4
- Modify Optional Parameter API (currently for TLV related to message
concatenation case)
- Add ServerResponseDeliveryListener (listener to receive success or failure
event of submit_sm_resp/submit_multi_resp delivery)
- Change license from LGPL to "Apache License, Version 2.0"
- Add license notice to every source file
2.0 beta 3
- Add SMPP Server component
- Add Optional Parameter support (contribution from [email protected])
- Handling PDU processing concurrently (performance improvement)
- Add data_sm support
- Add cancel_sm support
- Add replace_sm support
- Add alert_notification support
- Add CapacityPolicy to PDUByteBuffer (performance improvement, minimize ByteArray
creation)