Jodd Changelog

What's new in Jodd 3.6.7

Nov 21, 2015
  • more change: Java version bumped up to 7!!!
  • FIXED [http] Fixed encoding with multipart requests.
  • NEW [util] Added some StringUtil methods.
  • CHANGED [madvoc] Class loading exception loosened.
  • CHANGED [util] Extended Class loader has been significantly improved.
  • CHANGED [http] Replaced the HttpValuesMap with HttpMultiMap.
  • CHANGED [mail] Added ParseEML class.
  • NEW [util] Added BeanWalker.
  • CHANGED [util] Removed sort.
  • FIXED [json] Fixed special case in parsing.
  • NEW [util] Enhanced StringTemplateParser to support macros with just $.
  • NEW [json] Added FileJsonTypeSerializer.
  • NEW [json] Added set serialization.
  • NEW [util] Added ZipBuilder.
  • FIXED [util] Fixed boolean printf.
  • NEW [json] Make JSON parser to be aware of JSON annotations.
  • FIXED [util] Fixed BCrypt.
  • NEW [util] Added PBKDF2Hash and MurmurHash3.
  • NEW [props] Added method to get profiles list.
  • NEW [util] Added method to parse internet time.
  • FIXED [dboom] Fixed issues with hints and collections.
  • FIXED [util] Fixed Unsafe handling.
  • NEW [vtor] Added message to validation annotation.
  • FIXED [petite] Fixed Petite wiring.
  • FIXED [lagarto] Fixed handling of naked ampersends.
  • FIXED [http] Better handling of the HTTP connections.

New in Jodd 3.6.6 (May 26, 2015)

  • FIXED:
  • [http] Fixed special case when content-length and chunked encoding exists.
  • NEW:
  • [util] getResourceAsStream now has a boolean argument to disable the cache.
  • CHANGED:
  • [util] Zip methods now returns resulting zip File.
  • FIXED:
  • [methref] Fixed parallel access, added Pathrefs.
  • FIXED:
  • [mail] Fixed parsing with MailAddress.
  • NEW:
  • [mail] Added startTlsRequired and plaintextOverTLS().
  • NEW:
  • [mail] Added debug mode option and strict email address flag.
  • CHANGED:
  • [bean] BeanCopy got some slight modifications and improvements.
  • CHANGED:
  • [madvoc] Execution of inteceptors, filters and actions is significantly simplified.

New in Jodd 3.6.5 (Mar 25, 2015)

  • NEW
  • [http] HttpBrowser now accepts local path on 30x.
  • [http] Added default headers to HttpBrowser.
  • [htmlstapler] Added randomDigestChars option to bundles manager.
  • [bean] Added methods to BeanCopy for better fluent interface.
  • [bean] Added BeanUtil#setProperty with all options as arguments.
  • [props] Added extracting of inner map in the Props.
  • CHANGED:
  • [bean] Removed this* reference.
  • FIXED:
  • [madvoc] Fixed action string in case of proxified classes.
  • [servlet] Reset content-length in GZip stream.
  • [lagarto] Reset content-length in Lagarto filter.
  • [decora] Reset content-length in Decora filter.

New in Jodd 3.6.4 (Feb 11, 2015)

  • NEW:
  • [mail] Method sendMail() now returns MessageID.
  • CHANGED:
  • [proxetta] Removed hierarchy level from MethodInfo.
  • [core] Small change with getComponentType(), added index.
  • [core] RandomStringUtil changed to RandomString class.
  • [core] ValueHolder is now an interface; added ValueProvider
  • [servlet] Updated ServletUtil to read parameter values in a proper way.
  • FIXED:
  • [proxetta] Using ASM5 all the way, fixed issues with default methods on Java8.
  • [http] Added support for Numbers and Booleans as form objects.
  • [core] Fixed isHostUnix() false positive value on Mac OS X.
  • [lagarto] Added support for String[] in the FormTag.
  • [proxetta] Fixed casting issue and classes with default packages.
  • [gradle] BOM file was empty
  • [servlets] Fix GzipResponseWrapper for Servlets 3.1 by adding method setContentLengthLong().
  • [json] Fixed special case when using custom annotations and strict mode.

