[ini4j] Changes

Release History

Version Date Description
0.5.2 2011-12-13 Bugfix release
0.5.1 2009-04-08 Maintenance release
0.5.0 2009-04-02 Subsection handling, comment support, Windows registry handling
0.4.1 2009-03-11 Python like ConfigParser Options as java.util.Properties replacement
0.4.0 2009-02-17 Refactoring and new features
0.3.3 2009-02-05 Bugfixes
0.3.2 2008-02-17 Minor bugfixes
0.3.1 2008-02-11 Maven repository support
0.3.0 2008-02-10 Migrating to SVN and Maven
0.2.6 2005-11-29 Include handling
0.2.5 2005-11-26 Backport to JDK 1.4
0.2.4 2005-11-25 Replaceable parser via factory pattern
0.2.3 2005-02-18 Minor bugfixes
0.2.2 2005-02-13 Webapp support
0.2.1 2005-02-12 Import to CVS, org.ini4j in package names
0.1.1 2005-02-05 Bean interface and variable substitution
0.1.0 2005-01-30 First release

Release 0.5.2 - 2011-12-13

Type Changes By
fix Fix backslash at end of line problem. Normaly backslash at end of line mean line concatenation. Unfortunetly when escaping disabled, this feature stil remain active. Now there is a new config option: escapeNewline. When this option true, it disables line concatenation. For Wini this otions set true by default. Fixes 3038645. szkiba
add Added support for default value in get and fetch methods. As last parameter, caller may provide default value for missing options. Fixes 3047041. szkiba
fix Backport to java 1.4 fixed. There were a lot of problem. Now all junit tests are run both on current java and on 1.4 jvm. This way backported version is junit tested (on real 1.4 jvm) as the normal version. Fixes 2908623. Thanks to Markus. szkiba
fix Removed UnicodeLittle/UnicodeBig charset references because these break the backported version. Fixes 2778337. szkiba
fix Add BOM (byte order mark) support. Workaround on java BOM/UTF8 problem. Fixes 2866427. Thanks to Lilian Valero. szkiba
fix Fixed typo in Options Tutorial. Fixes 2817399. szkiba
fix Multiply macro substituton per value fixed. There were a bug in variable/macro substitution if more than one macro used in one option value. Fixes 2817403. szkiba
fix Configurable comment handling. The header comment can be disable/enable via Config.setHeaderComment(boolean). Also the whole comment handling can be disable/enable via Config.setComment(boolean). Fixes 2971952. Thanks to René Krell. szkiba

Release 0.5.1 - 2009-04-08

Type Changes By
fix Removed java.util.NavigableMap reference from code, becasue it is break java 1.5 compatibility. szkiba
add Applet support: [ini4j] now able to run in applet environment. szkiba
add Demo applet: now project site contains a small demo applet to check [ini4j] interactive mode from browser. szkiba

Release 0.5.0 - 2009-04-02

