BoarderZone Project Logo   
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-2010 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.12.545
creator: Leon Poyyayil
created: 2010.10.10-20:45:26
status:  developmental
----------------------------
- package net.boarderzone.apps.file.checker:
  - FileChecker: fixed to ensure system line.separator is always restored
- package net.boarderzone.apps.text.fixlf:
  - FixLF:
    - removed support for std-in and std-out (now operates only on files)
    - removed support for explicit output file (now always in-place)
    - added support for directory iteration with include/exclude filters
    - added support for specifying multiple files for the 'in' option
- package net.boarderzone.apps.text.search:
  - TextSearch:
    - added new command line option to only wait/loop when matches are found
    - added verbose output of the number of found matches
- package net.boarderzone.gui:
  - DesktopActionThreaded: changed to run the thread with prio below normal
    to prevent it from blocking the ui thread
- package net.boarderzone.gui.widget:
  - AboutDialog: changed to be undecorated but have a thin border as splash screen
  - FileHandler: added method isCloseAllowed()
  - FileHandlerBase: implemented method isCloseAllowed()
  - FileHandlerFrame: added support for preventing a file handler from closing
    if it doesn't desire to be closed -> display a notification dialog
  - TextComponentLineEndingTracker: new utility class
  - TextStreamDialog: added access to text area for derivations
- package net.boarderzone.modules.diary:
  - Category: added method isRoot()
  - Diary: added methods countMatchingActivities() and removeMatchingActivities()
  - DiaryTextFile: added possibility to specify line ending when saving
- package net.boarderzone.plugins.filehandler.checksumverifier:
  - ChecksumVerifierHandler: preventing closing during verification
- package net.boarderzone.plugins.filehandler.diaryeditor:
  - ActivityStatsTable: changed to display hours in non-decimal h:mm format
  - CategoryTreePanel: added method removeCategory()
  - DeleteAction: new command
  - DiaryEditor:
    - fixed to properly work on systems with differing line.separators
    - added a new command button to delete the selected category along with all
      its sub-categories and activities
    - fixed to keep the loaded line ending upon save
  - EditSourceDialog: enhanced to place text cursor at end when opening
- package net.boarderzone.plugins.filehandler.diskeditor:
  - DiskEditor: fixed to not throw exceptions when opening a file on which the
    user has no access rights to modify its contents. -> silently open the file
    in read-only mode and prevent any changes.
- package net.boarderzone.plugins.filehandler.javacodesnippeteditor:
  - JavaCodeSnippetEditor: changed to compile and execute in a separate thread
  - JavaCodeSnippetEditorHandler: preventing closing during execution
- package net.boarderzone.plugins.filehandler.httpclient:
  - HttpClientHandler: preventing closing during execution of a request
- package net.boarderzone.plugins.filehandler.sntpclient:
  - SntpClientHandler: preventing closing during execution of a query
- package net.boarderzone.plugins.filehandler.texteditor:
  - TextEditor:
    - added support for displaying and changing the line ending
    - changed to use the system default line ending for empty files
- package net.boarderzone.util:
  - TextFileData: added method detecteLineEnding()
  - TextFileMatcherConfig: extended to allow relative paths for the matchFile
    attribute on <Spec> elements in the config xml


=============================================================================
version: 0.12.544
creator: Leon Poyyayil
created: 2010.04.19-23:59:46
status:  developmental
----------------------------
- build process:
  - lib/batik.jar: new library to handle svg files
  - lib/javascript.jar: new library to support javascript in svg files
  - lib/xml-apis.jar: new library to support new xml features in batik
  - lib/xml-apis-ext.jar: new library to support new xml features in batik
  - script/admin.xml: added new jars to javadoc classpath
- package net.boarderzone.apps.file.backup:
  - FileBackupJobContext: fixed to replace '\' by '/' in paths in zip files
- package net.boarderzone.gui.action:
  - HelpReleaseNews: fixed to properly close file on error