New in Jodd 3.6.3 (Dec 4, 2014)

  • FIXED:
  • [decora] Fixed and improved regions detection.
  • [core] Fixed issue with ByteArrayResponseWrapper and CharArrayResponseWrapper.
  • NEW:
  • [mail] Allows user to set the subject encoding if it differs from the platform.
  • CHANGED:
  • [mail] Changed SmtpServer API for creation.
  • [lagarto] Removed deep level property from tag.

New in Jodd 3.6.2 (Nov 11, 2014)

  • FIXED:
  • Fixed parsing in some special case of truncated HTMLs.
  • Form tag now works with multipart requests.
  • Fixed some parsing issues.
  • [http] Track removed cookies in HttpBrowser.
  • Fixed JVM crash on null argument.
  • NEW:
  • Added HttpProgressListener.
  • Added method to force multipart requests.
  • Added targetMethodAnnotation() and targetClassAnnotation() macro methods for Proxetta.
  • Pass classloader info to the TargetClassInfoReader.
  • Added ClassMap.
  • Added DirWatcher.
  • Fix the lookup order of custom and default type serializers.
  • Added digest methods for files.
  • Added socket timeout to the API.
  • Added missing HTTP methods. Added few more convenient methods.
  • Added upload monitor
  • CHANGED:
  • Upload is now memory-efficient.
  • Replaced Madvoc config flag injectionErrorThrowsException with Injector.silent.
  • Making BeanUtil more silent with better performances.
  • Removed RequestScopeInjector.Config. Breaking change!
  • propertyFieldPrefix for CachingIntrospector is now array of strings.

New in Jodd 3.6.1 (Oct 1, 2014)

  • FIXED:
  • [lagarto] Fixed parsing in some special case of truncated HTMLs.
  • [lagarto-web] Form tag now works with multipart requests.
  • [core] ClassFinder don't throw exceptions if flag is set.
  • [json] Fixed using integers in some cases for Json parser.
  • [json] Fixed parsing bug that may occur with long strings and late escapes.
  • NEW:
  • [http] Added HttpProgressListener.
  • [http] Added method to force multipart requests.
  • [proxetta] Added targetMethodAnnotation() and targetClassAnnotation() macro methods for Proxetta.
  • [proxetta] Pass classloader info to the TargetClassInfoReader.
  • [core] Added ClassMap.
  • [core] Added DirWatcher.
  • [madvoc] Madvoc configuration defaultActionName changed to defaultActionResult that accept Class.
  • [json] Added loose mode for parsing.
  • CHANGED:
  • [bean] propertyFieldPrefix for CachingIntrospector is now array of strings.
  • [core] Removed jodd.io.filter package.
  • [core] Method StringUtil.substring is now full safe.
  • [core] Using smart mode for FindFile and configurators.
  • [mail] Multiple addresses now could be added by repeated call to address-related methods.
  • [mail] Email address-related methods now accept two arguments: for personal name and for email address. Moreover, they accept EmailAddress and InternetAddress.
  • [madvoc] When @RestAction value starts with macro, add action method name to the path.

New in Jodd 3.6 (Sep 9, 2014)

  • NEW:
  • Welcome to new Json tool for JSON (de)serialization!
  • Madvoc supports action naming strategies.
  • Madvoc supports action method parameters as injection points.
  • Madvoc actions can be asynchronous.
  • Madvoc allows routing configuration.
  • Added InExRules - small rule engine for filtering some resources.
  • CHANGED:
  • Lagarto is now parsing HTML by the specs.
  • Props macros are now resolved dynamically, on fetch.
  • Madvoc name replacements changed syntax.
  • Madvoc has improved and enhanced ways of how action result handler is specified.
  • Madvoc result type term is changed to result name.
  • Tests code coverage increased from 57% to 71%!
  • FormTag now works on LagartoParser.
  • EmailAddress works better now
  • All Jodd modules have been moved from the jodd package.
  • FIXED
  • Many small issues with ClassIntrospector.
  • Every tool that filters something uses InExRules.
  • Many issues here and there.
  • Fixed OSGi compatibility.