Type Changes By
add Read/write Windows registry. The new Reg class is able to read/write windows registry. This class is very similar to Ini class, has same data model. szkiba
add Support for .REG (windows regedit) format. The file format is similar to .ini, and now the org.ini4j.Reg class can handle it. szkiba
add Tree data model for ections. Now sections handled as a tree, with subsections. It is based on section names. With a separator ('/' or '\') sectios can organized into trees (like in .REG format). szkiba
update Improve project web site. szkiba
add Bean property mapping with upper case first letter in key names (aka Mozilla .ini files) (Feature request #2706511) szkiba
add Comment support for Ini and Options. There is a header comment, section comment and option comment. Comments at beginig of file are header comments. Continous comment block before section is a section comment, continous comment bleck before option is an option comment. szkiba
update Refactor Ini class, extract Profile interface and BasicProfile superclass. szkiba
add Comfortable access methods for OptionBundle and OptionMap. szkiba
update Code cleanup, remove deprecated methods, classes. szkiba
update Backslash at end of line support: join with next line. szkiba

Release 0.4.1 - 2009-03-11

Type Changes By
add Added Options as replacement for java.util.Properties. Options has a lot of useful features, like: ${} macro handling, multi value handling, bean marshalling/unmarshalling etc. szkiba
add Python ConfigParser interface for .ini files. szkiba
update Cleanup code, use PMD+checkstyle. szkiba
fix Cleanup deprecated warnings from test code. szkiba
fix Skip "class" property in Ini.Section#from method. Fixes 2623266. Thanks to Karl Heinz Marbaise. szkiba
fix Added Issue Tracking to Project Information on maven generated site. Fixes 2623274. Thanks to Karl Heinz Marbaise. szkiba
fix Fix BeanTool bug: ${} macros an dindexed properties not handled properly in inject(). szkiba

Release 0.4.0 - 2009-02-17

Type Changes By
add New from() and to() methods in Ini.Section for marshalling/unmarshalling bean properties. szkiba
add Indexed property access in bean interafce for multi value options and sections. szkiba
add Configurable multi value handling both for options and sections. szkiba
add Configurable escape handling. Now possible to handle windows path values (caontains backslases). szkiba
update Migrate junit test to 4.x version. szkiba
update Added MuliMap datatype: multiple value for same key. It used by Ini and Ini.Section classes. szkiba
update Move FancyIniParser and FancyIniFormatter functionality to IniParser and IniFormatter. Make them configurable (enable/disable features via Config object). szkiba
update Make bean manipulation (BeanTool) and escaping (EscapeTool) replaceable via standard services mechanism (/META-INF/services/XXX) szkiba
add Internal changes: migrating changelog.apt to changes.xml, generating text version of ChangeLog and Releasenotes from changes.xml szkiba
add Internal changes: use wagon plugin for helping SourceForge release upload, use license plugin to keep up to date file headers. szkiba

Release 0.3.3 - 2009-02-05

Type Changes By
fix ini4j now support files with # in the name Fixes 2060122. Thanks to Julien MARBACH. szkiba
fix (Java 1.5 Support) now ini4j compiled for jdk 1.5 by default (and translated to 1.4) Fixes 2120766. Thanks to Karl Heinz Marbaise and Gert van Valkenhoef. szkiba
update SVN rename. TRUNK and TAGS renamed to lowercase, to use conventional names szkiba
fix Write Ini file: skip blanks around " = ": Separated IniFormatter class format the .ini file (and XMLFormatter). This class can instantiate using factory pattern (internally use standard jar service locator pattern), and caller can override default IniFormatter implementation. See FancyIniFormatter in addons package, which is by default do not put space around '='. Fixes 1918502. szkiba
fix Ini.store with null values: By default keys with empty (null) values now skipped, but in FancyIniFormatter empty values printed as empty string. Fixes 1897071. Thanks to Walter Podesser. szkiba

Release 0.3.2 - 2008-02-17

Type Changes By
fix Fix file close problem: in some case IniFile and IniParser left files open. This cause file deletion problem on some OS. szkiba
fix Fix Unicode escape problem: \u sequences now generated correctly (4 character with leading zeros) szkiba

Release 0.3.1 - 2008-02-11

Type Changes By
add Added maven repository support: http://www.ini4j.org/repository/release and http://www.ini4j.org/repository/snapshot szkiba

Release 0.3.0 - 2008-02-10

Type Changes By
update Migration: CVS to SVN szkiba
update Migration: Ant to Maven szkiba

Release 0.2.6 - 2005-11-29

Type Changes By
update Refactored code for customization: Ini, IniPreferences, IniParser now also handle URL as input. It makes possible to create C like #include directive at IniParser level, when using URL as input source. szkiba
add Added include feature to FancyIniParser: mean: '<' and '>' token, location is either relative or absolute URL of include file. Unlimited level of includes allowed. Relative URLs only allowed, when container file loaded via URL (not via stream or reader). szkiba
add IniFile got getMode() and getFile() accessor methods. szkiba
add PreferencesWrapper class in addon package to support decorator design pattern for java.util.Preferences objects. szkiba
add StrictPreferences decorator class, which has getXXX methods without default parameter, and throws java.util.NoSuchElementException on missing values instead of returning default value. szkiba

Release 0.2.5 - 2005-11-26

Type Changes By
fix As per many programmers request, finally [ini4j] backported to JDK 1.4. There is a ini4j-compat.jar and retroweaver-rt*.jar in distribution directory. These 2 jar need for JDK 1.4 to use [ini4j]. Every JUnit test run successfully, so I'm sure that [ini4j] work correctly with JDK 1.4 (JUnit test coverage ~ 98% :) I like retroweaver tool, so I'd like to mentoin here: retroweaver.sorceforge.net and forked project (I used for ini4j) retroweaver-ng.sourceforge.net szkiba

Release 0.2.4 - 2005-11-25

Type Changes By
fix removed some private constructor (cosmetic change) szkiba
add Added factory design pattern for IniParser class: it is possible now to change IniParser implementation at runtime: either "org.ini4j.IniParser" system property or META-INF/services/org.ini4j.IniParser file is the configuration point. This is conform with JAR specifications service definition. Thanx this to James Ahlborn and Steve Buschman. They are suggested some changes in IniParser. I disagree with the changes, but I made the possibility of changing IniParser without change Ini4j source :) szkiba
add added org.ini4j.addon package for optional classes. szkiba
add added org.ini4j.addon.FancyIniParser as alternate parser with following features: - option without = operator mean empty option - empty section names [] mean empty string as section name - first section tag ([name]) is optional, by default it is same as [] - section and/or option names may be converted to lowercase while parsing szkiba

Release 0.2.3 - 2005-02-18

Type Changes By
fix fixed xhml bugs in documentation szkiba
fix set java.util.prefs.PreferencesFactory property in IniPreferencesFactoryListener szkiba
fix fix AbstractBeanInvocationHandler#getProperty(), now it returns zero() if getPropertySpi() returns null szkiba
add hasProperty method in AbstractBeanInvocationHandler: if interface has hasXXX method, it will return true if bean has XXX property. szkiba

Release 0.2.2 - 2005-02-13

Type Changes By
fix fixed logo png in CVS szkiba
add support for webapps: IniPreferencesFactoryListener webapp can use /WEB-INF/user.ini and /ERB-INF/system.ini as user and system root preferences szkiba

Release 0.2.1 - 2005-02-12

Type Changes By
add checked in to CVS CVSROOT: :ext:cvs.sourceforge.net/cvsroot/ini4j/main szkiba
update documentation reorganization: footer navigation bar added szkiba
add ini4j.org domain registered, java package names modified to org.ini4j szkiba
update JUnit tests improved szkiba
add Clover code coverage tool used szkiba
fix documentation English cleaned szkiba

Release 0.1.1 - 2005-02-05

Type Changes By
add Java Beans style interface for sections and for ini too. You should pass interface to Ini.Section.to() (or Ini.to()) and you get a Java object implements passed interface on top of Ini.section (or Ini). Not only setXX and getXX works well, but property change listeners and vetoable change listeners also supported. szkiba
add Variable substitution for option values. You can use ${section/option} style substitution expressions in any option value. szkiba
update Reorganize XML parsing: now IniParser has parseXML method, which simply translate SAX callbacks to IniHandler callbacks szkiba
add Create Convert class for unicode escape conversion: escape and unsecape methods. szkiba

Release 0.1.0 - 2005-01-30

Type Changes By
add Initial version szkiba