Skip to content

ChangeLog

Alejandro Revilla edited this page Mar 16, 2024 · 634 revisions

Resources


jPOS 3.0.0-SNAPSHOT (aka jPOS-Next) - Baseline is Java 21

  • 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

jPOS 2.1.10-SNAPSHOT

  • 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

jPOS 2.1.9 release 2023-12-22

  • 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

jPOS 2.1.8 released 2023-02-21

  • 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

jPOS 2.1.7 released 2022-01-22

  • 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

jPOS 2.1.6 released 2021-03-31

  • 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

jPOS 2.1.5 released 2020-12-06

  • 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 and PACKED_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

jPOS 2.1.4 released 2020-03-31

  • 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

jPOS 2.1.3 released 2019-06-16

  • 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

jPOS 2.1.2 - released 2018-09-19

  • Added Q2.ready() and Q2.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

jPOS 2.1.1 - released 2017-11-13

  • 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

jPOS 2.1.0 -- released 2017-05-27

  • 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 to ABORTED | 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

jPOS 2.0.10 -- released 2017-01-01

jPOS 2.0.9

  • 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

jPOS 2.0.8 -- released 2016-10-16

jPOS 2.0.7

  • 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

jPOS 2.0.6 -- released 2016-04-02

jPOS 2.0.5

  • 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 to true 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

jPOS 2.0.4 -- released 2015-10-19

jPOS 2.0.3

  • 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

jPOS 2.0.2 -- released 2015-06-09

jPOS 2.0.1

  • BaseChannel.receive throws IOException instead of ISOException 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 and GICCChannel 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

jPOS 2.0.0 -- released 2015-02-25

jPOS 1.9.9

  • 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 implements Loggeable (f25c784)
  • Added LogEvent.toString(String indent) helper method (0037ed6)
  • LogChannel support nested messages and new properties realm-field and realm-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 of ISOException on non ISOExceptions 6e08532 221196f d7a92bd
  • Enhanced DUKPT functionality (exportPIN) PR83

jPOS 1.9.8 -- released 2014-08-10

jPOS 1.9.7

  • 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 and getId 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 that QMUX is in running state (df69a8c)
  • EuroSubFieldPackager tag prefix is actually LLLL ([baae23b3])

jPOS 1.9.6 -- released 2014-03-22

jPOS 1.9.5

  • 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)

  • PR36 - Bugfix in MUXPool round-robin (a64ae215)

  • 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

  • PR43 jPOS-100 Prevent multiple instances from running

  • Indonesian Rupiah (360) will have 2 decimals ef843b58

  • Added ISOCurrency parseFromISO87String and toISO87String - deprecated double convertFromISOMsg e67d4af

  • PR45 TLVMsg and TLVList improvements

  • Added SpaceUtil.outIfEmpty and outWhenEmpty 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

jPOS 1.9.4 -- released 2013-12-24

jPOS 1.9.3

  • 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 extends ISOSource
  • QMUX.send now checks isConnected()
  • DirPoll now accepts a priority.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

jPOS 1.9.2 -- released 2013-08-03

jPOS 1.9.1

  • 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 a preserve-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

jPOS 1.9.0 -- released 2013-03-02

jPOS 1.8.9

  • 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 1.8.8 -- released 10/27/2012 (0c2925a)

jPOS 1.8.7

  • 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 1.8.6 -- released 06/29/2012 (f075bf3)

jPOS 1.8.5

  • 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 1.8.4 -- released 04/12/2011 (3eba026)

jPOS 1.8.3

  • 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

  • jPOS 1.8.2 0141850

jPOS 1.8.1

  • 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

jPOS 1.8.0

  • 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 1.7.1

  • 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)

jPOS 1.7.0''' -- released 25/06/2010 (r3000)

  • Tagged as tags/v1_7_0

jPOS 1.6.9

  • 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)

jPOS 1.6.8 -- released 25/06/2010 (r2938)

  • Tagged as tags/v1_6_8

jPOS 1.6.7

  • 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)

jPOS 1.6.6

  • Tagged as tags/v1_6_6

jPOS 1.6.5

  • 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)

jPOS 1.6.4 -- released 25/5/2008 (r2710)

  • Tagged as tags/v1_6_4

jPOS 1.6.3

  • 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)

jPOS 1.6.2 -- released 25/5/2008 (r2626)

  • Tagged as tags/v1_6_2

jPOS 1.6.1

  • 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)

jPOS 1.6.0 -- released 21/4/2007 (r2465)

  • 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)

jPOS 1.5.2

  • Tagged as v1_5_2 - only available via subversion

jPOS 1.5.1

  • 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)

jPOS 1.5.0

  • Released in 09/18/2005 (Tagged v1_5_0)

jPOS 1.4.9

  • 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 "'")

jPOS 1.4.8

  • released Oct 2004 (tagged: v1_4_8)

jPOS 1.4.7

  • 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

jPOS 1.4.6

  • released Jul 2003 (tagged: v1_4_6)

jPOS 1.4.5

  • 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 q8e192@yahoo.com)
  • QSP: new thread-pool tag
  • ISOMeter, new scroll and refresh attributes (contributed by Kris Leite)

jPOS 1.4.4

  • released Sep 2002 (tagged: v1_4_4)

jPOS 1.4.3

  • 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 mhs@sisa.com.ar)
  • QSP's tag now support new "class" attribute (code contributed by Andres Alcarraz aalcarraz@cabal.com.uy)

jPOS 1.4.2

  • Released May 2002 (tagged: v1_4_2)

jPOS 1.4.1

  • 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

jPOS 1.4.0

  • Released Feb 2002 (tagged: v1_4_0)

jPOS 1.3.9

  • 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()

jPOS 1.3.8

  • Released Nov 2001 (tagged: v1_3_8)

jPOS 1.3.7

  • 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 <sh@itplus.dk>).
    
  • bugfix: ISOBaseHeoder.unpack, use factory method for MTI too
  •     (Thanks Soren Hilmer <sh@itplus.dk>).
    
  • 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)

jPOS 1.3.5

  • 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)

jPOS 1.3.3

  • 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.
Clone this wiki locally