New in Jodd 3.5.1 (Mar 27, 2014)

  • CHANGED Remove all *AndClose() DbOom methods and add autoClose() mode instead.
  • FIXED Improved setPreparedStatementObject() in DbOom.
  • CHANGED Join few classes to PreparableInterceptor in Madvoc.
  • NEW Printf improved (contribution!).
  • NEW Added support for trailers headers in chunked transfer for HTTP.
  • NEW Added ParsedSql holder and removed chunks cache in DbOom.
  • NEW Added getSetterRawComponentType() to Setter.
  • NEW Added CollectionConverter in type converter tool. Added convertToCollection() method, too.
  • NEW Added log in Madvoc when injection fails, or throw an exception.
  • NEW Method hasRootProperty() added to BeanUtil.
  • CHANGED Madvoc @Actions.method() is now case-insensitive.
  • CHANGED More Madvoc internals have been refactored and optimized.
  • NEW Madvoc action methods now can have arguments!
  • CHANGED Madvoc injectors refactored, added Injector and Outjector interface and new InjectorManager component.
  • CHANGED Removed @In.remove() and @In.create() in Madvoc.
  • NEW ServletDispatcherResult now supports multiple extensions: jspf and jsp. Added AbstractTemplateViewResult as base template Madvoc result.
  • Fixed NPE in HTTP when response body is null and when 'Content-Length' is missing.

New in Jodd 3.5 (Mar 27, 2014)

  • FIXED Generated table references appends '_' in DbOom.
  • NEW Added GenericDao to DbOom.
  • NEW Added @DbMapTo annotation (incubation feature).
  • CHANGED ReferenceMap removed.
  • NEW Added JSPP - JSP pre-processor (incubation feature).
  • CHANGED Result paths now include the path as well! ATTENTION: your app may break if you were using # in your results - try to put one more #, since there is one more path chunk to skip.
  • CHANGED Removed default aliases in Madvoc.
  • CHANGED Removed ActionPathMapper in Madvoc.
  • NEW Added Result to Madvoc for easier referencing target paths.
  • CHANGED Methref simplified.
  • CHANGED ActionResult#render significantly simplified.
  • CHANGED Removed @Action#result as not really needed for Madvoc.
  • NEW Added @RenderWith annotation fro Madvoc. Return values now can specify result class.
  • CHANGED In Madvoc, ActionResult is not interface any more.
  • FIXED Fixed some encoding-related issues with email addresses.
  • NEW Added 'keep-alive' support for Http.
  • NEW Added RequestScope for Petite.
  • NEW Printf has new 0b prefix.
  • FIXED Some Printf issues with printing and rounding float numbers fixed.
  • CHANGED Removed DefaultScope setting for Petite.
  • NEW Added destroyable methods for Petite.
  • CHANGED Added SessionMonitor instead of SessionMapListener.
  • FIXED Fixed some gzip encoding problems with Http.
  • CHANGED Removed Madvoc supplement actions as they may fill up the memory.
  • NEW Added copy operator for Props.
  • NEW Added useActiveProfilesWhenResolvingMacros for Props.
  • NEW Minor change in GZipFilter, allow to match all extensions.
  • NEW Http supports various PROXYs.
  • CHANGED SessionScope now works only with RequestContextListener!
  • NEW Added connection provider for Http.
  • NEW Added jodd-log module and removed direct dependency on 'slf4j'. Now all logging is done via our module.
  • CHANGED Removed bean loaders. Use BeanCopy tool instead.
  • CHANGED Removed JSP functions. There were too many functions, users instead should define custom JSP functions using our utilities.

New in Jodd 3.4.10 (Dec 21, 2013)

  • CHANGED - Both Lagarto and CSSelly now uses char[]-based JFLex parser. This boosts performances.
  • NEW - Madvoc has new type of interceptors: ActionFilter.
  • CHANGED - StringBand optimized for more speed.
  • CHANGED - FindFile include patterns now uses OR logic for matching.
  • FIXED - In entity-aware mode, DbOom now does not add nulls to the collection
  • FIXED - JtxTransactionManager now cleans data from thread local when last transaction is closed.
  • CHANGED - Our famous fast buffers just get faster.

