The Unbearable Lightness of Java

Icon legend

new feature
changed or upgraded
bug fixed

History

Recent history, release notes and previous releases.
And if you hate boring release list, you will appreciate this one:)

[2012-05-07] Release v3.3.3

Killing the bugs, is what we do in this release. We would like to thank Bandino Jurumai for helping us with this release! And hey, it's only two days after Jodds birthday :)

Improved GzipFilter.
Added gziped HTML Stapler bundles [#jodd-15] // suggested by Bandino Jurumai
Fixed Jerry issue with different modes [#jodd-14] // reported by Gregor Petrin
Fixed HTML Stapler context issue [#jodd-13] // reported by Bandino Jurumai
Added StringTemplateParser.
Fixed an issue with empty properties in PropertyUtil
Fixed FileNameUtil.getPathNoEndSeparator() issue [#jodd-12] // reported by Bandino Jurumai
Fixed HTML Stapler issue with relative paths to JS and CSS files [#jodd-11] // reported by Bandino Jurumai
Fixed HTML Stapler CSS Problem [#jodd-10] // reported by Bandino Jurumai
Fixed Madvoc and Lagarto issue under Jetty [#jodd-9] // reported by Bandino Jurumai
Added generic ServletResponse wrapper.

[2012-02-21] Release v3.3.2

This release contains mainly bug fixes and minor enhacements. Still, upgrade as it is an important release.

Lagarto is now more relaxed on invalid tags
Added raw Http tools.
Added BeanUtil.populate() methods
Type converters and Convert refactored and improved!
Refactor BeanUtil loaders and allow setting custom TypeConverterManagerBean [#jodd-8] // idea by Alison
Added ConvertBean.
Added BeanUtilBean.
Added TypeConverterManagerBean.
Jerry can provide it's builder for optional configuration.
LagartoDOMBuilder enahnced with many coniguration properties. Read more...
fixed Lagarto DOM issue when end of document is reached and tags are not closed. // reported by Peter McNeil
SLF4J library upgraded to version 1.6.4.
Added MadvocContextListener that also can run web app.
Added class FastBuffer for buffering objects. // contribution by Jeff G
Fast*Buffer classes moved to jodd.util.buffer package.
Added ZipUtil.gzip() and ZipUtil.zlib() methods.
ZipUtil.addToZip() replaces previous methods.
Added url result for Madvoc.
Props now can load environment variables.

[2011-12-27] Release v3.3.1

Some important bugfixes and minor changes.

Optimized Fast*Buffer added for all primitives.
Lagarto Text dom node now decodes HTML.
CSSelly now parses pseudo fn expression on creation.
CSSelly accepts classes with uppercase chars
Jerry enhanced with is() method and :contains selector [#jodd-6].
Added LoggablePreparedStatement6 for JDK6.
Swing utils removed as not being maintained for months.

[2011-12-17] Release v3.3

So many great enhancements and news... do not know where to start;) Too many to list here. Enjoy!

jodd 3.3
ClassLoaderUtil now loads array classes, too.
Hello Jerry! See more...
Hello CSSelly! See more...
New TypeConverter converters for time/date classes.
JDateTime converters are removed in favor of TypeConverter.
Base32 encodings added.
FileLFUcache added.
Paramo now returns MethodParameter array instead of String array.
Hello HtmlStapler! See more...
Hello Lagarto! See more...
Hello Decora! See more...
Petite is now able to inject bean sets. See more...
Madvoc raw results are optimized and more convenient.
Fixed BeanUtil properties naming to match JavaBeans spec (special cases).
ProxettaAwarePetiteContainer added.
FileUtil.readBytes optimized.
FileUtil.readChars added.
BeanTemplate renamed to BeanTemplateParser and changed from static utility to a bean.
ConsoleLog added.
NetUtil#downloadFile added.

[2011-08-29] Release v3.2.7

After unusually long time, we released another significant update! As Jodd is used in few live web projects there were some issues and we wanted to wait as much as possible to clean the most of them:) Moreover, we added some significant updates and bug fixes, so please update your projects. The most important change is the new name of the DbOom framework. Sorry for all inconveniences - and enjoy the release!

DbOom now supports mapping non-table columns to beans.
Fixed text attachment bug with Email. // reported by Tijana Milovanovic
Email attachments are now received as EmailAttachment list.
FindFile#iterator() added.
Email seding byte areas and input stream fixed. // reported by Zeljko Gavrilovic
Added ignoreInvalidUploadFiles parameter for ignoring bad file uploads in Madvoc.
java.util.Date type converter added.
JDateTimeSqlType fixed for null checkings.
FileEx removed as FileUtil is enough.
Package and classes renamed: DbOrm to DbOom! Way better:)
Template SQL macro $T now does NOT define default alias name when one is not specified.
Email sending to CC and BCC addresses fixed.// reported by Essoussi Jamel
Log package added, a wrapper over external logging utility
ClasspathScanner now scans using File
ClasspathScanner now examines jars linked in Manifest file
Fixed #jodd-4: ConcurrentModificationException in LFUCache.prune()
BeanTool.copy now supports maps
Added variants for JSP functions that do not requir page context
Fixed dispatchig to URL without context path
KeyValue class added
Added java compiler
Added + profiles for VTor
Fixed setRollback() in autocommit mode, for JTX

[2011-04-05] Release v3.2.6

Besides bug fixing and minor updates, this release brings major enhancement in Petite IOC container. We put a lot of heart into this release!
Download: jodd-3.2.6.zip | jodd-all-3.2.6.zip | jodd-all-with-dependencies-3.2.6.zip

VTor EqualToDeclaredField constraint added.
Petite: added support for multiple default references when no explicit reference specified.
Petite: bean names now can be full class names.
Fixed potential MPE issue in MultipartRequest.
Some new StringUtil and ServletUtil.
Paramo bug fixed so some arrays of certain type were not resolved.
Converters enhanced and become more user friendly by trimming strings.
Madvoc move attribute name changed.
Madvoc: strictExtensionStripForResultPath added
FileNameUtils enhanced
Fixed #jodd-3: findfile classes are now OS independent
Madvoc Action.IGNORE renamed to Action.NONE
Props plugin for IntelliJ IDEA.
Fixed Madvoc expanding of default interceptors classes and stacks

[2011-02-20] Release v3.2.5

This release is all about new Madvoc features!
Download: jodd-3.2.5.zip | jodd-all-3.2.5.zip | jodd-all-with-dependencies-3.2.5.zip

Duplicate Props now can be appended.
Custom annotations for JTX.
Fixed JTX issue with SUPPORTS propagation.
Madvoc support for REST urls (read more...).
Madvoc custom annotations (read more...).
Madvoc default aliases (read more...).
Madvoc @Action notInPath removed.
Madvoc @Action#IGNORE added instead of NO_EXTENSION.
ArraysUtil.inser added for single element.
SortedArrayList added.
BinarySearch wrapper added.
StringUtil.findCommonPrefix added.

It was very bright and sunny day, perfect for releasing!;)

[2011-01-10] Release v3.2

A new year and a new release, with some great new features!
Download: jodd-3.2.zip | jodd-all-3.2.zip | jodd-all-with-dependencies-3.2.zip

Props - super Properties replacement tool added (read more...).
Convert tool added for one-liner type conversion.
Wildcard#matchPath - Ant alike path matching added (read more...).
Invocation Replacement Proxy added to Proxetta (read more...).
Some minor bug are fixed.
Some enhacements.

[2010-10-03] Release v3.1.1

First autumn release brings some nice refinements making Jodd more beautiful. Some important bugs were fixed too. Enjoy!
Download: jodd-3.1.1.zip | jodd-all-3.1.1.zip | jodd-all-with-dependencies-3.1.1.zip

StringBand added.
Some minor and less frequent, but important type conversions bugs are fixed.
Method moved: BeanTool#parseTemplate to BeanTemplate#parse.
Method renamed, StringUtil#toSafeString from #toNonNullString.
StringUtil methods for (un)escaping strings in Java manner added.
ServletUtil.isGetParameter method added.
CollectionUtil methods added for filling a set or a list from iterator.
Cache#iterator() method added for all caches.
SendMailSession bug fixed (jodd-2).
MapBeanLoader bug fixed (jodd-1).
StreamUtil now flushes outputs on close.
TextResult added for Madvoc.
ZipUtil works better now for creating zips.
BeanUtil now handles boolean properties with both isXxx() and getXxx() methods.

[2010-06-18] Release v3.1.0

Some new tools, utils and Maven support (finally:) Also, since Jodd is currently being used in couple of live projects, we decided it is a time for new major release.
Download: jodd-3.1.0.zip | jodd-all-3.1.0.zip | jodd-all-with-dependencies-3.1.0.zip

Maven support - finally, Jodd is (or will be soon) available via Sonatype.
New download bundle available: distribution, sources and javadoc jars.
CoreConnectionPool is now able to validate connections when appropriate.
ClipboardUtil added.
More StringUtil utilities added.
BeanTool#copyProperties() added.

[2010-05-10] Release v3.0.9»

Mainly bugfixes.

jodd 3.0.9
replyTo property added for Email.
CONTEXT scope is now only for Madvoc, new SERVLET scope added and injectors changed.
New jfn:prepareCsrfToken().
CsrfShield#maxTokensPerSession added.
Generated DB table and column names may now be uppercase or lowercase.
iterator tag enahnced with count attribute
CharacterSqlType: bug fixed with string to char conversion
JDateTime isAfter(), isBefore() added
StringUtil#insert() added

Few days after Jodds 3.x first birthday... a new release! Can't imagine a better present;) Moreover, Jodd has been used in couple of projects meanwhile, and it is fast, stable and good-looking:) And soon, we will give YOU a present for our bithday... just stay tuned;)
Download: jodd-3.0.9.zip | jodd-all-3.0.9.zip | jodd-all-with-dependencies-3.0.9.zip

[2010-03-12] Release v3.0.8»

This is one of the most important releases, since all Jodd frameworks have been used in production together. As a result, we have several bug fixed, some important changes and more power inside the framework. Voila!

HtmlEncoder now uses <br/> instead of <br>.
CsvUtil CRLF bug fixed.
NullAware sql types added. Primitives support added.
ReflectUtil.castType() now handles enums better - allows to have typeconverter for enums too!
ArrayUtils toString() and contains() added.
ListAllMadvocActions does not register actions anymore.
ReflectUtil#readAnnotationValue() added.
jfn:printf added.
Added limited methods for lists set in DbOrmQuery.
delete bug fixed - no table aliases allowed
Little bug fixed for findRelated() in DB fwk.
SMTP email support enhanced.
POP email support added.
SimpleSmtpAuthenticator renamed to SimpleAutheniticator.
IdRequestInjectorInterceptor added - a efficient joint of Prepare and IdRequestInjector.
DbQuery.setObjects(String[] names, Object[] values) added.
AnnotationTxAdvice now works for overloaded methods too.
JSP function fmtDate added.
Database schema name added as DB settings.
Proxetta had some minor bugs with class loading.
Database schema name added as DB settings.
SqlType receives native sql type information when reading and saving data.
ColumnValue sql chunk added in response to fix db mappin bug with values.
Methref - strongly typed method names references - added.

Starting from this release, we will post some photos and stories related to the release;) So... today, we have a lot of snow, althought it is March. Cold, white Friday is perfect for releasing a new version, with hot cup of green tea.
Download: jodd-3.0.8.zip | jodd-all-3.0.8.zip | jodd-all-with-dependencies-3.0.8.zip
jodd 3.0.8

[2009-11-19] Release v3.0.7 »

Since previous version was released before scheduled time, this one contains many small and some important news. First, there is a new tool 'Paramo' for reading methods parameter names from debug bytecode info. Next, Madvoc has been enhaced in an good way;) All-in-all, we are going towards the next big release.
Download: jodd-3.0.7.zip | jodd-all-3.0.7.zip | jodd-all-with-dependencies-3.0.7.zip

Paramo added - little tool to read methods parameters names using debug bytecode info.
Madvoc recognizes super action classes.
Madvoc may optionally decode GET parameters.
ClassDescriptor now is public and can examine supported or accessible methods/fields.
Petite InitMethodResolver now checks all supported init methods.
FileUpload has been enhanced with max file size property. Internal stream processing has been refactored.
Caches prune() implementations now returns correct number of deleted items. // reported by Tomasz Bartczak
PrettyStringBuilder visualization bug fixed (and enhanced). // reported and fixed by Tomasz Bartczak
DbQuery#setObjects() index bug fixed. // reported and fixed by Sven Lindow
Method ActionResult#execute() renamed to render(). It really sounds better;)
Added MadvocConfig flag for caching prevention.
All FileUploadFactory implementations are now aware of maxFileSize.
FileUpload now contains maxFileSize as attribute.
MultipartRequest now handle uploaded files better. Internal modification.

[2009-09-23] Release v3.0.6 »

Another small update, made mainly to fix distribution archive.
Download: jodd-3.0.6.zip | jodd-all-3.0.6.zip | jodd-all-with-dependencies-3.0.6.zip

Distribution archives fixed. // reported by Tomasz Bartczak
ServletUtil.preventCaching() added.
Madvoc ResultMapper now can use full action path (with the extension) for building result path. Read more here.
SystemUtil isAtLeastJdk15() and isAtLeastJdk16() added.
StringUtil.cutLastWord() removed.

[2009-09-10] Release v3.0.5 »

Small update, but we have fixed something that bothered us from long time: sql mappings. Now everything seems to be on the right track;). Besides, some more utilities have been added.
Download: jodd-3.0.5.zip | jodd-all-3.0.5.zip | jodd-all-with-dependencies-3.0.5.zip

Database mappings. Read more here.
More utilities in ZipUtil added.
Bits added.
ArrayEnumeration fixed.
RandomStringUtil added.
CsrfShield has been enhanced.
ValueHolder added.

[2009-08-06] Release v3.0.4 »

This update fixes one important issue with Proxetta and enhance it in a way so it is now possible to apply proxy on JDK classes. Moreover, several little utilities have been added. It is recommended to upgrade to this version.
Download: jodd-3.0.4.zip | jodd-all-3.0.4.zip | jodd-all-with-dependencies-3.0.4.zip

Petite parameters now uses '${}' for reference.
Proxetta now ignores final methods - for the sake of simplicity.
Proxetta is now able to create proxy with different package and class name from target. // reported by swagl05
Proxetta had a serious bug with proxyfing overridden methods declared in some super class.
UncheckedException may produce bug when printing the stack trace.
Double escaping added for StringUtil.indexOfRegion().
PropertiesUtil.resolveProperty() and PropertiesUtil.resolveAllVariables() added.
ZipUtil.createSingleEntryOutputStream() added.
ZipUtil.createFirstEntryInputStream() added.
Simple JmxClient added.
StringUtil.isNotBlank() added.
Minor visual changes in SwingSpy.
PetiteManager.registreScope() added.
Madvoc changed internally to allow logging configuration before web application starts.
WebApplicationStarter added to encapsulate code from MadvocServletFilter.
WebApplication.initWebApplication() replaced createInternalContainer().
XmlUtil removed as not valuable.
WebApplication.resolveBaseComponentName() now finds last component class: middle abstract classes in hiearachy are ignored.
Some tests made independent. // contribution by S. Slavnić
db.jtx.* moved to jtx.db.* to remove dependencies from Db. // reported by S. Slavnić
FileUtil.readLines added.
FilepathScanner added.
ClassLoaderUtil.getResourceFile() added.

[2009-06-29] Release v3.0.3 »

This is important upgrade. Some bugs regarding reading annotations in Proxetta have been fixed, while Proxetta was refactored. Next, this is the first version that starts to use external logger. Petite container now can be configured with parameters (from properties files, for example). Documentation has been extended by an example of building web applications using Jodd.
Download: jodd-3.0.3.zip | jodd-all-3.0.3.zip

TextUtil added.
Logging added. Read more here.
More tests added and code coverage increased.
Proxetta MethodInfo instead MethodSingature.
Proxetta now has ClassInfo data for target classes.
Proxetta failed to read and copy all annotations.
Proxetta failed to define proxy when target class has static block.
ClassArrayConverter (for converting something into Class[]) added.
Madvoc can be configured using properties files.
@PetiteInitMethods may be fired first off, before parameters injection.
Madvoc InjectorsManager instead of just ContextInjector.
table prefix and suffix are always stored uppercased.
Transaction context added.
ThreadDbSessionProvider may optionally create missing db sessions and assign them to thread.
CoreConnectionPool now returns stat class for connections count.
Provider<T> interface added.
ClasspathScanner added. Read more here.
FindClass refactored for good.
Petite methods add() performs all wiring and initialization.
Petite container parameters. Read more here.

[2009-06-06] Release v3.0.1 »

Minor upgrades and additions. Documentation fixed and more added.
Download: jodd-3.0.1.zip | jodd-all-3.0.1.zip

DbSquery.setMap() bug fixed. // reported by Sven
Madvoc components can be registered as instances and, optionally, with explicit name.
PetiteMadvocComponent removed (internall stuff).
WebApplication.createInternalContainer() renamed from createMadvocPetiteContainer().
switch and case tags now uses string comparison.
ServletConfigInterceptor.trimParams option added.
PetiteContainer.getBean(Class) added.
Some StreamUtil.copy() methods were not using provided encoding.
JoddDefault added and implemented.
SystemUtil methods for setting http proxy.
FileUtil methods for appending string and bytes to existing file.
ClassConverter and URLConverter added.
Invalid and non-existing test values for IfElseTag and IfTag behave as 'false'.

[2009-05-05] Release v3.0 »

Jodd started new life on new web address: http://jodd.org
Download: jodd-3.0.zip | jodd-all-3.0.zip