AO Encoding Taglib Changelog


Snapshot Notes

  • This is a major version bump for incompatible changes of Java API only. The taglib itself is completely backward compatible.
  • type attributes are now java.lang.Object instead of java.lang.String.
  • Improved support for taglib serialization: marked attribute fields transient and calling init() from readObject(…).


Release Notes

  • Implemented CSS encoding:
    1. <encoding:style>
  • New interface NoClose along with static wrap(…) methods to avoid duplicate wrapping.
  • More thorough internal character validation, with additional optimizations.
  • Moved FailOnWriteWriter to AO Lang.


Release Notes

  • Updated dependencies.


Release Notes


Release Notes

  • Updated to Java™ EE 7 Web Profile (Servlet 3.1, JSP 2.3, EL 3.0, and JSTL 1.2).
  • 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, does not perform any transitive requires.
  • Maven artifact relocated from com.aoindustries:ao-encoding-taglib to com.aoapps:ao-encoding-taglib.
  • Package renamed from com.aoindustries.encoding.taglib to com.aoapps.encoding.taglib.
  • Taglib URL changed to to match project URL.


Release Notes

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


Release Notes

  • Attribute setters now throw IllegalArgumentException instead of JspTagException.


Release Notes

  • New project for character encoding in JSP split from AO Taglib.
  • Added alternate implementation compatible with legacy JSP that use scriptlets.
  • Added tags to fill-out all the currently supported media types:
    1. <encoding:javascript>
    2. <encoding:json>
    3. <encoding:ldJson>
    4. <encoding:url>
  • Now registering exception types for use with Throwables.newSurrogate(…) that supports creating new instances of throwables in order to have caller stack trace. When wrapped, the original throwable is the cause of the new throwable. When not wrapped, the original throwable is used directly and caller stack trace is lost.

    This is used to maintain exception types and states across thread boundaries, such as when an exception cause is obtained from an ExecutionException.

  • New tag <encoding:encoding> that has a type defined in its type attribute.
  • EncodingNullTag now sets MediaType.TEXT context before invoking the JSP body. This means nested tags that attempt to produce valid output will not be limited by the parent encoding context of the tag.
  • Cleaned-up use of JspTagException versus JspException. Generally, methods declare throws JspException while actually throwing instances of JspTagException. The exceptions to this are attribute setters and private implementation methods that both declare and throw JspTagException.