New in Jodd 3.4.9 (Dec 4, 2013)

  • NEW - Added new flag to LagartoDOMBuilder for log level of parsing errors.
  • CHANGED - The whole interceptor API has been revamped. Now data is stored in significantly less space. BeanUtil modified to use changed code.
  • CHANGED - AccessibleIntrospector renamed to CachedInterceptor that now can be configured instead.
  • FIXED - Added content length detection for Http.
  • NEW - Added changeTimeZone to JDateTime for convenient time zone traveling.
  • FIXED - Test have been fixed to work in different eniroments, like Travis.
  • FIXED - CSSelly definition of CSS pseudo functions fixed to match standards.
  • NEW - Added select method to NodeSelector that accept pre-compiled CSS selectors.
  • NEW - Added JoddArrayList, better ArrayList that can grow in both directions (but not circular).
  • FIXED - URLDecoder now has two methods for decoding query and the rest of the URI.
  • FIXED - Fixed FileUploadHeader.getFileName() to return correct name.
  • NEW - Props keys are now ordered! Added powerful iterator to Props.
  • FIXED - Email fields for FROM, TO, CC etc supports I18N names.
  • FIXED - Characters in Props keys now can be escaped, too.
  • NEW - HttpBrowser now detects status codes 303 and 307.

New in Jodd 3.4.8 (Oct 16, 2013)

  • Added fallback logic for renameTo usage in FileUtil.
  • Added offset to every Node in LagartoDOM.
  • Added LagartoParserContext for start() method in TagVisitor in Lagarto.
  • TypeConverter#convert does not throw ClassCastException anymore, but TypeConversionException.
  • All array converters have been upgraded.
  • Added resultTypePrefix for all Madvoc results.
  • Migrated to Gradle v1.8.
  • Fixed a bug in Props with preset default profiles before loading.
  • Fixed NPEs on missing Email attachment name, or FROM field.
  • Added support for non-english Email attachment names.
  • Add default Email attachment encoding if not specified.

New in Jodd 3.4.7 (Sep 18, 2013)

  • URLCoder upgraded to work better for each part of the URL.
  • Added form() method for Jerry.
  • Added methods for parsing EML files.
  • Added support for attached emails (EMLs)
  • Added support for IMAP servers.
  • Added += assignment operator for Props.
  • Added HttpBrowser class for easier HTTP usage and session tracking.
  • Fixed resize issue in ArraysUtil.
  • All parameters (query, form and header) in HTTP now allow duplicate entries.
  • Added 'HTML plus', Lagarto DOM parsing mode that can handle malformed HTMLs better.
  • Lagarto DOM architecture improved, allowing custom DOM builder implementations.

New in Jodd 3.4.5 (Jul 26, 2013)

  • NEW: Added ExtendedURLClassLoader.
  • CHANGED: Methods merge removed from ArrayUtil in favor of join.
  • FIXED: Getting generic raw type information significantly improved.
  • CHANGED: Another change with FindFile towards unified usage regardless the implementation.
  • NEW: LagartoDOM introduce renderer for customized HTML output.
  • CHANGED: Each node in LagartoDOM has a reference to DOM builder instance.
  • CHANGED: Improved and simplified way how LagartoDOM was fixing unclosed tags.
  • FIXED: BeanUtil uses more generic raw types information.
  • CHANGED: All introspectors have gone through refactoring and optimization.
  • NEW: Add new property ignoreMacros to Props.
  • NEW: Madvoc allows multiple roots to be mapped to different paths.
  • CHANGED: Proxetta now uses $$ in class names as a marker.
  • FIXED: Several issues have been fixed with Proxetta
  • NEW: Added delegating wrapper to Proxetta for dynamically loaded classes.
  • NEW: Added JRE detection to SystemUtil.
  • FIXED: Fixed issue with flushing streams in ObjectUtil.
  • FIXED: Props was not initialized in certain use cases.
  • CHANGED: Migrated to Gradle 1.6. All QuickStart projects migrated to Gradle.

New in Jodd 3.4.5 Build 20130626 (Jun 27, 2013)

  • Important fixes and improvements.

