development / build news
 
 
-- FILE ---------------------------------------------------------------------
-- name       : BuildNews.txt
-- project    : BoarderZone: Development Environment
-- created    : Leon Poyyayil - 2003-01-25
-- language   : English
-- environment: the human readers mind ... ;-)
-- copyright  : (c) 1990-2018 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.19.782
creator: Leon Poyyayil
created: 2018-04-25 00:29:12
status:  alpha
----------------------------
- build process:
  - lib/acme4j.jar: fixed to include new acme https certificate in embedded truststore
  - lib/ez-vcard.jar: upgraded to version 0.10.3
  - lib/vinnie.jar: new library (used by new ez-vcard.jar)
- package net.boarderzone.apps.text.messageexport:
  - MessageExport: enhanced to include the image link in threema messages
  - MessageExportDependency.xml: updated to use new ez-vcard.jar and vinnie.jar
- package net.boarderzone.gui.widget:
  - TableBase: new generic JTable base class
  - TableButtonColumn: new helper class for buttons in table cells
  - TableModelBase: new generic JTable model base class
- package net.boarderzone.java:
  - JavaClassFileVersion: added support for Java 10
- package net.boarderzone.java.bytecode:
  - JavaDecompiler:
    - fixed to correctly interpret method signature attributes for dependency listing
    - added logging for dependency listing
- package net.boarderzone.modules.pim: new module
- package net.boarderzone.plugins.filehandler.contacteditor: new FileHandler plugin
- package net.boarderzone.plugins.filehandler.javabytecodeeditor:
  - TableBase: moved to gui.widget library
  - TableModelBase: moved to gui.widget library
- package net.boarderzone.plugins.filehandler.jcetool:
  - AddEntryWizardStepEnterAlternativeName: fixed to not log a warning upon null OtherName
  - AddEntryWizardStepConfirmCertificateRequest: improved to display multiple line DN
- package net.boarderzone.security:
  - CertificateBuilder: fixed to safe-guard against null extensions when creating CSRs
- package net.boarderzone.util.xml:
  - XmlErrorHandler: added option to suppress logging of stack traces


