AOWeb Struts Core Changelog


Snapshot 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.
  • Now outputting HTML or XHTML based on the current response content type. This should eliminate validator warnings when used as HTML.
  • Now supports skin attributes for serialization (default "auto") and doctype (default "HTML5").
  • Skins are now responsible for writing the DOCTYPE and html tag, too.
  • Removed setContentType tag.
  • Removed Skin.getCharacterSet(Locale), since the default encoding is always UTF-8.
  • SkinTag now sets Struts Globals.XHTML_KEY based on serialization. No need to use the <html:xhtml /> tag anymore.
  • Added <link rel="author" href="…" /> support.
  • <skin:contentTitle /> is now scriptless.
  • Optimized ServletContext attribute initialization and concurrency.
  • TicketLoggingHandler automatically loaded on start-up via @WebListener. No more LogFactory. Now just use Logger.getLogger(…) like normal.
  • Integrated with AO Web Resources.
  • Added support for WebP images.
  • Removed support or IE 6, 7, 8, and 9 since all are end-of-life.
  • Added support for Web development file types *.less, *.sass, *.scss, *, and *


Release Notes

  • Updated for compatibility with ao-lang-3.0.0.
  • Updated for compatibility with aocode-public-3.1.0.
  • Updated for compatibility with aoserv-client-1.83.1.
  • Cookie names, values, comments, and paths are now URI-encoded.
  • No longer URL rewriting file: and data: URLs.
  • Using new filter EncodeURIFilter which encodes the URL to either RFC 3986 URI US-ASCII format or RFC 3987 IRI Unicode format.
  • No longer URL rewriting *.dia URLs.
  • SessionResponseWrapper now supports Canonical URLs, with the following behavior:
    1. ;jsessionid is never used
    2. language parameter is always added for non-default language
    3. All other cookie parameters are skipped, such as authenticationTarget, layout, and su.
    This should result in URLs consistent with what search engines see, assuming search engines never supply cookies, never change the layout, and never tried to login or "su".
  • Minimized session creation.
  • PermissionAction.getPermissions() changed from List to Set.
  • Skin.Language now uses AnyURI instead of String for URLs.


Release Notes

  • Minimum Java version changed from 1.6 to 1.7.
  • Implemented VNC compatibility for HVM guests on Xen 4.6 on CentOS 7.
  • Aligned the session URL rewriting excluded path extensions to match other projects. The list is now:
    1. *.bmp (added this release)
    2. *.css
    3. *.exe (added this release)
    4. *.gif
    5. *.ico
    6. *.jpeg
    7. *.jpg
    8. *.js
    9. *.png
    10. *.svg (added this release)
    11. *.txt
    12. *.zip
  • Payment form improvements:
    1. Passing more values to underlying credit card processing API:
      1. principalName from authenticated user
      2. groupName from account name
      3. email from account profile's first billing email address
      4. phone from account profile
      5. fax from account profile
    2. New function ${aoweb:getCardNumberDisplay()} to format masked card numbers for display.
    3. New function ${aoweb:getExpirationDisplay()} to format expiration dates for display.
  • Using managed dependencies:
    1. This project uses managed dependencies.
    2. This project's managed dependencies may also be imported by other projects.


Release Notes

  • Updated for new AO Net Types project pulled out of AOServ Client.
  • Updated for validation base moved from AOServ Client to AO Lang.
  • Making more extensive use of self-validating types.
  • Extended network protocol to send randomized command sequences to help ensure stream integrity.
  • Updated dependencies.


Release Notes

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


Release Notes

  • Improved Javadoc formatting.
  • Improved README formatting.
  • No more page stack, just show title for current page only.


Release Notes

  • Using latest releases of dependencies.


Release Notes

  • Using standard filter set provided by SemanticCMS.
  • SessionFilter moved from main web.xml to web-fragment.xml, so it can be ordered between other fragments instead of always being top of the filter chain.


Release Notes

  • Project moved to GitHub and Maven.
  • Moved Java implementation to aoweb-struts-core package.
  • Packaged for compatibility with old Ant build system.
  • Storing PageTag on request attribute so can capture across jsp:includes.