-
Notifications
You must be signed in to change notification settings - Fork 460
ChangeLog
- removed compat_1_5_2 module - will remain part of jPOS-2 branch 35c79e73
- Honor JEP 411 - SecurityManager is now deprecated for removal 5c33c1a1
- Add ZoneId to RotateLogListener's rotate event PR478
- Use Duration in org.jpos.util.Chronometer 8cf9382b
- Add TM managed timeout and max-timeout on participants 100644
- IFEMC_LLCHAR the LL part of the field is defined as ASCII 480
- QueryHost force abort when expired in continuations mode 481
- Add support for CMF DE 027 - POS Capability PR486
- MUXPool.send may block if no connected MUXes 487
- Upgrade to Gradle 7.5 37c14676
- Bump JLine to 3.21.0 12215687
- Bump Mockito to 4.6.1 a6b4cb22
- Bump JUnit to 5.8.2 e1a43b14
- Bump BouncyCastle to 1.71 34eafb0e
- Bump SLF4J to 1.7.36 1ee44273
- Bump SnakeYAML to 1.30 3638dbd5
- Add IFB_LLLLLLCHAR PR493
- Add templates support PR494
- Honor Q2 SHUTDOWN_TIMEOUT 3fd41d74
- Add IFB_LLLHEX b684bb5f
- Bump commons-cli to 1.5.0 3644a10e
- Bump commons-lang3 to 3.12.0 57e7fb8d
- Bump Mockito to 4.7.0 ffc2fbef
- Remove org.easytesting:fest-assert dependency 17926711
- Upgrade SnakeYAML to 1.33 e22edee5
- Add SLE Currency d417dd35
- Add Application Cryptogram Spec PR500
- Properly recognize subsequent bytes in BER/TLV fields 26d08c12
- add QBean.getStateAsString default impl 12831cf6
- BSH provide access to Q2 server b044f71f
- Upgrade Gradle to 7.6 b08ddd88
- Baseline is now Java 19 7d38c2ac
- Upgrade JLine to 3.22.0
- DailyLogListener defaultDeleteRegex depends on compressedSuffix PR511
- rc.CMF: add CONFIGURATION_ERROR, plus fixing typos and enum conflicts (PR512)[https://github.com/jpos/jPOS/pull/512]
- Fix/isomsg set isocomponent PR513
- BREAKING CHANGE - Remove TM Continuations 87b687a8
- make CMF SYSTEM_ERROR_DB and SYSTEM_ERROR_TXN response inhibitors f717ad12
- Dump GC stats to SystemMonitor 5099c683
- Metrics: Set start timestamp to metrics histograms. 4cbcf42c
- Upgrade JLine to 3.23.0 be165faf
- Better ThreadDump in SystemMonitor (dump-stacktrace) 230df126
- Negate expressions in Environment PR519
- Basic support for string array auto-configuration (PR520)[https://github.com/jpos/jPOS/pull/520]
- BASE1Header.formatHeader now shows reject data 54c5fd03
- Add Context clone(Object...), hasKeys(Object...) ad keysNotPresent(Object...) 6dc55224
- Add Context.merge(Context) 8591300c
- KeySerialNumber overhaul 7a9468a7
- Better logging for EuroSubFieldPackager unpack PR540
- Better handling of multi-level nested isomsgs in non-bitmapped tagged sequences PR542
- 8be658f7
- Upgrade SnakeYaml to 2.0 - CVE-2022-1471 8be658f7
- CMF add add result codes 1820, 1821, 1822, 1823 Add d82313ac
- ASCIIChannel Only reply keep-alive if expecting it 9e9c1107
- Remove OSGi support - Upgrade Gradle to 8.2 dba1e0cc
- Remove QNode module b55b6c21
- Upgrade BC to 2.73.2 - CVE-2023-33201 e30c9449
- Add IFEPE_LLBINARY PR556
- ISOMsg: add helper methods to identify the message class (PR557) c396c405
- Q2 Enable environment property replacement anywhere PR554
- SMAdapter: add new operation to encrypt clear PIN under PEK. PR558
- Fixed BERTLVAsciiHexPackager getUninterpretLength always returns 0 with AsciiHex interpreter PR570
- TSpace: simplifying usage of monotonic nanoTime() 5aaa2490
- Protect against NTP sending clock backward b202cc1b
- ISODate.parseISODate protect against Y2.1K d57a5436
- Added a padding option to cryptogram builder PR577
- ISOUtil.protect: better handling of track1 data f66f287b
- Enable handling of complex field for IsoTagStringFieldPackager PR581
- Q2 added --shutdown-delay=xx and --no-shutdown-hook switches PR582
- Upgrade Gradle to 8.6, use Version Catalogs
- Environment uses commaEncode to represent arrays c03744f8
- Q2 arguments via q2.args environment 6f2658dc
- ISOMsg.merge honors header fbebfee7
- Track1 and Track2 now generate track data fb21890e
- Add ISOUtil.toASCII and toLatin methods 81e10478
- Add ISODate.formatDuration helper 44070167
- KeyUsage is now serializable PR597
- Add the chance to autoconfigure enum fields PR600
- Bugfix in TSpace gc(1) not honoring GCLONG 4defbc69
- Graduate TxnId to jPOS 86c3cce9
- Graduate ProtectDebugInfo to jPOS b7359da6
- Define padding method for each CryptogramDataBuilder PR613
- Add SSH remote resize (WINCH) 53929360
- Add NoCardValidator PR620
- Add QBean eager-start support 8b09f4f3
- Added a padding option to cryptogram builder PR577
- Enable handling of complex field for IsoTagStringFieldPackager PR581
- Q2 added --shutdown-delay=xx and --no-shutdown-hook switches PR582
- ISOMsg.merge honors header fbebfee7
- Track1 and Track2 now generate track data fb21890e
- FSDProtectedLogListener now supports a parameter to optionally print ellipsis for truncated fields PR584
- KeyUsage is now serializable PR597
- Add the chance to autoconfigure enum fields PR600
- Bugfix in TSpace gc(1) not honoring GCLONG 4defbc69
- fixed ISOServer usable channels issue 602
- Define padding method for each CryptogramDataBuilder PR612
- Add NoCardValidator PR619
- Add QBean eager-start support 03b3bc15
- Upgrade BouncyCastle to 1.70 508e689b
- rc.CMF: add CONFIGURATION_ERROR, plus fixing typos and enum conflicts (PR512)[https://github.com/jpos/jPOS/pull/512]
- Fix/isomsg set isocomponent PR513
- make CMF SYSTEM_ERROR_DB and SYSTEM_ERROR_TXN response inhibitors PR514
- TxnMgr: Handle race condition where txn gets early resumed a929f244
- Metrics: Set start timestamp to metrics histograms. PR516
- Upgrade JLine to 3.23.0 6c9d6b7d
- Negate expressions in Environment PR518
- Basic support for string array auto-configuration (PR520)[https://github.com/jpos/jPOS/pull/520]
- MUXPool strategy handler PR524 forward port
- BASE1Header.formatHeader now shows reject data a3e64f30
- Add LogEvent.getCreatedAt() PR538
- Better logging for EuroSubFieldPackager unpack PR540
- Better handling of multi-level nested isomsgs in non-bitmapped tagged sequences PR542
- Upgrade SnakeYaml to 2.0 - CVE-2022-1471 748aa3ba
- CMF add add result codes 1820, 1821, 1822, 1823 Add 081263c6
- ASCIIChannel Only reply keep-alive if expecting it 9e9c1107
- QueryHost: timeout override through ctx entry PR550
- Add IFEPE_LLBINARY PR554
- ISOMsg: add helper methods to identify the message class PR557
- Upgrade BC to 2.73.2 - CVE-2023-33201 65999725
- SMAdapter: add new operation to encrypt clear PIN under PEK. PR558
- QBeanSupport: Allow setting of a higher corePoolSize while creating new ScheduledThreadPoolExecutor PR559
- Fixed leak in TransactionManager.names optimization (not required in jPOS 3) 86950d6e
- Fixed BERTLVAsciiHexPackager getUninterpretLength always returns 0 with AsciiHex interpreter PR570
- TSpace: simplifying usage of monotonic nanoTime() [PR571(https://github.com/jpos/jPOS/pull/571)]
- Protect against NTP sending clock backward b202cc1b
- ISODate.parseISODate protect against Y2.1K d57a5436
- Initialize ServiceConfig prior to calling readCongig PR472
- TransactionManager: abort on misconfigured groups PR474
- Adding getBin(len) to Card and CardHolder (support 8-digit-bin) PR476
- Add ZoneId to RotateLogListener's rotate event PR478
- IFEMC_LLCHAR the LL part of the field is defined as ASCII 480
- QueryHost force abort when expired in continuations mode 481
- Add support for CMF DE 027 - POS Capability PR486
- MUXPool.send may block if no connected MUXes 487
- Add IFB_LLLLLLCHAR PR493
- Add IFB_LLLHEX b684bb5f
- Upgrade SnakeYAML to 1.33 cba2fc61
- Add SLE Currency 942720fd
- Add Application Cryptogram Spec PR499
- Properly recognize subsequent bytes in BER/TLV fields PR502
- add QBean.getStateAsString default impl 12831cf6
- BSH provide access to Q2 server b044f71f
- Upgrade Gradle to 7.6 208188d6
- Upgrade SSH to 2.9.2 - Fixes CVE-2022-45047 82349cee
- Upgrade JLine to 3.22.0 968af747
- Remove JavaAssist dependency 82eef68b
- MUXPool strategy handler PR524
- Upgrade JLINE to 3.20.0 02447f6b
- Connection confirmation message for BaseChannel in client mode PR412
- Upgrade to Gradle 7.0.2 fbf3a78f
- Add PosDataCode::isCardNotPresent PR413
- MuxPool not honoring a timeout of 0 issue-414
- Added CODE_OF_CONDUCT PR429
- Bump SLF4J to 1.7.32 d23d09ee
- Add
IgnoreLogListener
0e36304b - NameRegister TxnMgr at end of startService issue-439
- Add
$cfg{...}
syntax to Environment PR440 - Fixed NPE as the check value is never set in the SecureKeyBlockBuilder issue-437
- Add Q2 cmd line option to set the jpos.envdir PR441
- CryptographicServiceMessage add removeField(s) methods d44004aa
- Implement TVR parser PR444
- Support for QBean start / stop in a non-blocking way PR446
- Fixed race condition in Context resume aef3de5f
-
org.jpos.rc.Result
add add hasFailure, hasWarning, hasInfo, hasIRC helpers a2d7eaed - ISOUtil new charEncode and charDecode PR448
- Card.Track2 now handle short PANs issue-449
- honor multiple EnviromentProviders in single property fc38c2ca
- Add autoconfig support PR455
- FSDProtectedLogListener protects FSDMsg PR456
- Upgrade BouncyCastle to 1.69 475a0cef
- Add support for multiple environments PR459
- SECURITY: log4shell prevention d615199a jPOS doesn't use log4j, but in order to prevent jPOS based applications that do use log4j, we disable lookups at Q2 start.
- Added Context.move and hasKey 67e4ee4b
- Prevent loop in Environment.get c27ebd13
- Add Environment awareness to the SimpleConfiguration Factory PR468
- Replace System.currentTimeMillis() with Instant.now() in Space implementations PR369
- Make RotateLogListener AutoCloseable so that we can clean up the test directory properly. PR373
- TPS: Replace System.currentTimeMillis() with Instant.now(). PR374
- ThroughputControl: Replace System.currentTimeMillis() with Instant.now() PR375
- Space Tests: Replace System.currentTimeMillis() with Instant.now() PR376
- ThroughputControlTestCase: Replace System.currentTimeMillis() with Instant.now() PR378
- Add github workflow and fix some unreliable tests PR379
- QMUXTestCase: Improve deploy directory isolation. PR380
- Upgrade JLine to 3.18.0 dd4218a8
- DUKPT: support KSN of length > 16 PR384
- QClassLoader: Classloader creation is a privileged operation 3e1ccf6d
- Allow empty defaults in environment references PR390
- Improved EBCDIC handling of DE-48.0 (TCC) PR392
- Upgrade JLine to 3.19.0 aba4b6b9
- ChannelAdaptor honor 'enabled' on filters config PR396
- TransactionManager to expose session increase/decrease logic PR398
- Graduated SensitiveString from jPOS-EE 400eb89a
- Upgrade OWASP dependency check to 6.1.1 718910c0
- Upgrade Mockito to 3.8.0 071c467d
- add GenericPackagerParams - support TLV/LTV encoded subfields - PR401
- Security Module subsystem for the CLI PR296
- Upgrade Gradle to 6.3 773215f6
- TM alerts if group is not configured 9aa86842
- Run tests under openjdk 14 PR288
- Upgrade Javassist to 3.27.0 PR303
- LoggerAdaptor honors LogListener's
enabled
attribute b638f1e2 - Allow empty (conditional NOP) SE 0 in EuroSubFieldPackager PR310
- BERTLVPackager throws a java.lang.ArithmeticException: divide by zero PR315
- Relax ssh authorized_keys permissions check PR321
- Add support for additional ssh key types PR322
- Fix BERTLVPackager padding in
PACKED_NUMERIC
,PACKED_NUMERIC_DATE_YYMMDD
andPACKED_NUMERIC_TIME_HHMMSS
fields Issue #314 - Add TransactionManager.prepareForLog(LogEvent) b5e1c009
- Upgrade JLine to 3.16.0 8e11fa88
- Card.Builder allows override of track1/2 pattern 5b65fede
- Adding default values to ${} property expressions PR331
- Run tests on OpenJDK 15. PR332
- Update bouncycastle to version 1.66 PR305
- Add support for variable length fields (LLVAR, LLLVAR) in FSDMsg PR340
- Add cfg option packager-log-fieldname to GenericPackager when running in debug mode (defaults to true) PR348
- Add check-connected flag to QueryHost PR351
- Add EnvironmentProvider support 92cbcdb3
- Upgrade JLine to 3.17.1 7844a383
- new 'CVV' CLI command eb8cdaf7
- BufferedLogListener uses its own ScheduledExecutor c1034b0d
- Allow default environment override with uppercase version of property eb9687bc
- Handle track2 without expiration PR361
- handle [default] charset in ISOUtil.hex2byte PR364
- Upgrade BouncyCastle to 1.67 bae04018
- Improve JDBMSpace gc() SpaceError handling PR367
- TM.getInTransit goes back to report head-tail 624485de
- Upgrade Gradle to 6.7 PR354
- Add ACL based permission support to LogRotationTestDirectory PR370
- New
ISOUtil.decodeHexDump
method c3131b5c - New property allow-extra-fields for CheckFields PR224
- Optimize Context.dumpMap to avoid locking during dumpEntry PR222
- Run tests against all recent jdk versions. PR223
- Migrate junit4 tests to junit5 PR228 PR229
- Prevent recursive call to
Context.dump
b868d1d9 - QFactory should unregister MBean on initiallization errors Issue 236
- Fixed CheckFields regex pattern for local transaction date PR240
- Allow varargs in ISOMsg.clone PR241
- Break on ConcurrentModificationException when logging in Logger.log PR244
- XMLPackager and XML2003Packager refactoring PR246
- JCESecurityModule: expose more entry points for simulator systems PR247
- SystemMonitor cache processName and localHost 932d5ca5
- Upgrade jLine to 3.12.1, javassist to 3.25.0-GA, SLF4J to 1.7.28, SnakeYaml to 1.25, SSHD to 2.3.0 PR249
- Add utility methods to interface IRC and enum CMF PR250
- Set of minor fixes releted to TLV packagers, added Jacoco test report PR251
- Handle undefined tags and prevention against an infinite loop PR252
- Improved handling undefined tags by GenericTaggedFieldsPackager, added CharTagMap support PR253
- Upgrade JLine to 3.13.0 4ae09d51
- Add shortcut methods to PosDataCode PR256
- Add new handy
org.jpos.util.ServiceCode
class PR259 - Context.dump properly dumps arrays 831917ed
- Upgrade to Gradle 6 PR262
- Fix X509Certificate and gradle classifier deprecation warnings PR263
- CVR parser based on the Mastercard format PR265
- Q2 honor Environment when checking 'enabled' attribute 1a9fec97
- Parser class for Issuer Application Data (IAD, 0x9F10) PR266
- Support for LogEventWriters PR268
- PosDataCode: safety length/null checks & safety copy PR271
- Added FlatLogListener and mappers PR273
- MacroField process field paths, not only ints PR282
- Added QServer.getISOServer() 8e2d6f1a
- Moved DateUtil class from jposee-syslog to jpos core PR283
- Handle Q2 renameTo failure Issue #289
- TM honors 'enabled' attribute 2a9b3f65
- Use non-blocking SecureRandom for SensitiveString. PR146
- Deprecate SunJSSESocketFactory PR294
- Add haveged to travis to ensure it always has enough entropy PR293
- NACChannel Minus length of length from the 2 byte msg length PR186
- Add "RR" (round-robin) option to QServer PR187
- CMFConverter protect against null cfg ddd9ee0a
- Protect against NPE in ResultCode.warns 85f63b59
- Upgrade javassist to 3.23-1-GA 647f8fe9
- NPE in SystemMonitor metrics dump #189
- QueryHost new property 'ignore-host-unreachable' ab045cc7
- CheckFields Return CMF error on INVALID_CARD_NUMBER 37a418d0
- Fixed DirPoll performance issue - high CPU/memory consumption Issue 190
- CheckFields: if card is optional, but present, it has to be a good one ee4eeb28
- PADChannel now logs event before running filters df8bbe1f
- Added boolean rotate-on-startup configuration to RotateLogListener PR192
- CMF changes (see issue 193 a0ef52b3
- RotateLogListener log file name token replacement PR194
- ThreadPool race condition - active count lost synchronicity Issue 196 2cd1537a
- Remove deprecated Gradle 'osgi' plugin 46f40b91
- ISOUtil's commaEncode now accepts variable arguments PR197
- Upgrade to Gradle 5.0 d684c1fc
- New functional supplier
org.jpos.util.Recyclable
1ac1ad95 - TransactionManager now destroys Destroyable participants 3ba0de4d
- Use type inference in Context.get(key,timeout) 94e6e834
- Upgrade commons-cli to 1.4 737213c3
- Add SMAdapter.formKEYfromThreeClearComponents as public method 2416289b
- Added functionality and bug fix to PosDatCode. PR199
- ISOServer accept/disconnect events now hold weak reference to channel bc04e404
- Add field max length initialization for IFEP_LLLBINARY PR202
- Prevent XXE in XMLPackager 6d2a7b10
- Optimize ISOMsg.dump 430e093d
- Optimize ISOMsg.merge d60db2dd
- Add format configuration to field packagers PR203
- Add LLLTTvvvvv Ebcdic encoded header and value, length left zero padded. PR204
- Add suuport for trimmed last field in variable length fields 9212cbaf
- Add TLVList builder pattern PR205
- Upgrade SLF4J to 1.7.26 10719729
- ISOMsg allow hex notation in fpath fd475019
- Update com.sleepycat:je to 18.3.12 PR208
- Added modules/uuids support 4d35a7f1
- Upgrade HdrHistogram to 2.1.11 ac167bee
- Upgrade Gradle to 5.3 63cb7c1a
- Add OWASP dependency check 3a5aa92f
- Upgrade BouncyCastle to 1.61 1e6843d8
- SimpleConfiguration supports 'sys:' and 'env:' prefix 95e7e690
- Add Environment support 03a13d42
- Set of small fixes for QMUX, SimpleMsg and SecurePrivateKey PR209
- Use generics inferred return type in QFactory.newInstance and TransactionManager.getContext PR210
- ChannelAdaptor disconnects on VetoException #211
- Maintenance changes to SMAdapter PR213
- SMAdapter keyblock handling extension PR215
- Add IFB_LLLLCHAR field packager 61c4a16b
- Added
Q2.ready()
andQ2.ready(timeout)
fbe61555 - Added IFE_L* set of field packagers PR151
- Issue 155: metrics related NPE when debug=false eb5c1f60
- Adds CDATA tag to strings on log when needed PR155
- Upgrade Gradle to 4.6 77ee81ae
- Protect against log event exceptions PR162
- Added Profiler accessor for events field so that external systems can process PR163
- LoggerAdaptor now honors XmlConfigurable interface b27e8c0f
- Upgrade BouncyCastle to 1.57 f0e76d33
- Added RealmLogFilter to filter log events by their realm 914c220
- Upgrade sshd to 1.7.0 ba48b9b3
- Replaced sensitive data in CardHolder generated exceptions with safe PR167
- Added IFAE_LLCHAR PR168
- Maven artifact now do not include Main-Class nor Class-path Issue 169
- Custom Exception Handler Pipelines PR170
- ISOUtil.protect: Provide a protect method with a char to protect with. PR172
- Added static
StopWatch.get
befa21f7 - Added Automatic-Module-Name to MANIFEST.MF a83fee50
- Upgrade JLine to 3.9.0 3408309a
-
IF_TCHAR
pass encoding to getBytes method PR177 - Added
Pause
participant bee3825e - Upgrade Gradle to 4.9 023d7030
- New NACChnanel
include-header-length
property 3b5f9d60 - FrozenLogEvent now honors log-source 3c1df1c9
- DailyLogListener changes for support maxage property were added PR181
- Added support for Venezuelan Bolivar Soberano 1d652a4d
- Protect against ISOServer side effects by bad end user code PR185
- Fix for Context.dumpMap is throwing ConcurrentModificationException #212
- Added WHOAMI command 77b21471
- Added activeTransactions counter in TransactionManager PR133
- Corrected error message in QueryHost when mux is not connected f46ed5cf
- Added
IgnoreLuhnCardValidator
0408ac5 - Added
SelectDestination
participant 1ef57b2 - Added Context
persist, evict, clone, equals, hashCode
methods 7c8b7fa - Logger adaptor honors 'redirect' property bec01ea
- Added IRCConverter RC to IRC 8ea4184
- BaseChannel now honors local-port if timeout is set a9c66f1
- extract QBeans from META-INF/q2/deploy 1dc8a15
- Bugfix in ISOUtil.bcd2str(String,boolean,byte) 4ca1c5b1
- ChannelAdaptor and QMUX check in/out queues at config time 154cb021
- SelectDestination support regexp eaf0a57c
- iso87binary.xml DE55 now binary 4b4baa99
- TSpace handle race condition with templates and expirables 31dd37e5
- Added SpaceSource with IncomingListener support for remote spaces 1ab5d8f5
- SendResponse now handle SpaceSource 436e2d06
- Fine tune TransactionManager InputQueueMonitor 5cca039d
- TransactionManager new
abort-on-pause-timeout
property (defaults to true) 1ad478f1 - Added CALCLUHN command dcd75442
- SendResponse adds support for
header-strategy
a0d0a4d2 - Card now gets and validates service code from track1/track2 c9fdbf39
- Temporary fix to unsorted tags in GenericTaggedFieldsPackager 686be859
- TransactionManager getInTransit now users activeTransation counter 8dfe8d33
- Added
boolean ISOMsg.hasMTI()
method PR140 -
org.jpos.util.Tags
properly deal with empty tags df24aa52 -
org.jpos.rc.Result
protect against null 'format' 545e8802 - Allow in-memory LMKs in JCESecurityModule 4ad06b1e
- added Serializer compact Map<String,String serializer 7a670e64
- Added JCESecurityModule DUKPT Data Encrypt/Decrypt b4aabfbc
- SystemMonitor show Java version/vendor/AES info 51edcc96
- Added PGPHelper.encrypt/decrypt 3a7dd6b7
- SystemSeed handle dual seed (system/custom) c6165d34
- Context now back to
<Object,Object>
05234c63 - QMUX.notify add debug info cf8859e3
- TM Debug and Trace now shows abbreviated package names and optional realm ad4a6fef
- Context now tells apart String versus non-String keys 8eda685d
- Added NativePackager 918023a6
- ISOUtil.normalize now use unicode-like escaping f75807de
- Upgraded HdrHistogram dependency 07ec0290
- Dump metrics a4d66c5b
- ISOUtil.hexdump with CharSet support PR146
- Moved to semantic versioning
- TransactionManager unified debug and trace d04e77c2
- Upgrade Gradle to 3.3 04094a0
- Upgrade JLine to 3.1.2 4394eef
- Upgrade BouncyCastle to 1.56 6e864b0
- Upgrade SSHD to 1.3.0 6780c94
- Upgrade SLF4J to 1.7.22 ab85f61
- SimpleConfiguration implements Serializable a5b1049
- Prevention against locking of deploy directory scanning PR115
- JESpace accept lock.timeout and txn.timeout 7e8e917
- Removed SLF4J-NOP dependency 598d73f7
- Add jPOS custom SLF4J provider dynamically PR123
- QMUX supports per-MTI key override 73ace32
- QMUX validate responses aac64d3
- Added QMUX return-rejects property (default to false) 13b7991
- Upgrade JLine to 3.2.0 1645444
- Add metrics to TM 413ddbe4
- Debug participant use FrozenLogEvent 669275d5
- Avoid possible NPE when throwing ISOExceptions PR124
- Provide default implementaion of TM.commit, abort and prepareForAbort 3f93807
- Added general purpose IncomingListener 06dbce9
- Added ContextConstants enum 090be9a
- Added SendResponse participant 5ee0e52
- Added Switch participant 33cdf7b
- Added Caller.info helper class 1429584
- Added org.jpos.rc package (RC, IRC, IRCConverter, CMF, CMFConverter, Result) 247ef72
- Make sure Context key is a String 16b5737
- Added ISOMsg.hasAny methods 9006fba
- Added ISOAmount toString, hashCode, equals 2489e9d
- Added jPOS CMF packager (cmf.xml) b2a9bce0
- Added CheckFields participant e8813a3
- Corrected
TPS.peakWhen
PR125 - Handle debug on TMs without participants bb546013
- Added
TransactionConstants.FAIL
(equals toABORTED | READONLY | NO_JOIN
) e6d3cfa - Added QueryHost participant 2cc2349
- Upgrade to Gradle 3.5 6d2de3f
- Fixed QMUX counters on async requests 903f1a2
- Added metrics to QMUX 3157363
- Removed 01_single.xml (use
--pid=xxx
instead) 9377319 - ASCIIChannel, add
length-digits
property... PR127 - Synchronize LogEvent.payLoad in toString eeed89f
- Major issue with TM debug output 783e68a1
- QMUX race condition detecting duplicate STAN 07c4c145
- Added
Profiler.getPartialInMillis()
method 4d70f65 - Added TransactionManager resumed metrics and
metrics-highest-trackable-value
property b57faf2 - Log paused transaction counters in TransactionManager 1ce69fe
- Removed shutdownQ2 operation from MBean 5f4c0a5
- Added QBeanSupport.getDump 297f250
- TM now uses loadMonitorExecutor e4ed756
- Added a getter method for
TransactionManager.pausedCounter
PR131 - Improved logic to calculate average TPS PR132
- Added inhibit() indicator to IRC 2ad73e0
- Upgrade JLine to 3.0.0 f915457
- CLI Builtin commands, colon to run subsystems, semicolon now escaped 2a285ac
- CLISubSystem has access to CLIContext 04b8aaa
- Upgrade to Jline 3.1.0 fac4811
- INFO_NOT_FROM_CARD renamed to CONTACTLESS d6d9061
- Upgrade to Gradle 3.2.1 a6ba5cf
- optionally read license file from external file c893bf2d
- Upgrade to JLine 3.1.1 43bf7e6
- Removed double-logging in PADChannel 05da7cfa
- ISOMsg, no reason to declare never thrown ISOException PR107
- Upgrade to Gradle wrapper 2.13 af1797c
- Remove verbosity of common peer-disconnect event 1404032
- QFactory.properties expands 'groovy' to
org.jpos.q2.qbean.Groovy
f663653 - Fixed ISOUtil.byte2BitSet (3rd bitmap support) PR108
- multiple dependency upgrades 1d3127c
- small fixes, comments, and tiny performance improv PR109
- Added jPOS default ISOCurrency overrides 5037153
- ISOCurrency sorts JRE currencies by currencyCode 04ae697
- Got rid of Xerces and JUnit addons deps 04ae697.
- q2 --cli now defaults to
deploy/cli
directory 86e3450 - ISOResponseListener converted into functional interface PR112
- Bugfix in ISOUtil.asciiToEbcdic(byte[], int, int) 8a12c18
- Implementation of pin block format 05 in JCESecurityModule PR114
- Prevention against locking of deploy directory scanning PR115
- ISOUtil now use Charset IBM1047 for EBCDIC conversions 6e2d3d3
- Add
--ssh
et al, migrated to jline3 c6cc6024 - Upgrade Gradle to 3.1 c3dbc3a
- ISOField.dump dumps JSON data as field content 2326752
- Added CLI 'deploy' subsystem PR116
- Upgrade JE to 7.0.6 1d8c330
- Upgrade BC to 1.55 ed5b64dc
- Added CLI.exec methods d66511b
- Correct 3rd bitmap handling for cases of contiguous or split bitmaps (3rd bm in a data element) PR118
- BaseChannel add ability to override pack 79f31a8
- Upgrade to Gradle 2.8 ad26f77
- Add org.jpos.util.Tags helper class c50fb0b
- Add Tags hasAll, hasAny and hasNone methods 95db3dd
- Reduced
Context.dump
verbosity 2e93815 - SystemMonitor: Added OS version and load average a461b9f
- MUXPool adds 'enabled' support a52b088
- Enable PKI (RSA) cryptosystem in SMAdaptor PR99
- Add support for IFB_HEX f9c83e4
- Added
reply-keepalive
property to CSChannel and VAPChannel. Defaults totrue
f9c83e4f3a25...8028e07c47c1 - Upgraded Gradle wrapper to 2.11 fc3e953
- Update ISO-4217 currencies PR100
- ISOCurrency now uses currencies from jvm PR101
- Q2 uses WatchService to speedup deploy dir changes detection 44a9f54
- Transition to org.jdom2 PR102
- Serializable TSpace PR103
- Q2 registers itself with the NameRegistrar bc7be43
- Add Card, Track1, Track2, CardValidator, LUHNValidator 7ceb158
- Possibility to use dCVV/CVC3 calculation PR105
- Add IFEPE_LLLCHAR support for mastercard DE112 PR104
- Do not throw ISOException for a field not present in fpath PR91
- TransactionManager resume checkpoints in profiler e9355878
- Upgraded Gradle wrapper to 2.4 d4295d2
- Added viewTests task d5e8bc2
- BaseHeader and BASE1Header now operates on cloned copies of byte[] 6a4f430
- TransactionManager: Reduce memory footprint of processed transactions 37f5f62b
- Q2 do not force new classloader on first iteration d77dd3f2
- Multiple minor improvements (PMD complains)
- add ability to shutdown SystemMonitor 38173f6
- commons-cli upgraded to 1.3.1 ce5ceb3
- xerces upgraded to 2.11.0 888ec12
- Upgrade to BC 1.52 d14b811
- Added BaseChannel round-robin property f93d986
- Added QBeanSupport.close(Closeable ...) helper ecb3f95
- ChannelAdaptor reduced verbosity on failed connections 2e4bbc8
- TransactionManager call profiler.checkPoint on prepareForAbort 9d4f40d
- Logger.log catches LogListener Throwables 1646073c
- Baseline is now Java 8 c6b996c
- Better alignment of Context.log output 6e2a8bc
- Added JSParticipant 28ba07f
- Fixed issue with JBoss classloader 5d1d2f99
- Fixed jPOS-118 DailyLogListener - OutOfMemory on compress PR-92
- jPOS-115 add deny to iso server PR-94
- Add process name and peak threads to SystemMonitor f47b6e8
- Upgrade to Gradle wrapper 2.6 b3360be
- Fixed jPOS-77 SimpleConfiguration.get fails when multiple entries are used PR97
- Add TZCHECK cli command 34e5adc4
- Add TimeZone info to SystemMonitor 9a84b00
- Show Log timestamp in ISO-8601 format (UTC) cd5aafd4
- Add Q2 --pid-file optional switch 8523b9ab
- Add ISOUtil.readableFileSize method 618a2a5
- Add free and usable diskspace on CWD FS 3febd1b
- Add a timestamp to the transaction manager thread name PR98
- Add SpaceLogListener d29efb1c
- FrozenLogEvent implements Serializable 06d3401
-
BaseChannel.receive
throwsIOException
instead ofISOException
if not connected 6d0a883 - Added support encryption and decryption in JCEHandler PR84
- Resolved memory leak in OneShotChannelAdaptorMK2 PR85
- Handle channel-name and socket-info as Strings 7fa77c2
- EuroSubFieldPackager reverted baae23b (issue with LL versus LLLL prefecture)
- Added
IFEP_LLLBINARY
,IFEP_LLLCHAR
,GICCSubFieldPackager
andGICCChannel
c615a1d - Added
org.jpos.util.StopWatch
2cc4e6a - Added SystemSeed helper 129a187
- SMAdapter.translateKeyScheme and JCESecurityModule implementation (PR86)
- Got rid of detecting numeric tags in TLV packager to simplify and guarantee order of tags, MUXPool private methods made protected to allow subclassing (PR87)
- SunJSSESocketFactory extends GenericSSLSocketFactory in order to avoid repeated code 8f682ad
- GenericSSLSocketFactory adds support for
enabledProtocols
required per PCI compliance e8cf528 - Fix thread allocation error with race conditions and improve thread naming PR88
- TransactionManager more aggressive thread creation 0b41072
- TransactionManager warning if in-transit transactions is too high 5603099
- Updated deps: felix.framework to 5.0.0 org.osgi.core:6.0.0 xmlunit:1.6 c460076
- JSONPackager temporarily on hold 42f8ad6
- MUXPool now has ROUND_ROBIN_WITH_OVERRIDE and SPLIT_BY_DIVISO f14b4e2
- Add space to error
DirPoll
message to make more readable (PR66) - Use default logger when no log source logger or listeners (PR67)
-
TransactionManager.getOutstandingTransactions
needs to check input-space that can be different than the standard space (9c83a64 ) - Q2 checks if ClassLoader has been already registered with the MBeanServer 2dbd8de
- Allow faster shutdown of dir polls PR70
-
SimpleKeyFile
do not log if logger is null (7c92d0a) - this is a follow-up to PR67 - Fix for PR67 backward compatibility (8d5da6e)
- Added `ISOUtil.hexdump(byte[] buffer, int offset); (efb6e97)
- Added TTTLLLV support e9defcf
- Fix padding end issues in TLVList - PR77
-
PosDataCode
now implementsLoggeable
(f25c784) - Added
LogEvent.toString(String indent)
helper method (0037ed6) -
LogChannel
support nested messages and new propertiesrealm-field
andrealm-timestamp
(5a11844) - Added
TPS.setSimulatedNanoTime(long)
(b411eda) - Improved LogEvent timestamp PR78
- JCESecurityModule maintenance and added calculatePVVImpl PR80
-
BSHResquestListener
now honor script's boolean return value PR81 - Fix logging issue in calculatePVVImpl, Split formatPANPSN to separate methods, Add ARQC veryfication and ARPC generation support PR82
- BaseChannel now throws
IOException
instead ofISOException
on non ISOExceptions 6e08532 221196f d7a92bd - Enhanced DUKPT functionality (exportPIN) PR83
- Added OneShotChannelAdaptorMK2 (experimental, will replace OneShotChannelAdaptor) (2784deea)
- Bugfix in AsciiHexInterpreter lowercase uninterpret (ab7a9a63)
- TransactionManager: convert Thread[] to List, Use foreach, SpceUtil.wipe and generics (see PR47)
- Added
org.jpos.iso.PosDataCode
(1fdfd1d) - QMUX use internal space, use
reuse-space
property for backward compatibility (d6194c3) - Added Context trace (cce6a27)
- Fixes javadoc, deprecation and unchecked warnings PR-50
- Generalized BaseChannel (PR-51)
- Added contributed DecimalTagMapper (PR-53)
- Added contributed TLV and EMV support (PR-52)
- Protect sensitive data in ISOMsgPanel (401d820)
- jPOS-65 ISOUtil.hexdump (offset+len) behaviour (e957d1c)
- Added support for setting custom trailers. (Also fix long standing typo) (PR54)
- Simplifications and improvements in SimpleMsg PR55
- Replace ISOUtil.ENCODING with ISOUtil.CHARSET PR56
- Enable nesting in *TaggedPackager other composite fields PR57
- TLVList and TLVMsg implement Loggeable e044c24
- Remove dependency on platform default encoding for ISOUtil.asciiToEbcdic (PR60)
- Added
xml-config
(ae05521 ) - Upgrade Gradle to 1.12 (548a57b)
- ISOPackager interface does not extend LogSource anymore (ada3f0c)
- Added
ISOComponent.getFieldNumber()
(b53edc7) - Added
JSONPackager
(9d1a86e) - Added TransactionManager
getSerializable
,getContext
andgetId
ThreadLocal based statics (c6da5f3) - OSGi Activator now honors org.jpos.q2.autostart property (bfdaa4c)
- Upgraded Gradle to 2.0 (af16f20)
- Added
src/dist/bin/q2.bat
DOS script (e900fe1) - NameRegistrar now internally use TSpace, adds
get(String,timeout)
method (c5160f2) - Added PosDataCode.valueOf(byte[]) (e1a0c38)
- Fixed TM ConcurrentMotificationException in TM stop introduced in PR47 (bd97570)
- Added TRACK1 and TRACK2 flags to PosDataCode.ReadingMethods according to jPOS-CMF 1.0.11 (1335d6a)
- Prevent ISOMsgFieldPackager.unpack NPE PR61
- Initial support for types ZEK, DEK, MK-DAC, MK-DN PR62
- SMAdapter: add methods for CAVV/AAV calculation and verification PR63
- Added preliminary PGP support (ce66f8d)
- Support for jar: protocol for FSDMsg schema (PR64)
- QConfig and QXmlConfig now has get with timeout (aee43ca)
- Fixed
IFA_BITMAP
issue with small bitmaps ([42b1f035]) -
QMUX.isConnected()
check thatQMUX
is in running state (df69a8c) -
EuroSubFieldPackager
tag prefix is actually LLLL ([baae23b3])
-
Added DUKPT support (dc24d14)
-
Added interface TaggedFieldPackager (568011e)
-
Upgrade to JE 5.0.73 (3d49428)
WARNING This upgrade requires running the
DbPreUpgrade_4_1
script using version 4.1.20.
The command is:java -jar je-4.1.20.jar DbPreUpgrade_4_1 -h directoryName
on every JE space created with the previous version. See JE's ChangeLog.
-
Avoid unpacking fields not required in requests (acfb52c)
-
Added new Space NRD (not read) operation (f50169206)
-
qbean.SystemMonitor now shows default encoding (26ebd40)
-
PR37 - Remove unpadding of binary fields in FSDMsg.pack method (112b0a3d)
-
jPOS-113 SimpleKeyFile.getKeys fails when key names have dots f552682
-
PR38 - Clean shutdown of DirPoll when file processing is in progress (7dd4090)
-
PR39 - Allow schema attribute separator to use in new separators (12486354)
-
BaseChannel.closeSocket is now protected (4caab615)
-
PR42 PIN mailer api
-
Indonesian Rupiah (360) will have 2 decimals ef843b58
-
Added ISOCurrency
parseFromISO87String
andtoISO87String
- deprecateddouble convertFromISOMsg
e67d4af -
PR45 TLVMsg and TLVList improvements
-
Added
SpaceUtil.outIfEmpty
andoutWhenEmpty
647ebfe -
Bugfix in
IFE_BITMAP
not properly dealing with secondary bitmap e610f11 -
jPOS-116 XML parser behaviour causing field value to be set prematurely 1f8ce54
-
Improved TSpace performance by reducing calls to
notifyAll
e59d679 -
BSH script now expose
cfg
Configuration -
Added new
QConfig
service ea9c1a3 -
Added
merge-configuration
support 35a1a208
- Added len,description constructor to IF_NOP
- Added IFB_LLHEX (can be used to deal with encrypted track2s)
- Added HexNibblesPrefixer (required by IFB_LLHEX)
- Added OSGi support
- Added 'qnode' (OSGi testbed)
- DirPoll now supports file compression
- Profiler can be
reenabled
- TransactionManager PAUSED transactions reuse profiler to provide combined elapsed times
- Added
org.jpos.iso.GenericSSLSocketFactory
- jPOS-105 QServer should unregister as a space listener
- jPOS-106 ChannelAdaptor reconnect flag uses non serializable Object
- jPOS-108 FSDMsg consuming input stream
-
DirPoll.scan
is now protected -
MUX
interface now extendsISOSource
-
QMUX.send
now checksisConnected()
-
DirPoll
now accepts apriority.regex
boolean property (73c2f84) - jPOS-110 QMUX major start-up issue (1526dab)
- DirPoll Retry when archive.timestamp is set to true (pull/33)
- Generate optional app specific version info 02f739a
- TransactionManager sets activity related thread name
- TransactionManager
call-selector-on-abort
property now defaults to true - Added QThreadPoolExecutor contributed by Damien pull/18
- QServer now fire connect/disconnect events contributed by Chhil pull 22 and pull 23.
- Assorted contributed code inspections
- Bugfix for ArrayIndexOutOfRange in EuroSubFieldPackager
- Contributed IFE_LLLLCHAR and IFE_LLLLBINARY field packagers
- QExec now has an QFactory alias, logs stdout to jPOS logger
- SystemMonitor can run optional scripts (using multiple
script
properties) -
jPOS-104 make sure the TransactionManager
sessions <= max-sessions <= max-active-sessions
- jPOS-103 BaseChannel now has default 5 minutes timeout
- jPOS-101 ISOAmount constructor forces ISOCurrency scale
-
org.jpos.iso.Connector
now supports apreserve-source-header
property (defaults to 'true') d - Q2 now honors optional 'enabled' attribute in QBean descriptors
- PADChannel now supports 'delay' property.
- Added
org.jpos.util.ConcurrentUtil
- jPOS-102 QMUX use ScheduledThreadPoolExecutor
- jPOS-55 QMUX getKey - make sure MTI is padded to 4 positions
- jPOS-63 Filter sensitive in org.jpos.transaction.Context dumpMap
- jPOS-61 Extending SMAdapter for support validation and generation of EMV Application Cryptograms ARQC/TC/AAC and ARPC
- JESpace has now a default txn lock timeout of 5s (instead of JE's default 500ms)
- BaseChannel removed double notification to observers at
connect
time - KeyStoreAdaptor now registers with the NameRegistrar at init time
- Upgraded to Gradle wrapper 1.4
- jPOS-98 Context not serializable to JESpace
- Added
org.jpos.util.BufferedExceptionLogListener
- GenericPackager supports 'jar:' prefix in packager-config
- Added INSTALL support (backported from jPOS-EE, extract META-INF/q2/installs from available jars)
- Context.dumpMap is now protected
- added
IFE_LLLEBINARY
(Binary version of IFE_LLLCHAR) - added
EbcdicBinaryInterpreter
- added
ISOUtil.asciiToEbcdic(byte[] s, byte[] e, int offset)
- added
ISOUtil.char calcLUHN (String p)
- added
ISOUtil.String getRandomDigits(Random r, int l, int radix)
- jPOS-95 jPOS-95 Handling different character encodings by FSDMsg
- New Build system Gradle
- jPOS-94 KeepAlive not honored in BaseChannel.connect(Socket)
- jPOS-92 CLI parser gets confused with spaces
-
jPOS-89 GroupSelector's select should not be called if prepare is ABORTING (IMPORTANT NOTICE: make sure you don't need to set the
call-selector-on-abort
property) - Added wait-for-workers-on-stop to ChannelAdaptor pull#14 8e97165
- BaseChannel now has a setSoLinger method
- jPOS-85 UnsupportedOperationException in BaseChannel.closeSocket when using SunJSSESocketFactory
- XMLPackager.unpack input stream now honors header
- FSDMsg binary fields can be used as key (they get converted to hex when looking for the schema) 74d306c
- ISOServer start/end now shows remote port number in realm
- Profiler.dump end event now shows partial time since last checkpoint 1d6fe26
- jPOS-80 Expose TPS data in TransactionManager via JMX ([https://github.com/jpos/jPOS/commit/53ab608c2981a893284f04570591c53bd7b1a724 53ab608])
- jPOS-79 Add support for Configuration providers to Q2
- jPOS-74 Add support for Secure Messaging in JCESecurityModule
- jPOS-73 NPE in ISOServer run when configured outside Q2
- jPOS-72 New MultiSessionChannelAdaptor
- jPOS-71 Extended SMAdapter to support CVC3 verification
- jPOS-68 Improved default server socket creating in ISOServer
- jPOS-69 Fix ThreadPool.getPoolSize()
- Upgraded BerkeleyDB to 4.1.10 (requires java -jar je-4.1.10.jar
- DbPreUpgrade_4_1 -h before moving to version 5, see BDB Release * Notes
- New TSpace gc strategy with dual expirables sets
- jPOS-47 Add support to ISOUtil.protect to accept 'D' as delimiter
- jPOS-48 Added methods to parse and format conversion rate fields
- jPOS-50 Adding implementation of LocalSpace for JESpace
- jPOS-51 Update ISOCurrency.properties
- jPOS-49 Added service of packaging complex field (as binary) if it is defined as opaque
- jPOS-46 SimpleMsg support in ProtectedLogListener
- [jPOS-45[(https://jpos.org/issues/issue/jPOS-45) EncryptedPIN.extractAccountNumberPart with length of accountNumber < 13
- jPOS-44 LogEvent: ConcurrentModificationException issue
- jPOS-43 'truncate' attribute in fixed length fields
- jPOS-5 XMLPackager header encoding
- jPOS-3 XMLPackager header encoding
- jPOS-42 QMUX, header and non ISOMsgs (i.e. FSDISOMsg)
- raise ISOException if QMUX.getKey() does not have content besides the MTI * 20b388b
- jPOS 1.8.2 0141850
- bugfix: DirPoll sets processor even if Processor is not an instance of LogSource
- jPOS-39 XMLPackager charset bytes issue
- TransactionManager now support dynamic session creation [g142f8bb]
- jPOS-40 QMUX startService method query
- Added jPOS Archetype
- First jPOS version built by Maven - We have now jpos-1.8.0 and compat_1_5_2 as independent Maven artifacts. The 1.7 series has been tagged as v1_7
- jPOS-37 Add xml definition support for TransactionManager.statusListeners ([https://github.com/jpos/jPOS/commit/0b8b16e0de116b805dc4c6088f4b238426d47934 0b8b16e])
- As of r3019, we moved the jPOS development to [http://github.com/ar/jPOS Github]
- GenericPackager now uses an entity resolver (r3019)
- Bugfix on MAC generation, use HashMap instead of TreeMap in JCEHandler (r3002)
- jPOS-24 TSpace.dump now shows key count (r3008)
- Tagged as tags/v1_7_0
- jPOS-21 QServer registers the underlying ISOServer with the NameRegistrar, but not QServer itself (r2944)
- Q2 now has an instanceId (r2949)
- Q2 now support transient descriptors (r2950)
- jPOS-23 Encoding issue in ISOMsg.getBytes(int) and ISOMsg.getBytes(String) (r2959)
- ReConfiguration now deprecated (r2961)
- BSHTransactionParticipant, BSHGroupSelector and BSHMethod moved to module txnmgr. Package renamed to org.jpos.transaction.participant (r2962)
- ISORequest moved to compat_1_5_2 module (r2963)
- jPOS-3 improved unpack exceptions
- jPOS-12 Add ability to use 'header' as part of the key in QMUX's ''
- jPOS-25 JESpace now implements Loggeable
- jPOS-19 QMUX - add ability to use inner fields as keys (r2972)
- jPOS-20 ChannelAdaptor write-only mode and timeout (r2974)
- Q2 now supports NameSpaces and XInclude (r2982)
- jPOS-30 LMK & scheme variants for JCESecurityModule (r2983)
- jPOS-31 BaseChannel small issues packager before filters (r2989)
- jPOS-32 Updated ISOCurrency.properties (r2996)
- jPOS-33 NPE issue on unconnected ChannelAdaptor when calling isConnected() (r2997)
- jPOS-34 ISODate now supports Locale (r2998)
- jPOS-35 BaseChannel.receive now logs ISOMsg before applying filters (r2999)
- Tagged as tags/v1_6_8
- Added ISOPackager.getDescription(), ISOMsg.dump() now shows packager's description as a comment (r2850)
- HEXChannel new behavior [https://jpos.org/issues/issue/jPOS-6 jPOS-6] (r2851)
- GenericPackager now push logger to sub packagers [https://jpos.org/issues/issue/jPOS-8 jPOS-8] (r2853)
- Added Space.put operation (r2858)
- Profiler support for duplicate checkpoint descriptions (r2859)
- Include fpath option on hasField and unset (r2860)
- [https://jpos.org/issues/issue/jPOS-10 jPOS-10] Issue with ProtectedLogListener and ISOMsg change to use TreeMap (r2861)
- Added ISOMsg.getComponent(fpath) (r2864)
- [https://jpos.org/issues/issue/jPOS-2 jPOS-2] ISOUtil.protect doesn't properly mask track-1 trailer (r2867)
- Add support for a FSDMsg to have a default key schema and not require every key to has its own schema (r2869)
- [https://jpos.org/issues/issue/jPOS-13 jPOS-13] ISOMsg/ISOAmount serialization issue (r2873)
- [https://jpos.org/issues/issue/jPOS-16 jPOS-16] LogEvent records log time and LogEvent lifespan (r2877)
- [https://jpos.org/issues/issue/jPOS-17 jPOS-17] Added max-active-sessions and retry-timeout to TransactionManager (r2886)
- Upgraded jDOM to 1.1.1 (r2887)
- QServer has support for in and out queues (r2892)
- Added new QMUXProxy, QMUXProxyAdaptor and RemoteQMUX (r2892)
- Profiler now uses nanos instead of millis for better accuracy (r2898)
- Added automatic profiling to TransactionManager (r2899)
- Added org.jpos.util.TPS, TransactionManager StatusEvents, TMMonitor (r2919)
- Updated JE libraries to 4.0.103 (r2929)
- CardHolder(ISOMsg) expiration date is now optional (r2932)
- TransactionManager's paused-timeout default is now 0 (r2933)
- Tagged as tags/v1_6_6
- DirPoll now accepts a 'zero-length' property (r2721)
- Space interface now supports generics (r2729)
- Added ISO-8583 v2003 support (r2731)
- Added helper method boolean ISOMsg.getFields() (r2733)
- Added Q2 start() and stop() methods (r2735)
- OneShotChannelAdaptor now support handback-field(s) property (r2740)
- New build target 'srcjar' for source browsing and debugging in IDEs like Eclipse (r2750)
- Added org.jpos.util.WatchDog (r2752)
- Added XML preamble to RotateLogListener (and DailyLogListener) r2761
- Fixed issue with ISOMeter counters not going beyond 1M messages (r2763)
- Added JESpace (r2784)
- Added junit.jar to lib/test directory, and added tests and code for separator attribute and nested property elements in key fields for handling key fields with values like backslash and spaces (r2788).
- ChannelAdaptor.getCountersAsString() now show idel time instead of last transaction timestamp (r2789)
- Added BaseChanne.getDynamicHeader(header, image) (r2791)
- QMUX fixed bug with notifications (xx4x/xx50) (r2804)
- QMUX Handle situations where STAN length is > 6 in versions earlier than v2003 (r2808)
- BaseChannel fixed important bug in clone that affects ISOServer (r2813)
- XMLPackager now suppors payload as field content in addition to the 'value' attribute (r2817)
- Aligned packing length error to match class name on several ISOFieldPackagers (r2818)
- Provide direct route into Channel to allow sending of data in addition to ISOMsg (r2822)
- Added Dumpable helper class and DebugFilter (r2827)
- ISOComponent.getChildren is now a Map (r2836)
- Bugfix in BCDInterpreter, RIGHT_PADDER_F, added IFB_FNUMERIC and IFB_FLLNUM (r2841)
- QMUX XML config now support mtimapping element (r2842)
- Tagged as tags/v1_6_4
- Default MAC implementations in JCESecurityModule for CBC-MAC and EDE-MAC based on MAC algorithms available in BouncyCastle JCE provider (r2633 - demsey)
- Added FSDISOMsg, DummyPackager and FSDChannel (r2635)
- Bugfix in BCDInterpreter related to padding (r2636)
- Use ISO8859_1 encoding in FSDMsg and FSDISOMsg (r2640)
- FSDMsg now has a setMap(Map) method (r2645)
- FSDMsg added dummy separator (DS) (r2646)
- Prevent defense in JDBMSpace.gc() and TSpace.gc() to avoid killing DefaultTimer on exeption (r2649)
- Added Contributed QBeanFactory (r2656 - bharavi)
- ISOUtil handle odd-length in hex2byte (String) (r2656 - bharavi)
- Added Space.existAny(Object[] keys) and Space.existAny(Object[] keys, long timeout) (r2664)
- NACChannel supports new optional property 'tpdu-swap', defaults to true, the old behavior (r2667)
- Added IFMC_LLBINARY, patched EuroSubFieldPackager in order to deal with Binary fields (r2669)
- Added TelnetXMLChannel (r2670 - mark)
- Fixed bug in ISOMsg's bitmap when using fields > 192 (r2673)
- Added ChannelInfoFilter (r2674)
- Added SysLogListener (r2688)
- Prevented ArrayIndexOutOfRange in ISOBasePackager.getFirstField() (r2700)
- Optimized imports in DirPoll, removed dependencie with compat_1_5_2 [ReConfigurable] (r2701)
- Added getEntry to Profiler (r2704 - dbergert)
- Tagged as tags/v1_6_2
- added ISOCurrency.getCurrency(String) (r2466)
- added ISOPackager.createISOMsg() factory method (r2469)
- new SpaceTap class (r2475)
- added IFA_LLLLBINARY (r2480)
- added Context.resume(), new ISOResponseListener interface (Work in progress) (r2488)
- added ISOServer.getISOChannel(String) method (r2490)
- added getCountersAsString and resetCounters to QMUX and ChannelAdaptor MBean (r2494)
- added getCountersAsString(*) to QServer and ISOServer (r2500)
- ISOServer, QMUX and ChannelAdaptor are now loggeables (and would dump the counters) r2502
- QMUX implements async functionality (r2509)
- Added jPOS CLI support and some initial commands (r2517)
- add new helpers to Configuration (getInts, getLongs, getDoubles...) (r2530)
- new ThroughputControl and ThroughputControlFilter (r2530)
- added ISOMsg.getBytes(int) (r2532)
- bugfix in FSDMsg leading blanks on variable length fields, added EOF modifier (r2539)
- added Space.push operation (r2541)
- resumed transactions take precedence over standard ones (r2542)
- added GZIPChannel flush (r2545)
- fixed race condition in TransactionManager pausable context (r2547)
- Added optional "recover" configuration property to TransactionManager (defaults to true, r2548)
- ChannelAdaptor, added optional 'ignore-iso-exceptions' element (r2551)
- bug fix in QMUX.mapMTI (issue matching retransmissions) (r2556)
- QMUX support for ISO-8583 version 2003 (STAN's length is 12) (r2564)
- Added new connect-timeout configuration property to BaseChannel (r2567)
- BaseChannel now support [multiple] alternate-host and alternate-port (r2568)
- License upgrade to AGPLv3.0 (r2569)
- Removed MX4J-specific JMX extensions - MX4J is now optional (r2571)
- Added NameRegistrar.getIfExists (r2576)
- EBCDIC related packager support contributed by Alexander Yakovlev (r2593)
- ISOMsg - added support for field paths (r2596)
- ProtectedLogListener support field paths (r2598)
- Upgrade to jdom-1.0.jar
- Changed LogEvent to support new jdom version
- Upgraded build system (uses jPOS-EE's approach
- Added DailyLogListener
- Use crimson instead of xerces
- Created compat_1_5_2 module
- Upgraded jdbm to 1.0
- transient:* and persistent:* Spaces 'urns' now maps to TSpace and JDBMSpace
- ISOMsg writeExternal and readExternal now honors packager if available
- ISOMsg.set(int,String) can be used for ISOBinaryFields provided there's a packager associated with the ISOMsg (the string is interpreted as hex)
- Added appropriate thread names
- TransactionManager stuff moved to its own module 'txnmgr'
- BaseChannel.disconnect closes socket before closing streams (better SSL behaveour)
- ISOServer do not drop connection on VetoException
- bugfix in Log4JListener (if watch=0 use default watch to avoid CPU going up to 100%
- TSpace and JDBMSpace throws NPE at out time if either key or value are null
- ISOCurrency's data moved to a ResourceBundle
- Dump hexstring of binary fields in ISOBasePackager.unpack
- Added IFE_AMOUNT
- Added TransactionManager debug property
- TransactionManager creates default persistent-space if one is not specified
- TransactionManager honors participants configured after group selectors
- TransactionManager now support RETRY action at prepare time (r2359)
- QServer.stop - avoid npe on unstarted/misconfigured servers (r2360)
- ISOChannelPanel now supports wipe and protect attributes (r2363)
- Added IFE_SIGNED_NUMERIC and SignedEbcdicNumberInterpreter
- Added sendKeepAlive() method to BaseChannel
- New ´keep-alive´ element in ChannelAdaptor
- FSDMsg trunk fields bigger than length
- Reworked 3rd bitmap support
- QMUX now support multiple ready indicators
- NPE in Q2 startup when deploy directory is not available/readable
- ISOServer now honors new keep-channels property (true|false)
- Added bind-address and backlog properties to ISOServer
- ISOServer: close ThreadPool on shutdown
- FSDMsg truncate A fields larger than length
- synchronized NameRegistrar
- GenericSubFieldPackager - pack dummy fields if field is not available and inner message has no bitmap
- QMUX now supports new .. configuration element (defaults to 41, 11).
- Added org.jpos.transaction.participant.HasEntry general purpose Group Selector
- TransactionManager attempts to call setTransactionManager(TransactionManager) on participants
- Bugfix in IF_TCHAR (unpack offset - r2410)
- Added Q2.shutdown (boolean join) (r2414)
- Added Join participant (r2416)
- Added keep-alive property to BaseChannel (r2417) - feature request #404
- Include a call to tx & rx.interrupt so that an idle ISOMUX will honour terminate requests.
- added setOverrideHeader(boolean) and isOverrideHeader() to BaseChannel
- ISOUtil.normalize uses UTF-8 encoding
- BaseChannel: added protected int getHeaderLength(ISOMsg m)
- TransactionManager.stop() wait (via join) for sessions to terminate (r2422)
- ISOServer/ThreadPool: Added socket closure in the event of ThreadPool exhaustion. Combined with a tightening of count of active, working and available Threads in ThreadPool itself (r2423).
- Added IFA_LLLLLLCHAR field packager (r2424)
- Bugfix in DailyTaskAdaptor in order to deal with daylight saving change (r2425)
- XMLPackager honors optional 'header' element at unpack time. (r2426)
- bugfix in ChannelAdaptor: honor reconnect delay on peer-disconnect exceptions (r2429)
- Added new configuration element to QMUX (r2432)
- genericpackager.dtd - added optional firstField element to fieldpackager and isofieldpackager (r2434)
- QMUX added removeISORequestListener (r2435)
- IFB_LLLHCHAR, IFB_LLLHECHAR and IFB_LLLHBINARY length can go up to 65535 (r2437)
- ISOBasePackager - add support for composite MTIs (r2438)
- BaseChannel accepts new max-packet-length optional property - new default size 100k (r2441)
- bugfix: ISOServer clones max-packet-length
- Added new MUXPool component (r2443)
- TransactionManager minor optimization - do not take snapshot if psp is not actually persistent (r2444)
- SpaceUtil new wipeAndOut helpers (r2447)
- TransactionManager - new PAUSE support (r2448)
- bugfix: GZipChannel compressed/uncompressed length (r2458)
- TransactionManager new method getOutstandingTransactions (r2459)
- added org.jpos.transaction.participant.Forward (r2459)
- added org.jpos.transaction.participant.CheckPoint (r2460)
- QFactory.properties added txnmgr and transaction-manager aliases (r2462)
- Tagged as v1_5_2 - only available via subversion
- org.jpos.util.DefaultTimer - set daemon flag
- FSDMsg: use TSpace instead of TransientSpace
- BASE1Header.unpack doesn't clone byte array
- ChannelAdaptor now registers itself in the NameRegistrar
- IFB_BITMAP, deal with primary bitmaps where bit 0 turned on doesn't mean we have a secondary bitmap.
- FSDMsg, bugfix: read was breaking on FS, even if fs=false
- ConnectionPool - Altered getConnection to wait if maxConnections is not reached and a new connection is pending even if waitIfBusy is false.
- Added QBean based SystemMonitor (org.jpos.q2.qbean).
- BSHFilter honors returned ISOMsg
- Q2 prevents exiting the JVM when not running in standalone mode (i.e. inside an appserver)
- org.jpos.ui.action.Exit now accepts an optional exit code
- q2mod_jpos added ConnectionPoolAdaptor
- BaseChannel.sendMessage (byte[] b, int offset, int len) was not honoring offset and length - fixed.
- QMUX register itself with the NameRegistrar at ''init'' time instead of ''start''
- NPE in ISOUtil.trimf
- IF_NOP.pack now returns a zero-length byte array instead of null
- EuroSubFieldPackager.pack fixed problem with ebcdic subfields
- Added support for postpack F127.26
- Fixed postpack fields 127 and 52
- BSHTransactionParticipant implements AbortPartipant - added optional trace attribute
- ISOBasePackager.unpack raises exception if field packager not configured
- Added SunJSSESocketFactory.getConfiguration()
- BaseChannel now honors local-iface and local-port properties
- Fixed bug in ISODate.parseISODate, added unit tests
- ChannelAdaptor doesn't disconnect on VetoException
- BSHFilter handles VetoException
- TLVList allow starting offset on unpack
- FSDMsg.dump more YAML-ish and less XML-ish
- q2modules - added OneShotChannelAdaptor
- TLVList allow data stream being unpacked to end with padding (0x00 or 0xFF)
- Bug fix in BCDInterpreter (when using RIGHT_PADDED_F)
- Added GZIPChannel
- ISOMsgPanel: Ask the message to be displayed for the highest field, rather than assume 128
- ConnectionPool retries connections on errors (r2260)
- GenericSubFieldPackager skip over null fields, this allows fields to be non-sequential in number. (r2262)
- Q2 - Include thrown Errors in the problem renaming processing (.ENV extension)
- Released in 09/18/2005 (Tagged v1_5_0)
- new package org.jpos.tlv (TLVMsg, TLVList)
- Added HEXChannel
- LogEvent new constructors (no need for LogSource), added toString()
- FSDMsg supports 'B' type (Binary data)
- DirPoll - ability to archive processed requests
- BaseChannel.disconnect - set SO_LINGER to zero
- #423 - ISODate.parseISODate - force milliseconds down to zero.
- Changed sendMessageTrailler signature in order to make packed image available.
- Added interface ReadableConfiguration
- Added Configuration.put
- JDBMSpace and TSpace performs automatic gc by means of a Timer task
- Added LocalSpace.addListener(key,listener,timeout)
- New TSpace implementation
- Added ObjectTemplate
- bugfix in SpaceProxy jndi binding
- BSHRequestListener whitelist support
- Added BSHTransactionParticipant and BSHGroupSelector
- Added XmlConfigurable to jpos-util.jar
- Q2Configurable replaced by org.jpos.core.XmlConfigurable
- Q2ConfigurationException replaced by ConfigurationException
- ISOException accepts throwable as nested parameter (instead of Exception)
- Bugfix in ISOUtil ebcdic tables
- Enhanced support for SSL in ChannelAdaptor and QServer
- Added IFB_LLLHCHAR
- Bugfix in RowMap (escape "'")
- released Oct 2004 (tagged: v1_4_8)
- Added ExceptionLogFilter
- Added setSocketFactory(ISOClientSocketFactory) to ISOChannel. All classes who implement ISOChannel will need to add this method.
- Made SunJSSESocketFactory configurable. Can specify keystore and clientauth now in Q2.
- SunJSSESocketFactory client authentication added.
- Upgrade to JDom beta 10
- LogEvent now handle JDom Elements
- added org.jpos.transaction.GroupSelector
- added JDBMSpace.getKeys()
- Bugfix in ISOBasePackager (fields > 128)
- Added SpaceUtil.nextLong(sp,key)
- MX4J upgraded to 2.0.1
- ISOServer: new factory method createSession
- ISOServer: new method getLastConnectedISOChannel
- BaseHeader implements Loggeable
- ISOMsg.dump dumps header
- BaseChannel.receive hexdumps header and binary image on ISOException
- Added org.jpos.transaction package
- Added ISOUtil.hexdump (byte[], int, int);
- Bugfix in IFEB_LLNUM.unpack (ISOComponent, InputStream)
- Added TinySpace, org.jpos.space.Request
- CardSelector, added remove(CardBrand) method
- CardBrand, added handBack object
- Added Padder, Interpreter and Prefixer interfaces for easy implementation of field Packagers.
- Added JDBMSpace template based in/rd
- New ISOFieldPackager implementation (based on interpreters, padders and prefixers)
- Added BSHLogListener
- Track1 support in CardHolder
- Added SpaceUtil
- Added SpaceFactory(spaceUri), SpaceInterceptors
- Added FSDMsg (Field Separator Delimited Message)
- Bugfix: IFB_LLLHECHAR wrong maxlength
- Added helper ISOUtil.hexdump (String)
- Bugfix: handle ISOException in ISOMUX.doTransmit
- Added ISOBasePackager.setFieldPackager (int, ISOFieldPackager)
- Added JDBMSpace
- Added Space.out (key,value,timeout) method
- New ISO93BTLVPackager/TLVField, etc.
- LogListener.log now returns a [possibly null] LogEvent
- New package org.jpos.ui
- Added org.jpos.bsh (BSHFilter, BSHRequestListener)
- New method ISOUtil.str2bcd (String s, boolean padLeft, byte fill)
- Bugfix: NPE in ISOServer.checkPermission when used standalone
- Bugfix: RotateLogListener.logDebug () - synchronized
- Support AspectJ 1.1
- released Jul 2003 (tagged: v1_4_6)
- Removed Q2 and related modules.
- Added PersistentSpace
- Added ISOMsg setSource/getSource
- Support for ISOValidators (contributed by Jose Eduardo Leon)
- New application: Q2
- Replaced JMXRI by MX4J, new HTTPAdaptor, JNDIAdaptor and RMIAdaptor
- Security: new 'allow' property in ISOServer (checks peer IP)
- Added: packager/nyceiso8583.xml (contributed by Henry Chan [email protected])
- QSP: new thread-pool tag
- ISOMeter, new scroll and refresh attributes (contributed by Kris Leite)
- released Sep 2002 (tagged: v1_4_4)
- Removed deprecated ISOFactory and ISOFactory based examples
- New org.jpos.apps.qsp.Router class
- SQLFilter and CalculateFilter contributed by Zhiyu Tang
- QSP New tag
- New org.jpos.space package and supporting classes
- New MUX and Channel interfaces
- New Stream based pack/unpack
- New stream based approach to PADChannel
- New ChannelPool
- Bugfix: MacroFilter problem with nested ISOMsgs
- XMLChannel: Better handling of message boundary
- New BlockingQueue.dequeue (timeout) method
- GenericPackager now support reading config file from XML InputStream (code contributed by Mat?as Salvador [email protected])
- QSP's tag now support new "class" attribute (code contributed by Andres Alcarraz [email protected])
- Released May 2002 (tagged: v1_4_2)
- Added IFA_LCHAR (contributed by Kris Leite)
- New SubConfiguration class contributed by Andres Alcarraz
- BaseChannel honours header
- Sender and MacroFilter added support for specifying timezone in the $date
- Added org.jpos.security package, examples, unit tests
- QSP Sender task is now an MBean
- new ISOMsg.unset (int []) method
- MacroFilter now accepts "valid" and "unset" config properties
- new WebServer task (integrates Jetty with QSP)
- new TLVPackager
- new EJBConnector (and EJBConnectorMBean)
- new LogChannel/LogPackager can be used to reprocess jPOS's log files
- Bugfix: AWT blocker activation interrupted (JDK1.4+QSP+GUI)
- Bugfix: jmxri.jar added to jpos.jar's manifest
- Released Feb 2002 (tagged: v1_4_0)
- Added MacroFilter (useful to set sequencers, date, etc.)
- Added SAFChannel (reliable Store and forward)
- Sender task now support $date and $sequencer, sequencer property and one-shot.* Added preliminary JMX support
- Tagged all files as v1_3_9_preJMX
- added byte[] ISOUtil.hex2byte (String s)
- added static Configuration QSP.getGlobalConfiguration()
- Released Nov 2001 (tagged: v1_3_8)
- Added static QSP.getTask (name);
- QSP allows custom tags
- Configuration now allow multiple properties with the same name.
- New helper method in Configuration.
- QSP qsp-config accepts name and property*.
- QSP : name attribute is added as a property to configuration object.
- QSP : added support for non-Runnable tasks.
- bugfix: NullPointer in Header serialization (reported by Bharavi).
- ConnectionPool QSP example (added by Rajal)
- bugfix: XMLPackager - problem with inner messages (added unittest)
- bugfix: ProtectedLogListener setting alien wiped fields
-
(Thanks Soren Hilmer <[email protected]>).
- bugfix: ISOBaseHeoder.unpack, use factory method for MTI too
-
(Thanks Soren Hilmer <[email protected]>).
- moved BASE1Header from org.jpos.iso to org.jpos.iso.header.
- added org.jpos.iso.ISOHeader and org.jpos.iso.header package .
- VAPChannel now uses org.jpos.iso.header stuff.
###jPOS 1.3.6 *Released Sep 2001 (tagged: v1_3_6)
- New renumber test in examples/isomsg
- Added ISOMsg.move (old,new) method.
- Added setFieldNumber to ISOComponent in order to effectively renumber
- a component. --thanks Eoin!
- BaseChannel setHeader before unpack (unpack can access header) --thanks Eoin!
- Bugfix: extended bitmap was generated/expected when MAC present --thanks Hani!
- Added ConnectionPool support (tpl and QSP) --thanks Rajal!
- Added static launch(String) method to QSP
- Added PackagerWrapper and CryptoPackager
- Preliminary jUnit support (ant's "test" target)
- Changed build.xml (conditionally build ext module if jars are available)
- LoopbackChannel now clones incoming ISOMsg (in order to simulate a real channel)
###jPOS 1.3.4
- Released Jun 2001 (tagged: v1_3_4)
- new Externalizable strategy on ISOMsg.
- new class org.jpos.util.DefaultTimer().
- RotateLogListener uses DefaultTimer (instead of its own Thread requires JDK1.3).
- RotateLogListener accepts new 'maxSize' parameter.
- new method ISOUtil.protect();
- Added ProtectedLogListener.
- LogEvent added getPayLoad() (required by ProtectedLogListener.
- updated build and jars (Ant 1.4 - crimson, jaxp).
- added log4j preliminary support.
- Added BaseChannel.getServerSocket().
- ISOBasePackager.unpack rethrows ISOException (should an Exception occur).
- ISOBinaryField.setValue accepts either byte[] or String.
- ISOMsgFieldPackager.pack allow components other than ISOMsg to be passed in.
- BaseChannel.newSocket changed signature (no args now).
- BaseChannel.accept now closes listening socket.
- ISOMsg set(fldno,String), set(fldno,byte[]) and new constructor ISOMsg(mti).
- New classes ISOServerFactory and ISOClientFactory
- BaseChannel new easy to override sendMessage (encryption hook).
- BaseChannel uses ISOClientFactory (SSL hook).
- Changes to BaseChannel and ISOServer to support SocketFactories
- Added SunJsseSocketFactory contributed by Bharavi Gade.