NMW Email Taglib Changelog


Snapshot Notes

  • Improved support for taglib serialization: marked attribute fields transient and calling init() from readObject(…).


Release Notes

  • Updated dependencies.
  • Renamed EmailTag.ERROR_REQUEST_ATTRIBUTE_NAME to ERROR_REQUEST_ATTRIBUTE and changed type to Scope.Request.Attribute.


Release Notes

  • Updated to Java™ EE 7 Web Profile (Servlet 3.1, JSP 2.3, EL 3.0, and JSTL 1.2).
  • Minimum Java version changed from 1.8 to 11.
  • Now supports Java 9+ modules. Due to still having filename-based automatic module dependencies, *-SNAPSHOT versions include module-info.class while releases include the Automatic-Module-Name manifest entry. To minimize the difference between these modes, module-info.java does not perform any transitive requires.


Release Notes

  • <email:email> now propagates SkipPageException so the page processing may correctly terminate. Previously, the exception would be caught as if it were an error in sending mail, and page processing would continue.


Release Notes

  • Switched to strict InetAddress parsing.


Release Notes

  • <email:data> "type" attribute now accepts short forms for recognized media types. This matches the changes made to <email:content>.
  • <email:content> once again accepts all values for "type" attribute. Instead of throwing an exception, which was behavior changed in the previous release, it now logs a warning, disables character validation, and disables any in-context translator markup.


Release Notes

  • Taglib URI changed from http://taglibs.newmediaworks.com/email to https://oss.newmediaworks.com/email-taglib/.
  • Updated dependencies.
  • Cleaned-up use of JspTagException versus JspException. Generally, methods declare throws JspException while actually throwing instances of JspTagException. The exception to this is private implementation methods that both declare and throw JspTagException.
  • Attribute setters now throw IllegalArgumentException instead of JspTagException.
  • Split development-only classes into a new sub-project in devel/. This sub-project is used only for development and is never deployed to artifact repositories.
  • Renamed EmailTag.ERROR_REQUEST_PARAMETER_NAME to ERROR_REQUEST_ATTRIBUTE_NAME, since the error is in request attributes, not parameters.
  • Integrated with AO Encoding Taglib for automatic encoding based on tag context. This means more seamless interaction with other AO Encoding-aware tools, such as AO Taglib.

    As an example, use of <ao:message> within <email:subject> will automatically encode its output as TEXT.

  • <email:file> now copies into a request-scope temporary file when unable to directly access the resource as a file. This enables:
    1. Access to web resources contained in /META-INF/resources/ within /WEB-INF/lib/*.jar
    2. Access to web resources while running as an unexploded *.war file
  • Added more attributes for JSP Expression Language integration. Implementations still fall-back to body content when the attribute is not specified.
  • <email:file> now supports page-relative paths.
  • <email:content> has new serialization and doctype attributes, that default to SGML and default (which is currently HTML5).
  • <email:content> now disables in-context translation editor scripting. Text or comment markup may still be performed on the content.
  • Added alternate implementation compatible with legacy JSP that use scriptlets.
  • <email:getErrorReason> no longer has to be nested inside <email:error>. It will still get any error reason from the last invocation of <email:email>.
  • New function ${email:isError()} as a functional counterpart to <email:error>.
  • New function ${email:isSuccess()} as a functional counterpart to <email:success>.


Release Notes

  • Fixed French translations properly encode ' as '' inside resource bundles.


Release Notes

  • Minimum Java version changed from 1.7 to 1.8.
  • Reduced use of property substitutions in pom.xml. This is to help 3rd-party parsers that fail to perform full Maven-compatible substitutions.
  • Using constants from new ContentType class.


Release Notes

  • Updated dependencies.


Release Notes

  • Project moved to GitHub and Maven.
  • Minimum Java version changed from 1.6 to 1.7.
  • Tag library version changed from 2.0 to 2.1.
  • Significantly improved the taglib documentation.
  • Improved the Java API documentation.
  • Using managed dependencies:
    1. This project uses managed dependencies.
    2. This project's managed dependencies may also be imported by other projects.