=============================================================================
version: 0.19.781
creator: Leon Poyyayil
created: 2018-02-13 23:48:15
status:  developmental
----------------------------
- build process:
  - updated all file headers to specify copyright 2018
  - lib.dev/*: updated all own libs and tools
- package net.boarderzone.apps.net.pcaptool:
  - fixed dependency on jfreechart.jar


=============================================================================
version: 0.19.780
creator: Leon Poyyayil
created: 2018-02-13 21:47:38
status:  developmental
----------------------------
- build process:
  - lib/bcel.jar: new library for java bytecode disassembly
  - lib/jasmin.jar: new library for java bytecode assembly
  - lib/jcommon.jar: removed as no longer used (is now part of jfreechart.jar)
  - lib/jfreechart.jar: upgraded to version 1.5.0
  - lib/metadata-extractor.jar: upgraded to version 2.10.1
  - lib.dev/*: updated all own libs and tools
- package net.boarderzone.apps.file.browser:
  - FileBrowser.desktop:
    - customized dynamic menu item texts to be more specific
    - added search menu
  - FileBrowserConfig.xml: added new option 'search-dir'
  - FileBrowserSessionTool: changed to allow opening FileHandlers with directories
  - QuickOpenFile: added special support for "*" file name parameter
  - SaveSearch: new command to save the active search window settings
  - SearchActionBase: new base command class
  - SearchAgain: new command to restore a previously saved search window
- package net.boarderzone.apps.text.messageexport:
  - MessageExport: fixed potential problem with localized String.format() usage
- package net.boarderzone.csg:
  - Point2dImpl: removed deprecated APIs
  - Point3d: removed deprecated APIs
  - Point3dImpl: removed deprecated APIs
- package net.boarderzone.gui:
  - Desktop.xsd:
    - added support for setting a 'name' and 'text' attribute on all items
    - extended allowed syntax for the 'name' attribute on Menu elements to allow '.'
    - removed support for unused 'text' attribute from PopupMenu element
  - DesktopFrame:
    - added support for setting a 'name' and 'text' attribute on all items
    - added support for being notified about changing the active internal frame
  - GuiApplication: added support for setting a new app state after GUI is ready
  - ResourceAction: added support for setting the name after construction (pkg only)
  - ToolbarMenuAction: made c'tor public
- package net.boarderzone.gui.action:
  - HelpReleaseNews: corrected to have dialog properties of its own
- package net.boarderzone.gui.widget:
  - AboutDialog: adapted to color related change in ComponentFactory
  - ComponentFactory:
    - changed to only set back- and foreground colors when explicitly asked to do so
  - DirectoryListPanelBase: changed to re-use the same code for opening a file upon
    shift/ctrl-ENTER as is used when regularly opening it via context menu with a
    selected FileHandler or by dropping it with the ctrl key pressed
    => remembers and re-uses the same choice of FileHandler to use as the other ways
  - DirectorySearchSettings: added log warnings upon load of invalid properties
  - EasterEggDialog: adapted to color related change in ComponentFactory
  - FileHandlerFrame: changed to suppress display of filename in title if that is "*"
  - FileHandlerRegistryHelper: fixed to operate properly after reloading settings
    => this used to have problems because the FileHandler classes were loaded into
    new class loaders and thus the previously remembered selected FileHandler was
    not found anymore in the list of available FileHandlers to select from
    => resolved to only remember the name of the selection, which "survives" the
    reloading of the classes without problem
  - JResourcePanel: added another getString() convenience overload
  - SelectObjectDialog: added support for (optional) multi-selection
  - TextStreamDialog: added support for displaying line numbers and having own config
  - ThreadInfoTableCellRenderer:
    - fixed table column rendering (alignment/clipping) when columns have been rearranged
- package net.boarderzone.java:
  - JavaClassFileVersion: new utility class to get java class file version info
- package net.boarderzone.java.bytecode: new package for bytecode specific utility classes
- package net.boarderzone.modules.geomap:
  - MapDisplaySettingsPanel:
    - added support for displaying the meridian grid
    - extracted generic functionality into new base class
  - MapPanel:
    - added utility method to determine whether a tile provider is available
    - added support for displaying the meridian grid
  - MapSettingsPanelBase: new base class for UI panels
  - MapTileProviderFactoryImpl: improved logging
  - MapTileProviderSettings:
    - added support for keeping an anchor location
    - fixed problem with localized String.format() usage for number formatting
    - enhanced to suppress the SetupName and SetupNames properties when extracting
    - added support for displaying the meridian grid
    - moved parsing/formatting of setting property values into new base class
- package net.boarderzone.modules.geomap.geodata:
  - GeoLocation: added various calculation and utility methods:
    - isAtOrigin(sigma)
    - calculateIntermediatePointBetween(...)
    - calculateInitialBearing(...) and calculateFinalBearing(...)
    - calculateDestination(...)
    - extrapolateNextPoint(...)
    - isEquivalent(pt[,sigma])
    - fixed problem with localized String.format() usage for coordinate formatting
    - added constant for the maximum useful latitude value when working with the
      commonly used Mercator projection
  - GeoLocationPanel: added button to reset coordinates to zero
- package net.boarderzone.modules.geomap.geodata.gpx:
  - GPXBrowserPanel:
    - added scroll support for toolbar => no more minimum width requirement
  - GPXBrowserTreeNodePointListBase: enhanced to interpolate/extrapolate new points
  - GPXDescriptionItem: added support for deep copying data
  - GPXDocument:
    - added support for fixing invalid XML decimal values upon loading
    - implemented GPXTrace for accumulated statistics over all routes and tracks
  - GPXExtensibleItem: added support for deep copying data
  - GPXFormat: added some more constants
  - GPXItem:
    - fixed problem with localized String.format() usage for number formatting
    - added method copyData() to perform an optional deep copy operation
    - implemented visitor pattern
  - GPXItemVisitor: new interface
  - GPXItemVisitorBase: new convenience class
  - GPXMetadata: added support for deep copying data
  - GPXRoute: adapted to changed interface
  - GPXStatistics:
    - optimized to prevent copying of GeoLocation instances during calculation
    - added support for considering height information when calculating distance
    - added tracking of number of waypoints
    - added support for suppressing repeated warnings
    - added possibility to keep detailed per point data when collecting statistics
    - added support for determining whether time info contains gaps
    - added support for interpolating missing height and time info
    - added support for applying interpolated height and time info back to waypoints
  - GPXTool: added support for fixing invalid XML decimal values upon loading
  - GPXTrace: changed method calculateLength() to take a parameter pbConsiderHeight
  - GPXTrack: adapted to changed interface
  - GPXTrackSegment: adapted to changed interface
  - GPXWayPoint:
    - added methods interpolate(pt,pt) and extrapolate(pt,pt)
    - fixed to consider elevation in method hasEquivalentData()
    - added package private method getLocationRef() for optimizations
    - added methods to check for availability of optional components (elevation, ...)
    - added convenience method to get one of elevation or geoid height if available
    - added support for deep copying data
  - GPXWayPointList:
    - optimized to prevent copying of GeoLocation instances when calculating length
    - added support for considering height information when calculating distance
- package net.boarderzone.modules.geomap.geodata.gpx.gui:
  - GPXAnchorPainter: new GPX info painter to display the anchor location
  - GPXBrowserPanel:
    - added method to find and select the tree node with the smallest distance to
      a given location
    - added support for splitting track segments at a selected way point node
    - fixed to notify about the parent being modified when removing a node
      (instead of notifying about the child being modified)
  - GPXBrowserTreeNodeFile:
    - added support for fixing invalid XML decimal values upon loading
    - changed to collect and display all occurred load warnings
  - GPXBrowserTreeSelectionPainter: new GPX info painter to highlight selected tree item
  - GPXDisplaySettings: added support for selection and anchor display settings
  - GPXDisplaySettingsPanel:
    - added support for selection and anchor display settings
    - extracted generic functionality into new base class
    - moved parsing/formatting of setting property values into new base class
  - GPXIconAnchor: new icon to display the anchor location
  - GPXIconSelection: new icon to highlight selected waypoints
  - GPXInfoPainter:
    - fixed to support wrapping around 180 deg meridian and multiple display in very
      low zoom levels (where the world map is visible multiple times)
    - refactored common functionality out into new base class
  - GPXInfoPainterBase: new base class for GPX info painter implementations
  - GPXMeridianGridPainter: new class to paint latitude/longitude grid lines
  - GPXSettings: new utility class with common constants
  - GPXSettingsPanelBase: new base class for GPX UI panels
  - GPXStatisticsPanel:
    - fixed to display '-' for duration if undefined
    - added support for displaying the "real" length in addition to the "flat" length
    - fixed to place the cursor at position 0 for all fields
    - added display of number of waypoints
    - added methods loadData() and reset() for dynamically modifying the displayed data
- package net.boarderzone.modules.linuxaccounting:
  - LinuxAcctData: fixed potential problem with localized String.format() usage
  - LinuxAcctEntry: fixed potential problem with localized String.format() usage
- package net.boarderzone.net.stats:
  - BandwidthStatisticsChartBuilder: migrated to new jfreechart API
- package net.boarderzone.plugins.anttasks:
  - JavacWithWarningsAsErrors: removed as deprecated and not used anymore
- package net.boarderzone.plugins.filehandler.asnviewer:
  - AsnBerTreeTableModel:
    - fixed table column rendering (alignment/clipping) when columns have been rearranged
- package net.boarderzone.plugins.filehandler.diaryeditor:
  - EditSourceDialog: enhanced to display line numbers
- package net.boarderzone.plugins.filehandler.exifviewer:
  => moved into imageviewer plugin
- package net.boarderzone.plugins.filehandler.geomapviewer:
  - GeoMapViewer:
    - added support for highlighting the GPX tree node selection
    - added support for finding and selecting the tree node with the smallest
      distance to a given location on the map
    - added support for setting, going to & editing the anchor location via map right-click menu
    - added support for interactively calculating and displaying the distance from
      the mouse cursor to the anchor location
    - added support for displaying the anchor location on the map map with an icon
    - added support for displaying the meridian grid
    - added automatic statistics collection for GPX routes, tracks and segments
      upon tree node selection in separate split panel below GPX browser
    - fixed to repaint toggle buttons after loading document to reflect proper toggle state
  - GeoMapViewerHandler: added dynamic dependency on jfreechart.jar
- package net.boarderzone.plugins.filehandler.imageviewer:
  - ExifViewer: re-enabled and improved
    - adapted to changed API of upgraded metadata-extractor library
    - added support for closing upon pressing ESC
    - added rudimentary support for XMP metadata
    - implemented manual thumbnail extraction because the library no longer offers it
    - fixed error reporting to not wrap it with <html> tag
    - improved to use logging facility instead of System.out in case of problems
    - added support for more mime types
    - added display of file metadata
    - added possibility for resetting displayed data
  - ImageBrowser:
    - added support for opening with directory
    - added display of EXIF- and other metadata
  - ImageBrowserHandler: added support for opening with directory
- package net.boarderzone.plugins.filehandler.linuxacctviewer:
  - LinuxAcctEntryTableCellRenderer:
    - fixed table column rendering (alignment/clipping) when columns have been rearranged
- package net.boarderzone.plugins.filehandler.logfileviewer:
  - LogFileEntryTableCellRenderer:
    - fixed table column rendering (alignment/clipping) when columns have been rearranged
- package net.boarderzone.plugins.filehandler.pcapeditor:
  - PCAPEditorHandler: adapted to upgraded jfreechart.jar
  - PCAPPacketTableModelCellRenderer:
    - fixed table column rendering (alignment/clipping) when columns have been rearranged
- package net.boarderzone.util:
  - PropertyFile: fixed to force use of "ISO-8859-1" encoding when storing
  - StreamTool: added method skipFully(long)


-- EOF ----------------------------------------------------------------------