Skip to content

Latest commit

 

History

History
315 lines (203 loc) · 11.8 KB

RELEASE_NOTES.adoc

File metadata and controls

315 lines (203 loc) · 11.8 KB

Release Notes

Features

  • Add the PostProcessor concept to be able to add cleaners or summaries at stamping finish.

  • #68 Filled to displayXXXIf panoply with:

    • displayParagraphIf(boolean), displayParagraphIfPresent(object) and displayParagraphIfAbsent(object)

    • displayTableRowIf(boolean), displayTableRowIfPresent(object) and displayTableRowIfAbsent(object)

    • displayTableIf(boolean), displayTableIfPresent(object) and displayTableIfAbsent(object)

    • displayWordsIf(boolean), displayWordsIfPresent(object) and displayWordsIfAbsent(object)

    • displayDocPartIf(boolean), displayDocPartIfPresent(object) and displayDocPartIfAbsent(object)

  • The two provided evaluation context configurer now include the classic Get Accessor and the Map Accessor, so the object used as context can be much more flexible.

    • ie. ${name} can now refer to an object getName() method or to a map get("name") value.

Bugfixes

  • BREAKING - Paragraph#getComment now returns a Collection instead of an Optional, because one paragraph can have several comments. Fixes a bug when commenting several groups of runs by different comments in a single paragraph.

  • #69 Office-stamper is now aware of Footnotes and Endnotes, it only cleans orphaned notes with standardWithPreprocessing configuration for now, but probably going to run the stamping as well in future versions.

  • #510 All repeatXXX can now accept Iterable as input

Dependencies

  • Bump org.docx4j:docx4j-core from 11.5.0 to 11.5.1

  • Bump org.docx4j:docx4j-JAXB-ReferenceImpl from 11.5.0 to 11.5.1

  • Bump org.springframework:spring-expression from 6.1.14 to 6.2.1

  • Bump org.springframework:spring-context from 6.1.14 to 6.2.1

Continuous Integration

  • Bump org.junit.jupiter:junit-jupiter from 5.11.3 to 5.11.4

  • Bump org.pitest:pitest-maven from 1.17.0 to 1.17.3

  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.1 to 3.5.2

  • Bump org.apache.maven.plugins:maven-site-plugin from 3.20.0 to 3.21.0

  • Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.7.0 to 3.8.0

  • Bump org.apache.maven.plugins:maven-surefire-report-plugin from 3.5.1 to 3.5.2

  • Bump org.apache.maven.reporting:maven-reporting-exec from 2.0.0-M14 to 2.0.0

  • Bump org.asciidoctor:asciidoctor-maven-plugin from 3.1.0 to 3.1.1

  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.1 to 3.11.2

  • Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.5 to 3.2.7

Refactorings

  • Removed the old ObjectDeleter utility class to use mostly WmlUtils#remove method instead.

  • All Lang info is removed with standardWithPreprocessing configuration now.

Tests

  • Create the ObjectContextFactory, and the MapContextFactory to test all use cases with POJO Beans and Map equally.

  • Fix a bug in Locale when some test failed

  • Move processors-specific test outside the DefaultTest class

  • #114 added a test to trace this still unresolved issue.

  • Word 2 String now includes comments, endnotes and footnotes

  • String 2 Word now includes comments

Features

  • It is now possible to add custom function to the Spel context in a simpler way. Try using OfficeStamperConfiguration.addCustomFunction methods.

  • Added the pro.verron.officestamper.utils package to provide useful and common elements for core, preset, test and users.

  • Deprecated the Paragraph wrapper now can provide a bit more advanced capability on inner P, don’t recommend calling getP() anymore.

Dependencies

  • MAY BREAK Change java target from 17 to 21

  • Bump org.springframework:spring-expression from 6.1.12 to 6.1.14

  • Bump org.springframework:spring-context from 6.1.12 to 6.1.14

Continuous Integration

  • Removed dependabot analysis

  • Bump org.apache.maven.plugins:maven-gpg-plugin from 3.2.5 to 3.2.7

  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.0 to 3.10.1

  • Bump org.apache.maven.plugins:maven-surefire-plugin from 3.5.0 to 3.5.1

  • Bump org.apache.maven.reporting:maven-surefire-report-plugin from 3.5.0 to 3.5.1

  • Bump org.apache.maven.plugins:maven-site-plugin from 3.20.0 to 3.21.0

  • Bump org.apache.maven.plugins:maven-project-info-reports-plugin from 3.7.0 to 3.8.0

  • Bump org.apache.maven.plugins:maven-javadoc-plugin from 3.10.0 to 3.10.1

  • Bump org.apache.maven.reporting:maven-reporting-exec from 2.0.0-M14 to 2.0.0

  • Bump org.pitest:pitest-maven from 1.16.3 to 1.17.0

  • Bump org.asciidoctor:asciidoctor-maven-plugin from 3.0.0 to 3.1.0

  • Bump org.junit.jupiter:junit-jupiter from 5.11.0 to 5.11.3

Refactorings

  • CommentProcessor was setup with a P, R and Placeholder now receives a ProcessorContext instead.

  • Cleanup of malformed comments has moved to a PreProcessor instead of done on the fly during processing.

  • Do a step toward treating Comment in the same way as Placeholder.

  • Deprecated CommentProcessor to now be setup with a Paragraph that wraps and provides features around the docx4j P.

  • Deprecated The Image preset object now deprecate getMaxWidth and getImageBytes.

  • BREAK Removed DocxDocument.commentsPart method.

  • BREAK DocxPart.streamParagraphs method now returns the Paragraph wrapper, instead of docx4j P.

