ao-web-framework-3.0.0-SNAPSHOT
Snapshot Notes
-
Reduced use of property substitutions in
pom.xml. This is to help 3rd-party parsers that fail to perform full Maven-compatible substitutions. - Registering serialization (HTML/XHTML) with new methods
SerializationEE.set(…)andSerializationEE.get(…). - Registering doctype with new methods
DoctypeEE.set(…)andDoctypeEE.get(…). - Response writing now uses the new
Htmlinstead ofChainWriter. - Refactored
WebPage.doGet(…)andWebPage.doPost(…)methods for more meaningful parameter order. - Added
<link rel="author" href="…" />support. -
Removed all the old logging nonsense: use
java.util.logging.Loggerlike normal now. - Integrated with AO Web Resources.
HttpServletResponseis passed many places that were formerly only givenWebSiteRequest.- Added support for WebP images.
-
Now using the standard file upload API
for all uploaded files. This allows the removal of the
com.servlets:coslegacy dependency. - ServletException allowed more places where it naturally fits.
TreePageDatanow takes aString[]for the path. This allows path elements to contain slash (/) characters without any special encoding.-
Renamed
WebPage.getWebPages(…)togetChildren(…)andWebPage.getCachedPages(…)togetCachedChildren(…). -
URL parameters are now manipulated using
URIParameters, instead of a haphazard combination ofStringandString[]. With this change, we have proper URL encoding by default. WebPage(WebSiteRequest)andWebPage(URIParameters)and constructors are now optional. WhenWebPage(WebSiteRequest)does not exist, it falls-back toWebPage(URIParameters), which, in-turn, falls-back toWebPage().- Removed uses of
SQLExceptionin favor ofServletException. -
Removed uses of
IOExceptionwhere neither configuration of the response nor output to client are expected. - 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.classwhile releases include theAutomatic-Module-Namemanifest entry. To minimize the difference between these modes,module-info.javadoes not perform any transitive requires. - Maven artifact relocated from
com.aoindustries:aoweb-frameworktocom.aoapps:ao-web-framework. - Package renamed from
com.aoindustries.website.frameworktocom.aoapps.web.framework. - Completely removed
ErrorReportingServlet:- Removed request statistics since they were not used anywhere within our code-base.
-
Response buffer is no longer increased to 256 kiB and instead remains at the container default (8 kiB for Tomcat).
Any servlet or
WebPagethat requires a larger buffer must configure it.
WebPagenow hassetHeaders(…)instead ofgetAdditionalHeaders(…)to provide more flexibility.- Now properly restoring Thread interrupted state on
InterruptedException. - Performed Checkstyle clean-up.
- Pages no longer use keywords from parent page.
aoweb-framework-2.0.0
Release Notes
-
Split
getRandom()into bothgetSecureRandom()andgetFastRandom(), then selected the appropriate method for each place random is used. - Upload file ids changed from 31-bit
longto 128-bitIdentifier. - 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.
- New
WebSiteRequest.getEncodedURL(…)methods that:- Include
HttpServletRequest.getContextPath()as a prefix - Encoded to ASCII-only RFC 3986 format
- Response encode via
HttpServletResponse.encodeURL(String)
- Include
-
Split
WebSiteRequest.getURL(String, …)intoWebSiteRequest.getURLForClass(String, …)andWebSiteRequest.getURLForPath(String, …)to avoid ambiguity. - Updated bundled
mime.typesto current version from Debian 8.11. - Added
#fragmentsupport toWebSiteRequest.getURLForClass(String, …).
aoweb-framework-1.2.5
Release Notes
- Using managed dependencies:
- This project uses managed dependencies.
- This project's managed dependencies may also be imported by other projects.
- No longer excluding Java EE Web API 6 from version updates. Instead, projects are encouraged to use the new Java™ EE Web Profile BOM project.
aoweb-framework-1.2.4
Release Notes
- Removed uses of File.deleteOnExit() to avoid a JDK memory leak in long-running applications.
aoweb-framework-1.2.3
Release Notes
- Updated dependencies.
aoweb-framework-1.2.2
Release Notes
- New AO OSS Parent POM to simplify
pom.xmlfiles. - Project documentation moved to per-project book in SemanticCMS format.
- Added changelog as top-level project link.
aoweb-framework-1.2.1
Release Notes
- Improved Javadoc formatting.
- Improved README formatting.
- No more page stack, just show title for current page only.
aoweb-framework-1.2.0
Release Notes
- Completely removed dynamic classloading and all configuration.
aoweb-framework-1.1.0
Release Notes
- Improved Javadoc formatting.
- Improved README formatting.
- 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).
aoweb-framework-1.0
Release Notes
- Project moved to GitHub and Maven.