AO Taglib Changelog

ao-taglib-5.0.0-SNAPSHOT

Snapshot Notes

  • Minimum Java version changed from 1.7 to 1.8.
  • Moved HtmlTag.useXhtmlContentType(…) to new Html class, along with related constants.
  • Now writing XML declaration when both serving as XHTML and response encoding is not UTF-8.
  • Now writing HTML or XHTML doctype based on current Serialization.
  • Changed <ao:html> attribute forceHtml to serialization, which now takes values SGML, XML, or auto (the default). When auto, the following steps are performed to resolve the serialization:
    1. Use the serialization active on the current request.
    2. Use the application context-paramcom.aoindustries.html.Serialization.default that allows an application to control the selection of HTML versus XHTML.
    3. When this context-param is unspecified or auto, determine the serialization based on the client's Accept header.
    4. -
  • <ao:html> attribute doctype now has a new value default (the default). When default, the following steps are performed to resolve the doctype:
    1. Use the doctype active on the current request.
    2. Use the application context-paramcom.aoindustries.html.Doctype.default that allows an application to control the default doctype.
    3. When this context-param is unspecified or default, defaults to HTML5, which results in a breaking change (this tag used to default to STRICT).
  • Now outputting HTML or XHTML based on the current response content type. This should eliminate validator warnings when used as HTML.
  • New tag <ao:br> that writes a line break in the current serialization.
  • New tag <ao:hr> that writes a thematic break (horizontal rule) in the current serialization.
  • New function ${ao:getSerialization()} to get the current Serialization enum.
  • New function ${ao:getDoctype()} to get the current Doctype enum.
  • Added in-context translation markup to script attributes, like onload.

ao-taglib-4.0.0

Release Notes

ao-taglib-3.0.1

Release Notes

  • Using managed dependencies:
    1. This project uses managed dependencies.
    2. This project's managed dependencies may also be imported by other projects.

ao-taglib-3.0.0

Release Notes

  • Minimum Java version changed from 1.6 to 1.7.
  • Deprecated TempFileContext in favor of new ServletTempFileContext that does not require web.xml configuration, supports additional scopes (application and session), and registers a shutdown hook to delete on JVM exit.
  • Allowing all attributes to have runtime expressions with <rtexprvalue>true</rtexprvalue>. There is no compelling reason to disable the runtime expressions, and disabling them can hinder developer options.
  • New tags for encoding in additional contexts:
    • <ao:mysql> - must be valid for the MySQL command line "mysql"
    • <ao:psql> - must be valid for the PostgreSQL command line "psql"
    • <ao:sh> - must be valid shell script

ao-taglib-2.3.1

Release Notes

  • Updated dependencies.
  • Added class attribute to <ao:form> tag.

ao-taglib-2.3.0

Release Notes

  • Not encoding anchors. To avoid ambiguity, anchors must be encoded by the caller, such as already done for parameters.
  • New AO OSS Parent POM to simplify pom.xml files.
  • Project documentation moved to per-project book in SemanticCMS format.
  • Added changelog as top-level project link.
  • Added itemprop for semantic microdata.
  • Taglib tlib-version is now set automatically during build. Unfortunately, we cannot include "-SNAPSHOT" on snapshot builds due to the requirement of "Dewey decimal" for taglib versions. The unambiguous full version is annotated via comment.
  • Taglib URL changed to https://aoindustries.com/ao-taglib/ to match project URL.
  • Added support for XML DOM Node in toString type coercion.

ao-taglib-2.2.0

Release Notes

  • Improved Javadoc formatting.
  • Improved README formatting.
  • Added support for application/json and application/ld+json encoding.

ao-taglib-2.1.0

Release Notes

  • Added autocomplete attribute on input tags.

ao-taglib-2.0.1

Release Notes

  • Updated beanutils version.
  • Restored runtime expression properties used by some projects.

ao-taglib-2.0.0

Release Notes

  • Using request object instead of ThreadLocals to support asynchronous and concurrent request processing.
  • Set rtexprvalue to false where seems reasonable to do so.
  • Removed unnecessary and unused attribute getters.
  • Newer taglib version to enable deferred expressions.
  • New helper for deferred expressions.
  • Some attributes changed to deferred expressions where evaluation is not always necessary.
  • New ao:choose, ao:when, and ao:otherwise tag implementations to support deferred expressions.
  • Each lock object now a small empty class to help identify lock contention.

    The lock contention profiler in NetBeans is just showing "java.lang.Object" all over, and can't seem to get from the lock object id to the actual object in the heap dump using OQL (id not found).

ao-taglib-1.4

Release Notes

  • Minor fixes for Jetty compatibility.
  • Added optional title attribute to links.
  • Removed unnecessary exceptions from constructors.
  • Short name set to "ao" as it is commonly used.
  • May now provide link data object.

ao-taglib-1.3.1

Release Notes

  • Improved Maven configuration for Java EE 6 dependencies.

ao-taglib-1.3

Release Notes

  • Efficient way to check if objects are empty.
  • Handling empty class from JSP EL.

ao-taglib-1.2

Release Notes

  • Allowing ao-taglib style "arg" maps to be passed through Dispatcher for non-taglib use.
  • args passed unmodifiable.
  • Now throws an exception if cannot set the response content type.
  • Passing args as Map<String,?> instead of forcing Map<String,Object>

ao-taglib-1.1

Release Notes

  • The beanutils dependency is now optional due to its limited scope in older components.
  • Reverted to Java 1.6 for Android and Java EE 6 compatibility.

ao-taglib-1.0

Release Notes

  • Project moved to GitHub and Maven.