Tests

  • Improved test names,

  • Improved Word to string representation to better differentiate paragraph, run and cell styles.

  • Remove exotic characters from string representation of Word documents.

  • Section break and page break are more explicit in string representation of Word documents.

Features

  • Add a way to set an ExceptionResolver to Office stamper, with OfficeStamperConfiguration#setExceptionResolver(ExceptionResolver) and allows users to handle errors programmatically as was expressed in the old Issue #65

    • Added an ExceptionsResolvers class providing default implementations

    • It deprecates setFailOnUnresolvedExpression(boolean), unresolvedExpressionsDefaultValue(String), replaceUnresolvedExpressions(boolean) and leaveEmptyOnExpressionError(boolean).

Dependencies

  • Bumped org.docx4j:docx4j-core from version 11.4.11 to 11.5.0

  • Bumped org.springframework:spring-context from version 6.1.11 to 6.1.12.

Continuous Integration

  • Added Renovate settings to improve over dependabot

  • Follow best practices for maven-gpg-plugin

  • Removed GitHub .devcontainer settings

  • Bumped actions/configure-pages to v5

  • Bumped org.pitest:pitest-maven to 1.16.3

  • Bumped org.apache.maven.plugins:maven-javadoc-plugin to 3.10.0

  • Bumped org.apache.maven.plugins:maven-gpg-plugin to 3.2.5

  • Bumped org.apache.maven.plugins:maven-site-plugin to 3.20.0

  • Bumped org.apache.maven.plugins:maven-project-info-reports-plugin to 3.7.0

  • Bumped org.junit.jupiter:junit-jupiter to 5.11.0

Refactorings

  • Improved some logs related to unresolved errors

  • Improved comments collections

Tests

  • Tests can now differentiate tables with their asciidoc-like representation

  • Tests can now differentiate when paragraph style has the cnfStyle property set

  • Quite a few tests have been remodeled to decrease their verbosity

  • Added a regression test for Issue #64

Features

  • Office-stamper can now format all java.time objects directly from standard configuration (issue #411), see engine/src/test/java/pro/verron/officestamper/test/DateFormatTests.java

  • Office-stamper can now resolve multiline placeholders (not multi paragraph, just with linebreaks)(issue #422)

  • Office-stamper proven can resolve custom function inside comments expressions (issue #56)

  • Office-stamper proven can resolve displayParagraphIf inside table with repeatTableRow (issue #52)

Dependencies

  • Bumped org.springframework:spring-expression from version 6.1.11 to 6.1.12.

Documentation

  • The release notes have been separated into their own file for better organization and easier access.

  • Deprecated Paragraph#replaceAll and Paragraph#contains from api package as it was a remnant of a core fix.

Tests

  • Tests can now better differentiate types of breaks in word documents

  • Fixed a regression in tests about whitespaces manipulation

Features

  • Office-stamper can now resolve images inside footers and headers (issue #53).

    • Added the DocxPart type to wrap the docx4j.WordprocessingMLPackage and specify a working subpart.

    • Breaking Change: Updated references to WordprocessingMLPackage by DocxPart in API. A default implementation is provided to support existing implementations, but upgrading to the latest version is recommended.

    • Breaking Change: The order of resolution has been modified. Please check if you had specific expectations in your custom implementations, though nothing should have broken.

Dependencies

  • Bumped org.springframework:spring-expression and org.springframework:spring-context from version 6.1.10 to 6.1.11.

Documentation

  • Added linebreak replacement feature mentioned in README.

Tests

  • Added a test for the linebreak replacement feature inside tables.

  • Introduced the makeResource method that allows generating a Word document directly from textual representation.

  • Removed the integration subfolder in tests and moved its content to the main test folder.

  • Fixed a configuration error in log level settings for tests.

Features

  • Office-stamper can now support forms control replacement from the proposal #286.

Bugfixes

  • Fixed issues when computing DOCX run length, avoiding potential bugs.

Dependencies

  • Bumped org.springframework from version 6.1.8 to 6.1.10.

Continuous Integration

  • Added a new Maven extension for caching the build by @caring-coder in #389.

Tests

  • Stringification in tests now supports headers and footers.

  • Simplified templates.

Refactorings

  • StampTable are now Value objects.

Features

  • The raw stamper doesn’t carry any comment processors by default.

Dependencies

  • Bumped org.springframework:spring-expression to version 6.1.8.

Documentation

  • Updated README howto to document recent API changes.

  • Updated documentation to be more GitHub-friendly.

Refactorings

  • Updated the mechanism to walk through a Word document.

  • Prepared to separate resolvers into two: the future 'engine resolver' (encapsulates template features) and 'context resolver' (encapsulates stamped data).

  • Updated exception management and messages.

Bugfixes

  • Fixed dependency issue of v2.0.

Refactorings

  • Removed legacy APIs.

  • Renamed pro.verron:docx-stamper to pro.verron.office-stamper:engine.

  • Implemented modularization.

Bugfixes

  • Regression fix.

Features

  • Introduced new APIs.

Refactorings

  • Introduced new experimental namespace for beta features.

  • Moved toward modularization.

Features

  • Introduced the preset namespace to hold default configurations of the engine.

  • The engine can now run without a default resolver; it will throw an exception when it needs to find a resolver in that case.

Refactorings

  • ObjectResolver to replace ITypeResolver.

  • null stamping behavior is now managed by specific ObjectResolver implementations.

Features

  • lorem ipsum

Bugfixes

  • lorem ipsum

Dependencies

  • lorem ipsum

Documentation

  • lorem ipsum

Continuous Integration

  • lorem ipsum

Tests

  • lorem ipsum

Refactorings

  • lorem ipsum