Skip to content


Subversion checkout URL

You can clone with
Download ZIP


Alejandro Revilla edited this page · 207 revisions
Clone this wiki locally


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

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

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 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
  • jPOS-49 Added service of packaging complex field (as binary) if it is defined as opaque
  • jPOS-46 SimpleMsg support in ProtectedLogListener
  • [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 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 (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 jPOS-6
  • GenericPackager now push logger to sub packagers jPOS-8
  • Added Space.put operation (r2858)
  • Profiler support for duplicate checkpoint descriptions (r2859)
  • Include fpath option on hasField and unset (r2860)
  • [ jPOS-10] Issue with ProtectedLogListener and ISOMsg change to use TreeMap (r2861)
  • Added ISOMsg.getComponent(fpath) (r2864)
  • [ 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)
  • [ jPOS-13] ISOMsg/ISOAmount serialization issue (r2873)
  • [ jPOS-16] LogEvent records log time and LogEvent lifespan (r2877)
  • [ 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
  • 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)
  • 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
  • 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,
  • 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
  • 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 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
  • QSP's tag now support new "class" attribute (code contributed by Andres Alcarraz

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 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
  • bugfix: ISOBaseHeoder.unpack, use factory method for MTI too
  • (Thanks Soren Hilmer
  • 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.
Something went wrong with that request. Please try again.