Smooks v2.0.0-M2 Release Notes

Release Date: 2020-11-25 // over 3 years ago
  • ๐Ÿš€ Release Notes

    ๐Ÿ†• New Features

    SAX NG filter (experimental):

    • Supersedes the SAX and DOM filters
    • Brings with it a new visitor API which unifies the SAX and DOM visitor APIs
    • Cartridges migrated to SAX NG
    • Supports XSLT and StringTemplate resources unlike the legacy SAX filter

    - Easily extensible with interceptors

    Visitor mementos: a convenient way for stashing and un-stashing a visitor's state during its execution lifecycle.

    ๐Ÿ†• New Smooks XSD schema (xmlns=""):

    • Uniform XML namespace declarations
    • Dropped default-selector-namespace and selector-namespace XML attributes in favour of declaring namespaces within the standard xmlns attribute from the smooks-resource-list element

    - Removed default-selector attribute from smooks-resource-list element: selectors need to be set explicitly

    org.smooks.container.ExecutionContext#getWriter(): a new method for writing to an output stream in an abstract way regardless of which filter is active.

    Miscellaneous Changes

    • โšก๏ธ Updated dependencies:
      • commons-net:commons-net to version 3.7.2
      • org.mvel:mvel2 to version 2.4.10.Final
      • com.thoughtworks.xstream:xstream to version 1.4.14

    ๐Ÿ’ฅ Breaking Changes

    โฌ‡๏ธ Dropped Smooks-specific annotations in favour of JSR annotations:

    • Farewell @ConfigParam, @Config, @AppContext, and @StreamResultWriter. Welcome @Inject

    - Farewell @Initialize and @Uninitialize. Welcome @PostConstruct and @PreDestroy

    โฌ‡๏ธ Dropped org.smooks.container.ExecutionContext#isDefaultSerializationOn() method: replace with

    ๐Ÿ“‡ Renamed org.smooks.container.ExecutionContext#getContext() to org.smooks.container.ExecutionContext#getApplicationContext().

    ๐Ÿ“‡ Renamed classes:

    • org.smooks.cdr.SmooksResourceConfiguration to org.smooks.cdr.ResourceConfig
      • Renamed getSelectorSteps() to getSelectorPath(): a org.smooks.cdr.xpath.SelectorPath is returned instead of a String array
      • Moved getSelector() to org.smooks.cdr.xpath.SelectorPath
    • org.smooks.cdr.SmooksResourceConfigurationList to org.smooks.cdr.ResourceConfigList
    • to

    You can follow the examples for reference to migrate your application.


    Apache Maven

    \<dependency\> \<groupId\>org.smooks\</groupId\> \<artifactId\>smooks-core\</artifactId\> \<version\>2.0.0-M2\</version\> \</dependency\>

Previous changes from v2.0.0-M1

  • ๐Ÿ†• New Features

    • ๐Ÿš€ Independent release cycles for all cartridges and one Maven BOM (bill of materials) to track them all
    • License change:
    • โšก๏ธ Numerous dependency updates
    • Maven coordinates change:
      • We are now publishing Smooks artifacts under Maven group IDs prefixed with "org.smooks".

    ๐Ÿ›  Fixed issues

    • ๐Ÿ“š #87: Documentation - URL's pointing wrong
    • #98: What happened to segref?
    • ๐Ÿ‘ #108: Is there repetition separator support
    • #123: FreeMarker dependency outdated
    • ๐Ÿ“œ #126: EDI parsing does not handle segment groups with an optional first segments
    • ๐Ÿ“œ #127: EDI parser does not support fields with cardinality larger than 1
    • #128: is dead
    • #135: SAX content handler that generates edifact messages
    • ๐Ÿšš #148: xml version removed from edimappingconfig.xml when using maven java plugin
    • #162 EJC generates v1.5 edimap file from v1.6
    • #255: the attr of minOccurs became "realOccurs" in the EDI mapping