- package net.boarderzone.gui.widget:
  - HelpCommandLineDialog: changed to derive from TextStreamDialog
  - LicenseDialog: changed to derive from TextStreamDialog
  - TextStreamDialog: added support for editing (cancel-btn, confirmation-flag)
- package net.boarderzone.plugins.filehandler.diaryeditor:
  - DiaryEditor: added support for editing the raw source text of the diary
  - EditSourceAction: new action
  - EditSourceDialog: new class
- package net.boarderzone.plugins.filehandler.svgviewer:
  - new viewer plugin for scalable vector graphics files
- package net.boarderzone.plugins.filehandler.xmltools:
  - XmlEditorHandler: fixed to support variable lookup for mime types which
    contain a '+' sign (e.g. 'image/svg+xml')
- package net.boarderzone.plugins.filehandler.zipviewer:
  - ZipEntryTableRow: fixed to support zip-entries with '\' instead of '/' in paths


=============================================================================
version: 0.12.543
creator: Leon Poyyayil
created: 2010.04.07-22:15:25
status:  developmental
----------------------------
- package net.boarderzone.gui.action:
  - ShowScreenZoom: new class
  - ShowThreadMonitor: new class
- package net.boarderzone.gui.widget:
  - ScreenZoomFrame: new class
  - SystemInformationFrame: removed thread tab
  - ThreadInfo*: new classes for monitoring active threads
  - ThreadMonitorFrame: new class
- package net.boarderzone.plugins.filehandler.audioviewer:
  - AudioViewer:
    - added support for displaying frame boundaries
    - added support for displaying MP3 meta data in a sub dialog
    - changed to only set cursor upon double click without modifiers
    - added support for jumping the cursor to marked positions via player prev/next
    - added support for selection of a range via shift-(double)-click
    - added support for loading from CUE sheets (audio & index markers)
  - MP3InfoAction: new action to display MP3 meta data in a sub dialog
- package net.boarderzone.plugins.filehandler.mp3info:
  - moved generic gui classes to new package sound.mp3.gui
- package net.boarderzone.sound:
  - AudioPlayer:
    - added support for playing back only a selected range of samples
    - added support for auto repeat
  - AudioSampleRange: new class
- package net.boarderzone.sound.cue: new package for parsing CUE sheet files
- package net.boarderzone.sound.gui:
  - AudioPlayerIcon: added support for new REPEAT and INFO types
  - AudioPlayerIconType: added REPEAT and INFO members
  - AudioPlayerPanel:
    - added tooltips for time display
    - added prev/next/info buttons with support for executing foreign actions
    - added support for auto repeat with own toggle button
  - AudioSampleDisplayPanel:
    - added support for displaying frame boundaries
    - added support for hand cursor during dragging
    - changed to drag only if left mouse button is pressed without modifiers
    - added support for markers: toggle via ctrl-double-click
    - added support for displaying a selection range
  - AudioSampleDisplayRange:
    - added support for displaying frame boundaries
    - added support for displaying a selection range
  - AudioSampleDisplaySetup:
    - added support for displaying frame boundaries
    - added support for mark and selection colors
  - AudioSampleDisplaySetupPanel:
    - added support for displaying frame boundaries
    - added support for mark and selection colors
- package net.boarderzone.sound.mp3.gui: new package with mp3info viewer gui classes
  - MP3MetaDataDialog: new utility class


=============================================================================
version: 0.12.542
creator: Leon Poyyayil
created: 2010.03.14-18:51:05
status:  developmental
----------------------------
- build process:
  - lib/jlayer.jar: new library to decode mp3 music
  - script/admin.xml:
    - updated modules list for JDepend metrics generation
    - added jlayer.jar to javadoc classpath
  - script/buildLibSound.xml: added dependency to jlayer.jar
  - script/compile.xml: excluded classes depending on foreign code from jlayer.jar
- package net.boarderzone.gui.widget:
  - SystemInformationFrame: added display of thread state in threads tab
- package net.boarderzone.plugins.filehandler.audioviewer: renamed from wavviewer
  - AudioViewer:
    - added AudioPlayerPanel, support for cursor display & playback
    - added support for mp3 files