New in Jodd 3.4.4 (May 17, 2013)

  • NEW: DbOom introduces 'entity aware' mode, with even better entity handling
  • CHANGED: DbOom removed all *One methods from DbOomQuery! They are obsolete and can be simply replaced with regular methods.
  • FIXED: Fixed issue with parseCCEnd method in Lagarto.
  • FIXED: Fixed provided dependency for servlet api in generated POM files.
  • FIXED: Fixed encoding problem with TextResult in Madvoc.
  • FIXED: Fixed encoding problem with TextResult in Madvoc.
  • CHANGED: Lagarto lexer performances boosted!

New in Jodd 3.4.3 (Apr 18, 2013)

  • NEW: Petite introduces @PetiteProvier!
  • CHANGED: Petite manual registration is now more fluent!
  • CHANGED: Petite init methods now can be invoked in 3 lifecycle points! See more.
  • CHANGED: ZipUtil refactored to fluent and more convenient interface.
  • CHANGED: AnnotationDataReader enhanced to support annotated annotations.
  • NEW: Madvoc configurator is now one of its components (in internal container).
  • NEW: Lagarto introduced new Node method appendTextContent for reducing the garbage while building nodes text content.
  • CHANGED: Added better support for Madvoc action path macros.
  • NEW: Added better support in HTTP for encodings and charsets.

New in Jodd 3.4.2 (Feb 26, 2013)

  • ASM 4.1 source is now bundled with Jodd.
  • NEW: BeanCopy tool added.
  • CHANGED: HTTP client rewritten.
  • CHANGED: Removed compiler package as obsolete.
  • FIXED: Issue with decoding paths with Chinese letters and AutomagicPetiteConfigurator.
  • NEW: Madvoc ActionInterceptorStack is now configurable.
  • CHANGED: Migrated from Maven to Gradle.
  • NEW: Added Period class for JDateTime.
  • CHANGED: Madvoc action path macros now uses wildcard match by default
  • NEW: Madvoc now offers custom path macros.
  • FIXED: Fixed issue with Madvoc action path macros for REST urls.
  • NEW: Enhanced DbOom column chink

New in Jodd 3.4.1 (Jan 7, 2013)

  • NEW Added filter method to Jerry.
  • FIXED Fixed issue with Google App Engine and ReflectUtil.
  • CHANGED DbSessionProvider now requires DbSession to be created and controlled outside of the class.
  • CHANGED Migrated to ASM 4.1
  • CHANGED Attaching Mail attachments is different (better) now.
  • FIXED Embedded attachments now works with ThunderBird and GMail.
  • NEW More array type-conversions added.
  • NEW Added OSGI information in all jars.
  • NEW Madvoc @Action annotation now has result property.
  • NEW Jerry is now iterrable (Groovy! :).
  • FIXED CSSelly now supports escaped characters

New in Jodd 3.4.0 (Oct 25, 2012)

  • CHANGED JDateTime now do the equals of timestamp up to millisecond.
  • NEW Petite supports Scoped Proxy for mixing scopes.
  • CHANGED Added better handling for return values in Proxetta.
  • FIXEDJ DateTime now can parse patterns w/o separators
  • NEW Added StringUtil.decapitalize() and ReflectUtil.getCallerClass() to remove dependency on java.beans and sun packages.
  • CHANGED Lagarto now treats invalid tags as text.
  • FIXED ZipUtil.zip now adds folder entries for non-empty folders, too.
  • CHANGED Jodd log wrapper removed.
  • NEW PropsUtil.convert() added.
  • CHANGED Some packages were moved
  • CHANGED Resolving path from manifest files improved.
  • FIXED Fixed includeFiles issue FindFile.
  • FIXED Fixed NPE in FindFile.

New in Jodd 3.3.9 Build 20120907 Beta (Sep 7, 2012)

  • FIXED Fixed NPE in FindFile. // andtaotao

