ChangeLog

From jPOS.org

Jump to: navigation, search

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)

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 progerss) (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 <key>..</key> configuration element (defaults to <key>41, 11</key>).
  • 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>...</header> element at unpack time. (r2426)
  • bugfix in ChannelAdaptor: honor reconnect delay on peer-disconnect exceptions (r2429)
  • Added new <ignore-rc> 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 <object> 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 <mux> 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 <task>: name attribute is added as a property to configuration object.
  • QSP <task>: 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 S?ren Hilmer <sh@itplus.dk>).
  • bugfix: ISOBaseHeader.unpack, use factory method for MTI too
  • (Thanks S?ren 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.
Personal tools