- package net.boarderzone.plugins.filehandler.mp3infoviewer:
  - MP3InfoViewer: added support for displaying scanning duration in dump tab
- package net.boarderzone.plugins.filehandler.wavviewer: renamed to audioviewer
- package net.boarderzone.sound:
  - AudioPlayer*: new classes
  - AudioPointer: extended to support samples instead of millis
  - AudioSampleBuffer: completely reworked
  - AudioSampleDecoder: changed api
  - AudioSampleFormat: extended api
  - AudioSampleProvider: changed api
  - AudioSampleProviderPCM: renamed and moved to wav package
- package net.boarderzone.sound.data:
  - DataAccessInputStream: new class
- package net.boarderzone.sound.gui:
  - AudioPlayerPanel: new class
  - AudioSampleDisplayRange: updated to changed provider/decoder api
  - AudioSampleDisplaySetup: changed display toggle defaults: only show connecting lines
- package net.boarderzone.sound.mp3:
  - LameTag: added some convenience methods
  - MP3FileInfo: added member to record scanning duration
  - MP3MetaData: added problem detection for missing VBR seek table
  - MP3Scanner:
    - added (optional) support for recording scanning duration
    - added (optional) support for building a sample accurate seek table
  - MPEGAudioFrameHeader: added methods createAudioSampleFormat() and
    getMaximumNecessaryPredecessorFrames()
  - MPEGAudioFrameStatistics: added (optional) support for seek table calculation
- package net.boarderzone.sound.mp3.decoder: new package for mp3 decoding support
- package net.boarderzone.sound.wav:
  - AudioSampleProviderWav: renamed from former AudioSampleProviderPCM
- package net.boarderzone.util:
  - MemoryOutputStream: new class


=============================================================================
version: 0.12.541
creator: Leon Poyyayil
created: 2010.02.08-14:47:29
status:  developmental
----------------------------
- build process:
  - replaced all calls to java.awt.Component.requestFocus() by requestFocusInWindow()
- package net.boarderzone.gui.action.desktop: new package for desktop commands
  - DesktopArrange: new command to arrange the desktop frame relative to the screen
  - DesktopPos: renamed from DesktopFramePos
  - DesktopSize: renamed from DesktopFrameSize
- package net.boarderzone.gui.action.frame:
  - FrameArrange: new command to arrange a single frame relative to the desktop
  - FrameArrangeAll: renamed from FrameArrange
- package net.boarderzone.gui.widget:
  - FileHandler:
    - added method getInitialFocusComponent
    - added method shouldScrollPaneScrollBarBeFocusable
  - FileHandlerBase: fixed to properly close in case of a loading exception
  - FileHandlerFrame:
    - added support for new getInitialFocusComponent() method
    - added support for new shouldScrollPaneScrollBarBeFocusable() method
  - Variable(Config|Editor|Select)Panel: fixed to properly initialize wrapping
- package net.boarderzone.image.png: new package
- package net.boarderzone.modules.international: new module
- package net.boarderzone.plugins.filehandler.javacodesnippeteditor:
  - JavaCodeSnippetEditor: fixed to adapt classpath to platforms path delimiter
  - JavaCodeSnippetEditorHandler: added support for new getInitialFocusComponent()
- package net.boarderzone.plugins.filehandler.jcetool:
  - JceKeyStoreViewerHandler: added support for new getInitialFocusComponent()
- package net.boarderzone.plugins.filehandler.pcapeditor:
  - PCAPEditorHandler: added support for new getInitialFocusComponent()
- package net.boarderzone.plugins.filehandler.pgptools:
  - PGPKeyRingViewerHandler: added support for new getInitialFocusComponent()
- package net.boarderzone.plugins.filehandler.rifftreeviewer:
  - RIFFTreeViewerHandler: added support for new getInitialFocusComponent()
- package net.boarderzone.plugins.filehandler.serializationviewer:
  - SerializationViewerHandler: fixed to adapt classpath to platforms path delimiter