New in Jodd 3.3.8 (Sep 5, 2012)

  • NEW Added LoggablePreparedStatementFactory.
  • NEW Added wrapper-type of Proxetta.
  • CHANGED Removed JDK-dependent LoggablePreparedStatement.
  • NEW Triple-quoted multiline values for Props added.
  • FIXED Fixed Props values with profile chars; comments are not allowed in values any more. // Patrick van Dissel
  • NEW Implicit self-reference for BeanUtil.
  • CHANGED JspResolved simplified. Jsp functions cleaned.
  • CHANGED Paramo now offers signature for non-generic types, too.
  • CHANGED Props extract methods works with target map now.
  • CHANGED FileUtil methods for reading file content now detects BOM characters for Unicode encodings.
  • CHANGED UnicodeInputStream now may work in two modes: detect mode and read mode.
  • CHANGED Added FastSort (with new sorting implementation) in favor of FastMergeSort.
  • NEW Added natural-order sorting Comparator.
  • NEW Added rules for implicit end tags in Lagarto Dom.
  • CHANGED Lagarto Dom now fixes unclosed tags more pragmatic. Major speed improvement.
  • FIXED Fixed slow processing of unclosed tags in Lagarto DOM. (#jodd-23) // wjw465150
  • FIXED Stapler files were not deleted on reset().
  • NEW FindFile enhanced: better walking, varoius sorting added. Read more...
  • CHANGED FindFile internal logic optimized. FileScanner removed.
  • CHANGED ClassFinder system jars property is now static.
  • NEW Caches now uses ReentrantReadWriteLock for synchronization.

New in Jodd 3.3.7 (Jul 28, 2012)

  • Added DbOom reference option to render just a column name.
  • CHANGED DbDefaults moved to DbManager bean.
  • NEW Added DbOom naming strategies for tables and columns.
  • CHANGED Path-style wilcard matching added where path is searched.
  • CHANGED Mime types uses now only most recent Apache configuration.
  • FIXED Fixed bug with entites update and Postgres databases. (#jodd-21)
  • NEW More properties for Lagarto added.
  • NEW LagartoParserEngine added.
  • FIXED Lagarto handles IE conditional comments in a better way.
  • NEW LagartoDOMBuilder allows usage of custom tag visitor.
  • NEW Lagarto allows usage of custom DOM builder.
  • FIXED Null upload issue fixed. (#jodd-22)
  • FIXED Email issue fixed with reply-to fields. (#jodd-20)
  • NEW HtmlStapler filter added. Read more... (#jodd-19).
  • CHANGED HtmlStapler servlet removed!
  • NEW SwingSpy is back to Jodd.
  • FIXED Fixed some expections in Jerry when used on empty sets.
  • CHANGED All bean loaders now uses the same abstract class.

New in Jodd 3.3.5 Beta (Jul 2, 2012)

  • HtmlStapler has been enhanced: filter added, servlet removed!
  • Refer to documentation for new features. [#jodd-19].
  • SwingSpy is back to Jodd.
  • Fixed some expections in Jerry when used on empty sets.
  • All bean loaders now uses the same abstract class.

New in Jodd 3.3.4 (Jun 12, 2012)

  • Added RemoveSessionFromUrlFilter added. // thanx to Jasmine Ottis
  • JDateTime.isInDayLightTime() added.
  • MimeTypes upgraded.
  • HtmlStapler servlet now returns content-type for bundles [#jodd-16]. // reported by Jasmine Ottis
  • Fixed FCQN names for logger wrapper.
  • Madvoc interceptors now can be enabled/disabled in properties file.
  • Fixed issue in Petite with setting params for long bean names.
  • Added injection of Madvoc params in injectors and results.
  • Fixed issue in Decora with empty buffers.
  • Madvoc aliases are now defined by < >.
  • Madvoc configuration for attributes simplified.

New in Jodd 3.3.3 (Jun 12, 2012)

  • 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.

New in Jodd 3.3.2 (Feb 22, 2012)

  • 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

New in Jodd 3.3.1 (Feb 22, 2012)

  • 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.

New in Jodd 3.3 (Feb 22, 2012)

  • 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.

New in Jodd 3.2.7 (Feb 22, 2012)

  • 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

New in Jodd 3.2.6 (Feb 22, 2012)

  • 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

New in Jodd 3.2.5 (Feb 22, 2012)

  • 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.

New in Jodd 3.2 (Feb 22, 2012)

  • 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.

New in Jodd 3.1.1 (Feb 22, 2012)

  • 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

New in Jodd 3.1.0 (Feb 22, 2012)

  • 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.

New in Jodd Build 291 (Aug 23, 2007)

  • Latest release of Jodd (b291) is moved to Java5 platform.
  • Db is a bit enhanced.
  • Proxetta is introduced in Jodd suite.
  • Various updates and some new utilities are added.