-- FILE ---------------------------------------------------------------------
-- name : BuildNews.txt
-- project : BoarderZone: Development Environment
-- created : Leon Poyyayil - 2003-01-25
-- language : English
-- environment: the human readers mind ... ;-)
-- copyright : (c) 1990-2026 by Leon Poyyayil (private), Switzerland
-- license : this is free software licensed under the GPL. see COPYING
-----------------------------------------------------------------------------
This file contains a description of the major code changes between builds of
the java and web-site code for BoarderZone.net which are relevant to developers.
See doc/BuildVersioning.txt for a more detailed description of how to read it.
=============================================================================
version: 0.22.863
creator: Leon Poyyayil
created: 2026-01-08 17:09:09
status: release
----------------------------
- build process:
- updated all file headers to specify copyright 2026
- lib.dev/*: updated all own libs and tools
=============================================================================
version: 0.22.862
creator: Leon Poyyayil
created: 2026-01-08 14:19:04
status: release
----------------------------
- build process
- conf/logging.AppTest.xml: renamed to logging.AppTest.log4j2.xml
- conf/log4j2-test.xml: renamed to UnitTest.log4j2.xml
- lib.com/bfopdf.jar: updated to latest version 2.29.4
- package net.boarderzone.apps.text.xmlvalidator:
- XmlValidator: fixed to remove ignorable whitespace when pretty-printing
=> adapt to changed JDK serialization behavior (e.g. "beautify" the XML)
- package net.boarderzone.plugins.filehandler.javacodesnippeteditor:
- JavaCodeSnippetEditor: added javac cmd line option to suppress annotation
related warning that occurs on JDK 21
- package net.boarderzone.gui.util:
- MultiFlavorTransferable: fixed to avoid error upon clipboard access
- package net.boarderzone.gui.widget:
- ClipboardMonitor: added debug logging in case of access errors
- ClipboardTool: added data flavors for file copy/cut/paste on Linux
- DirectoryBrowserData: added support for marking a file for "move" (vs "copy")
=> on Linux, that should also work with Gnome compatible other file managers
- DirectoryBrowserFrame:
- now shows the active directory name first in the title (like FileHandlerFrames)
- DirectoryListPanel:
- added support for adding the new "cut" operation to the popup-menu
- changed keyboard shortcut for toggling the executable flag
from CTRL+X TO CTRL+SHIFT+X (to avoid conflict with new "cut" operation)
- DirectoryListPanelBase:
- added support for a new "cut" operation (i.e. "mark file for move") with CTRL+X
=> marks the selected file for a subsequent "move" operation
- DirectoryTreePanel:
- added support for a new "cut" operation (i.e. "mark dir for move") with CTRL+X
=> marks the selected directory for a subsequent "move" operation
- enhanced the "copy" operation implementation to honor the new "marked for move"
flag on an item in the clipboard
=> will actually _move_ a file when such a condition is detected
=> CTRL+V following a CTRL+X will thus perform a "cut-and-paste" operation
=> CTRL-V following a CTRL+C will remain a "copy-and-paste" operation
=> interacts well with Gnome-compatible file managers on Linux
=> no support possible with the Windows File Explorer due to it not providing
any means to put such information into the Windows clipboard
=> cut/paste will still work _within_ the same BZ FB instance (same JVM)
=============================================================================
version: 0.22.861
creator: Leon Poyyayil
created: 2025-11-30 20:45:34
status: release
----------------------------
- build process
- changed to compile on JDK-11 but still generate byte code for JDK-8
=> code still runs on those older platforms
=> this leads to javadoc being in new format, without frames but search support
notable:
- Math calculation accuracy has changed, leading to slightly different results
- Swiss locale has changed the numerical (thousands) grouping character
(used to be a simple ASCII apostrophe, is now a Unicode (not ASCII!) backtick)
- changed timestamp locale formatting (including a comma to separate date from time)
- removed stuff related to the deprecated SecurityManager and its security policy
- disabled FindBugs for the moment as it fails miserably on the new JDK-11
- Java complains about using internal JDK APIs upon start
- NPEs during analysis
- lib.dev/log4j.jar:
- updated from 2.17.2 to 2.25.2
- replaced by separate .jar files due to compile time restrictions (annotations)
- lib.dev/log4j-jdk9.jar: removed again as no longer needed
- lib.dev/slf4j-api.jar: updated from 1.7.25 to 2.0.17
- updated all own libs and tools
- script/bzjava*:
prepared BZ java starter utility scripts for passing --add-opens arguments to the
JVM for allowing reflective access when needed (none required for basic operation)
- script/compile.xml:
- cleaned up filtering while copying files to only process files which we need to
(to avoid inadvertently modifying or even corrupting other files)
- script/docbook.xml:
- changed to normalize produced XML files
- changed to make use of our updated own XSLTransform task instead of the
original Ant <style> task, now that it supports parameters and allows beautification
- script/library.xml:
- changed to make use of new attribute on SignJar task to set the digest algorithm name
=> JDK-21 has changed its default digest algorithm to SHA-384, while earlier
JDKs (8, 11, 17) had SHA-256
=> as the previous build scripts used the default jarsigner utility of the
build machine, older BZ releases were thus signed with SHA-384 already
=> having re-configured the ant start scripts to ensure to use the jarsigner
utility of the configured JDK, they now use the one from JDK-11 which would
resort to SHa-256 again
=> we want to keep the more modern algorithm despite using an older JDK for compilation
- script/style/javadoc:
- stylesheet.css: adapted javadoc dark stylesheet to have BZ colors for the (new) search UI
- script/webapp.xml:
- cleaned up filtering while copying files to only process files which we need to
(to avoid inadvertently modifying or even corrupting other files)
- changed to produce a beautified web.xml, without comments
- package net.boarderzone.afw:
- Application: extended debug info output to show java version information
- package net.boarderzone.apps.file.browser:
- FileBrowserSessionXmlHelper:
- changed to make use of new utility method to set file header/footer comments
- package net.boarderzone.config:
- ConfigItem: fixed to fall back on the defined default value upon string access
when the value itself is null or empty
=> fixes a problem on JDK-25 when the plugin dir config option is not explicitly
configured, when the new JDK-25 would assume the empty string to be the current
directory, leading to plugins not being found.
=> by now falling back on the default value instead, that is avoided
=> can be considered a bug in the previous state, where the default value would
not be consulted at all in such a situation
- package net.boarderzone.core:
- CoreTypeSchemaGenerator:
- changed to make use of new utility method to set file header/footer comments
- package net.boarderzone.gui:
- ToolbarMenuAction: added possibility for dynamic refreshing of the popup menu
- package net.boarderzone.gui.core:
- CoreTypeViewXmlHelper:
- changed to make use of new utility method to set file header/footer comments
- package net.boarderzone.java.cmopile:
- JavaCompiler: improved error messages when missing jmods/ from modern JDKs
- package net.boarderzone.modules.geomap:
- MapTileProviderImplArcGIS: changed default URL from http to https
- MapTileProviderImplBingMaps: changed default URL from http to https
- MapTileProviderImplOpenStreetMap: changed default URL from http to https
- MapTileProviderImplYandexMaps: changed default URL from http to https
- package net.boarderzone.modules.tabulardata:
- TableDataXmlHelper:
- changed to automatically beautify DOMs upon parsing for better handling
contents with new JDKs which preserve (ignorable) whitespace
- changed to make use of new utility method to set file header/footer comments
- TableDataXmlHelperString:
- changed to automatically remove ignorable whitespace from table cells upon
saving for better handling contents with new JDKs
- package net.boarderzone.plugins.anttasks:
- ObfuscateProperties:
- changed to preserve original strings (prevent unicode escape sequences)
- changed to sort entries by property names
- XSLTransform:
- added new config parameters to "beautify" and "keepComments"
- added support for nested <param> tags for passing dynamically configurable parameters
- package net.boarderzone.plugins.filehandler.asnxmleditor:
- AsnXmlEditor: adapted to changed XML serialization behavior
- package net.boarderzone.plugins.filehandler.cborxmleditor:
- CborXmlEditor: adapted to changed XML serialization behavior
- package net.boarderzone.plugins.filehandler.diaryeditor:
- DiaryEditor: added support for quick selection of the most recent activities
- package net.boarderzone.security:
- SignatureAlgorithmSelector: added support for EDDSA
- package net.boarderzone.util:
- LineEndingNormalizerWriter: new utility class to enforce a specific EOL
- ReplacementMapperConfigXmlHelper:
- changed to make use of new utility method to set file header/footer comments
- VersionInfoBase: extended main() method to output java version information
- package net.boarderzone.util.xml:
- XmlMessageHelper:
- added accessor method for serializer to allow more customization control
- added new flag "AutoBeautify" to allow automatic beautification of DOMs
upon parsing of messages
- moved implementation of beautification methods to XmlTool for broader re-use
- breaking API changes:
- replaced "CompactFormat" with "AddIndentation" flag
- made c'tor with single boolean parameter private (due to inversed semantics)
- XmlSerializer:
- changed to use LineEndingNormalizerWriter instead of setting EOL system property
=> required for proper enforcement of configured EOL on new JDKs
- improved to make use of the LSSerializer "xml-declaration" parameter when supported
- breaking API changes:
- replaced "CompactFormat" with "AddIndentation" flag
- renamed "Indent" to "IndentAmount"
- made c'tor with single boolean parameter private (due to inversed semantics)
- XmlTool:
- added utility method to beautify a DOM
- made getFileHeader() more convenient to use by taking the user.name java
property as creator when given a null argument for this parameter
- added setDocumentComments() convenience method to set header/footer comments
- added utility methods to remove comments
- re-implemented debugging methods to dump the structure of a DOM to provide
more control over whitespace to help in troubleshooting issues with new JDK
- package net.boarderzone.web:
- DirectoryServlet: fixed to prevent a 500 server error when receiving an
If-Modified-Since header with invalid format (will now be ignored silently)
=============================================================================
version: 0.22.860
creator: Leon Poyyayil
created: 2025-09-10 03:24:33
status: release
----------------------------
- build process
- javadoc: removed links to external servlet and Tomcat APIs
- lib.dev/struts.jar: migrated to jakarta.servlet.* package names
- all own web code: migrated to jakarta.servlet.* package names
=> will require at least Tomcat 10.0.x to run
- products:
- removed BitCoin and PayPal donation buttons from documentation menu
- removed old (animated) GIF favicon files as they're no longer supported by browsers
- package net.boarderzone.plugins.tomcat:
- SaltedJDBCRealm: removed class due to its base being gone due to deprecation
-- EOF ----------------------------------------------------------------------