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
Html
instead 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.Logger
like normal now. - Integrated with AO Web Resources.
HttpServletResponse
is 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:cos
legacy dependency. - ServletException allowed more places where it naturally fits.
TreePageData
now 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 ofString
andString[]
. 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
SQLException
in favor ofServletException
. -
Removed uses of
IOException
where 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.class
while releases include theAutomatic-Module-Name
manifest entry. To minimize the difference between these modes,module-info.java
does not perform any transitive requires. - Maven artifact relocated from
com.aoindustries:aoweb-framework
tocom.aoapps:ao-web-framework
. - Package renamed from
com.aoindustries.website.framework
tocom.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
WebPage
that requires a larger buffer must configure it.
WebPage
now 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
long
to 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.types
to current version from Debian 8.11. - Added
#fragment
support 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.xml
files. - 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.