SemanticCMS Core Taglib Changelog

semanticcms-core-taglib-1.16.0

Release Notes

  • PropertyTag.name attribute is now java.lang.Object instead of java.lang.String.
  • ElementTag.evaluateAttributes(…) no longer throws IOException.

semanticcms-core-taglib-1.15.2

Release Notes

  • No longer hiding *.jspx or *.jsp extensions for resources within /WEB-INF/*. This is to help interoperability with frameworks that hide their JSP pages from direct access.

semanticcms-core-taglib-1.15.1

Release Notes

  • Updated dependencies.

semanticcms-core-taglib-1.15.0

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.

semanticcms-core-taglib-1.14.2

Release Notes

  • Updated dependencies.
  • Implemented automatic newline and tab indentation.

semanticcms-core-taglib-1.14.1

Release Notes

  • Updated dependencies.

semanticcms-core-taglib-1.14.0

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.

semanticcms-core-taglib-1.13.1

Release Notes

  • Updated dependencies.

semanticcms-core-taglib-1.13.0

Release Notes

  • Added generics to TLD types and signatures.
  • Updated dependencies.
  • 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.
  • <core:page>: allowRobots and toc now parse null or empty strings as "auto".
  • 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.

semanticcms-core-taglib-1.12.0

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.
  • Enabled HideJspExtensionFilter on ERROR dispatcher, too.
  • Now supports page attributes for serialization (default "auto") and doctype (default "HTML5").
  • Using AO Fluent HTML for HTML generation.
  • Optimized ServletContext attribute initialization and concurrency.
  • Updated dependencies.

semanticcms-core-taglib-1.11.0

Release Notes

semanticcms-core-taglib-1.10.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.

semanticcms-core-taglib-1.10.0

Release Notes

  • Minimum Java version changed from 1.6 to 1.7.
  • Fixed bug in <core:page> that threw ServletException when page not in a book, even when book and path attributes are provided.

semanticcms-core-taglib-1.9.0

Release Notes

  • Nodes, including both pages and elements, now have properties:
    1. Properties may be set via dynamic attributes property.name="value" on any page or element.
    2. Properties are now automatically loaded from any .properties file matching the JSP or JSPX filename without *.jsp or *.jspx. For example, a page named index.jspx would have its properties automatically loaded from the index.properties file.
    3. Any duplicate properties will result in an exception.
    4. Properties may also be set with the new <core:property> tag.
  • Updated dependencies.
  • May now specify anchor to link to non-SemanticCMS-element targets.

semanticcms-core-taglib-1.8.1

Release Notes

  • New AO OSS Parent POM to simplify pom.xml files.
  • Added support for dateCreated, datePublished, dateModified, and dateReviewed.
  • Project documentation moved to per-project book in SemanticCMS format.
  • Added changelog as top-level project link.
  • 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.
  • core:parent and core:child tags now accept expressions for book and page attributes.

semanticcms-core-taglib-1.8.0

Release Notes

  • Improved Javadoc formatting.
  • Improved README formatting.
  • Added component registry.
  • shortTitle may now be specified on a per-parent basis, for when the shortTitle only makes sense within the context of that specific parent. This is useful for navigation items such as breadcrumbs or trees.
  • Ordering less specified in the API contract, but implementation will be more consistent.

semanticcms-core-taglib-1.7.1

Release Notes

  • display-name defined in web-fragment.xml was causing "The display name was defined in multiple fragments with different value"
  • Automatic content root redirect changed from 302 to stronger 301 for SEO purposes.
  • Using latest releases of dependencies.

semanticcms-core-taglib-1.7.0

Release Notes

  • Improved Javadoc formatting.
  • Set rtexprvalue to false where seems reasonable to do so.
  • Removed unnecessary and unused attribute getters.
  • Link class is now a deferred expression and only evaluated on body captures.
  • Core taglib now supports deferred expressions.
  • Avoiding calling writeTo when capturing.
  • 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).

  • Trim on includes is just unnecessary filter invocation.
  • Only writing element marker when needed now.

semanticcms-core-taglib-1.6

Release Notes

  • Use dependencyManagement instead of dependency for junit.
  • Created parent pom for all SemanticCMS components.
  • Now supporting per-page allowRobots setting.
  • Handling expression language converting nulls to empty strings.
  • Views now provide general purpose links, not just specifically CSS links.

semanticcms-core-taglib-1.5

Release Notes

  • Improved Maven configuration for Java EE 6 dependencies.

semanticcms-core-taglib-1.4

Release Notes

  • Making use of web-fragment.xml to remove common configuration from per-app web.xml.
  • Moved automatic Git to separate packages.
  • More view control over links to view.
  • Added global and per-view script registry.
  • Views may now use parameters.

semanticcms-core-taglib-1.3

Release Notes

  • Hyperlinks now optional on links.
  • Allowing "small" link instead of eliminating hyperlink altogether.
  • Moved styles to separate package.
  • Created parent pom for all SemanticCMS components.
  • Requires latest version of aocode-public.

semanticcms-core-taglib-1.2

Release Notes

  • Now generating missing ids when first accesssed, not at the end of the page. This fixes bug where IDs were missing from elements.
  • To avoid easily making broken links, may no longer link to generated element ids.
  • Application-scope variables combined into single "semanticCMS" variable.
  • Require latest ao-servlet-filter dependency.
  • Now supporting *.jspx files.
  • Defined how themes and views interact.
  • Headings moved to own projects and renamed to "Section".
  • Now passing arguments through includes.
  • Pulled files out of core and made files be elements.
  • Using auto temp file wrapper in all places.
  • Added default redirect to content root.
  • Views can now hide themselves when not relevant to a given page.
  • Pulled openFile out of core.

semanticcms-core-taglib-1.1

Release Notes

  • Renamed project from ao-web-page-taglib to semanticcms-core-taglib.

ao-web-page-taglib-1.0

Release Notes

  • Project moved to GitHub and Maven.