- package net.boarderzone.plugins.filehandler.textlineviewer:
  - TextLineViewerHandler: added support for new getInitialFocusComponent()
- package net.boarderzone.plugins.filehandler.wavviewer:
  - WavViewer:
    - finished basic implementation
    - added support for zooming by mouse wheel and for horizontal dragging
    - added display of visible range and mouse cursor position
- package net.boarderzone.plugins.filehandler.xmltools:
  - XmlEditorHandler: added support for new getInitialFocusComponent()
- package net.boarderzone.plugins.javashell.filesystem:
  - FileCopyRange: new command
  - FileCopyUrl: new command
- package net.boarderzone.plugins.javashell.imagetool:
  - ImageTrimPNG: new command
- package net.boarderzone.sound:
  - AudioSampleBuffer: added method getTotalByteCount()
  - AudioSampleData:
    - fixed implementation of getSampleIndex(sample, channel)
    - added testing method getSampleValue(sample, channel)
    - added method getTotalByteCount()
  - AudioSampleDecoder: added method getTargetFormat()
  - AudioSampleDecoderBase: fixed decode() to properly set the valid sample count
  - AudioSampleDecoderBaseFloat64: new class
  - AudioSampleDecoderBaseInt16: new class
  - AudioSampleDecoderBaseInt32: new class
  - AudioSampleDecoderBaseInt8: new class
  - AudioSampleProvider: added methods isDecoderSupported(type) and createDecoder(type)
  - AudioSampleType: added informational properties
- package net.boarderzone.sound.data:
  - DataAccessImplFile: fixed to properly check range boundaries
  - DataAccessImplMemory:
    - fixed to properly work with a data range
    - added c'tor with a data range
- package net.boarderzone.sound.gui:
  - AudioSampleDisplayBlock: new class
  - AudioSampleDisplayPanel: finished basic implementation
  - AudioSampleDisplayRange: new class
- package net.boarderzone.sound.riff:
  - RIFFScanner:
    - fixed to properly wrap RuntimeExceptions in RIFFExceptions
    - added c'tor with behavior flag
- package net.boarderzone.sound.wav:
  - AudioSampleDecoderWavToFloat32:
    - added possiblity to validate float range
    - fixed scaling of int sample values
  - AudioSampleDecoderWavToFloat64: new class
  - AudioSampleDecoderWavToInt16: new class
  - AudioSampleDecoderWavToInt32: new class
  - AudioSampleDecoderWavToInt8: new class
- package net.boarderzone.util:
  - JavaTool: added method fixClasspathDelimiters()
  - Platform: added flag whether running on windows
  - TextFileMatcherConfig: added support for 'DYN_*' date and time variables
- package net.boarderzone.util.testing:
  - JUnit:
    - added methods assertNotEmpty(String)
    - added method getRequiredResourceAsStream(name)


