Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

You may also want to check our list of Open Issues.


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)

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 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 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
  • GenericPackager now push logger to sub packagers https://jpos.org/issues/issue/jPOS-8 jPOS-8
  • 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
  • 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.
Something went wrong with that request. Please try again.