AO Taglib Changelog


Snapshot Notes

  • Case-insensitive matching of URL schemes. Previously, URL schemes were matched case-sensitive, while the spec is case-insensitive. This has been OK given we only use lower-case schemes within our code and tools, but this is now a correct implementation.
  • <ao:a> now displays URL in more human-readable, but still unambiguous, format.


Release Notes

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


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


Release Notes

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


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 to match project URL.
  • Added support for XML DOM Node in toString type coercion.


Release Notes

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


Release Notes

  • Added autocomplete attribute on input tags.


Release Notes

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


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).


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.


Release Notes

  • Improved Maven configuration for Java EE 6 dependencies.


Release Notes

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


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>


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.


Release Notes

  • Project moved to GitHub and Maven.