=============================================================================
version: 0.12.540
creator: Leon Poyyayil
created: 2010.01.19-10:34:29
status:  developmental
----------------------------
- build process:
  - updated own tools/libs in lib.dev/
  - bin/buildParserLogic.bat|.sh: scripts to invoke the corresponding ant project
  - bin/buildPatchSableCC.bat|.sh: mini scripts to invoke the ant project to
    build the patch for the SableCC parser generator
  - lib.dev/sablecc.jar: SableCC: new parser generator library
  - lib.dev/sablecc-bz.jar: patched version of SableCC with support for custom
    code templates and additional command line options
  - script/admin.xml: excluded more binary file types when updating dev-vars
  - script/buildParser.xml: new generic parser build script
  - script/buildParserLogic.xml: build script for the new logic parser library
  - script/compile.xml: excluded SableCC *ParserAlgo.java from checkstyle check
  - script/library.xml: ignoring *.sablecc in jars
  - script/SableCC/*: the files necessary for the SableCC patch and extension
  - script/style/findbugs-filter.xml: ignored some SableCC generated code patterns
  - script/style/TextLayout.FileMatcher: adapted to new SableCC file types
- products:
  - FileBrowser: added missing bz-image.jar to binary distribution package
- package net.boarderzone.afw:
  - ShellApplication:
    - fixed NPE in case of entering ctrl-c or ctrl-z followed by enter
    - added 'ver' alias for 'version' command
- package net.boarderzone.afw.cmds:
  - ShellCommandComment: new command
  - ShellCommandConfig: changed output to be locale independent
  - ShellCommandConfigCopy: new command
  - ShellCommandEnvironmentCopy: renamed from ShellCommandProperties
  - ShellCommandMeasureTimeLap: new command
  - ShellCommandMeasureTimeStart: new command
  - ShellCommandMeasureTimeStop: new command
  - ShellCommandSleep: new command
  - ShellCommandWaitOnExit: new command
- package net.boarderzone.apps.file.browser:
  - FileBrowser.desktop: added ToggleAlwaysOnTop command to window menu
  - moved frame specific commands to new gui.action.frame package
- package net.boarderzone.apps.java.jartool:
  - JarTool:
    - added new option 'inplace' to rewrite a jar in place
    - fixed to give a proper error message when attempting to rewrite a jar and
      no 'out' parameter was specified (and the new 'inplace' option is not true)
- package net.boarderzone.gui:
  - fixed all occurrences where a JSplitPane stored its divider locations into
    the dialog property registry to properly support the min/max expanded state
  - Desktop.xsd: extended to allow menus in toolbars
  - DesktopApplication:
    - added support for the new 'full-screen' and 'always-on-top' config items upon startup
    - fixed to honor the 'show-tooltips' option upon startup
  - DesktopApplicationConfig.xml: added new items 'full-screen' and 'always-on-top'
  - DesktopFrame: added support for menu buttons in toolbars
  - DesktopFrameNavigatorButton: added support for tooltip when taskbar is hidden
  - DesktopSiblingFrame: new class
  - ToolbarMenuAction: new class
- package net.boarderzone.gui.action:
  - Help: changed title of the help window to have 'help' at the beginning and
    the application name at the end (-> better visibility)
  - ShowClipboardMonitor:
    - renamed from ClipboardMonitor
    - changed to only allow one active (open) window instance
  - ShowSystemInformation:
    - renamed from SystemInformation
    - changed to only allow one active (open) window instance
  - ToggleAlwaysOnTop: new command
  - ToggleFullscreenMode: changed to be a normal config-item toggle
- package net.boarderzone.gui.action.capture:
  - new package with screen capturing commands
- package net.boarderzone.gui.action.frame:
  - new package with frame specific commands
- package net.boarderzone.gui.navigation:
  - NavigationFrame:
    - changed to be derived from new DesktopSiblingFrame for proper always-on-top support
- package net.boarderzone.gui.widget:
  - ClipboardMonitor: renamed from ClipboardMonitorDialog
    - fixed to invoke gui update in event dispatcher thread when auto-refresh is
      turned on
    - changed to be derived from JFrame instead of JDialog -> can be behind desktop
    - changed window title to have the application name at the end (-> better visibility)
    - changed to be derived from new DesktopSiblingFrame for proper always-on-top support
    - extracted some code into new ClipboardTool for better reuse
  - ClipboardTool: new utility class
  - DirectoryTreePanel: added support for a new command to create a new file from the
    contents of the clipboard
  - LoggerConsole:
    - changed window title to have the application name at the end (-> better visibility)
    - changed to be derived from new DesktopSiblingFrame for proper always-on-top support
  - StatusbarItemClock: fixed to invoke gui update in event dispatcher thread
  - SystemInformationFrame:
    - renamed from SystemInformationDialog
    - fixed to invoke gui update in event dispatcher thread
    - changed to be derived from JFrame instead of JDialog -> can be behind desktop
    - changed window title to have the application name at the end (-> better visibility)
    - changed to be derived from new DesktopSiblingFrame for proper always-on-top support
  - XmlTextArea: fixed exception when validating strange xml processing instructions
  - ZoomableImage: fixed to update the tooltip text upon zoom changes
- package net.boarderzone.gui.util:
  - ImageTool: new class
  - ImageTransferable: new class
- package net.boarderzone.net.pcap:
  - PCAPPacketFilter.xsd: added support for 'nand' and 'nor' filters
- package net.boarderzone.net.wsal:
  - LogFileEntryFilter.xsd: added support for 'nand' and 'nor' filters
- package net.boarderzone.parsers.logic:
  - new package which contains a simple parser for boolean logic expressions
- package net.boarderzone.plugins.filehandler.diaryeditor:
  - ActivityStatsTable: added more summary rows
- package net.boarderzone.plugins.filehandler.exifviewer:
  - ExifViewer: added support for copying the thumbnail image to the clipboard
- package net.boarderzone.plugins.filehandler.icoviewer:
  - IcoViewer: added support for copying the thumbnail image to the clipboard
- package net.boarderzone.plugins.filehandler.imageviewer:
  - GifFrameViewer: added support for copying the frame images to the clipboard
  - ImageViewer: added support for copying the image to the clipboard
- package net.boarderzone.plugins.filehandler.javacodesnippeteditor:
  - JavaCodeSnippetEditor: added comment describing the dynamic var names
- package net.boarderzone.plugins.filehandler.mp3infoviewer:
  - MP3MetaDataID3v2PanelBase: added support for copying picture frames to the clipboard
  - MP3MetaDataMusicMatchPanel: added support for copying the image to the clipboard
  - MP3MetaDataOverviewPanel: added support for copying the cover image to the clipboard
- package net.boarderzone.plugins.filehandler.serializationviewer:
  - ForeignObjectInputStream: new class
  - SerializationViewerHandler:
    - added support for a classpath variable to aid in resolving classes not on
      the app/system classpath: 'SerializationViewer.Classpath'
    - added separate error message for invalid/incompatible classes
- package net.boarderzone.plugins.filehandler.textlineviewer:
  - TextFileModel:
    - added support for proper displaying tabs
    - fixed array bound exception when file shrinks during refresh
  - TextLineViewer: fixed to invoke gui update in event dispatcher thread
    when auto-refresh is turned on
- package net.boarderzone.plugins.filehandler.xmltools:
  - XmlEditor: added support for detecting the encoding from the xml declaration
    when no UTF byte order mark is found
- package net.boarderzone.plugins.javashell.filesystem:
  - FileExists: new command
  - FileRecurseDir: fixed to properly support quoted directory arguments
- package net.boarderzone.plugins.javashell.imagetool:
  - ImageCapture: new command
  - ImageLoadClip: new command
  - ImageSaveClip: new command
- package net.boarderzone.plugins.javashell.logic:
  - new plugin with commands to evaluate logical expressions and control execution
    of other commands depending on the result
- package net.boarderzone.plugins.javashell.process:
  - new plugin with commands to execute os system commands as separate processes
- package net.boarderzone.sound:
  - AudioSampleFormat: added an optional description
  - AudioSampleFormatImpl: added support for new description
- package net.boarderzone.sound.gui:
  - AudioSampleFormatPanel: added support for new description
- package net.boarderzone.sound.riff:
  - RIFFWaveFormat: added support for new description in format descriptor
- package net.boarderzone.sound.wav:
- package net.boarderzone.util:
  - ReplacementMapperConfigXmlHelper:
    - added method parseProperties()
    - added support for importing .properties files in java format
  - StreamTool: added overload of autoDetectEncodingFromUnicodeByteOrderMark()
    with support for detection of encoding from xml declaration
  - TextFileMatcher: added support for 'DYN_*' date and time variables
- package net.boarderzone.util.filter:
  - Filter.xsd: added support for 'nand' and 'nor' filters
  - FilterAcceptAnd: adapted to changes in base class
  - FilterAcceptNand: new filter
  - FilterAcceptNor: new filter
  - FilterAcceptOr: adapted to changes in base class
  - FilterBaseCombined: added support for inverting the result
  - FilterFactoryBase: added support for 'nand' and 'nor' filters
  - StringFilter.xsd: added support for 'nand' and 'nor' filters


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