This document contains a history of the development of plan/b.

Version 1.6 (in preview)
New:

  • Installer - The Linux distribution now has a smarter installer. It works much the same as before, but allows you to perform an automated, console only (useful for headless machines) install. Just pass it the --dest switch.
  • Custom Ports - It is now possible to control the port used by the messaging subsystem (ActiveMQ). This can also be set in the console (under Options).

    Fixed:
  • Intro Text - Fixed a documentation bug in the installer introduction (the domain name for cloudnine.net.nz was spelt incorrectly).


Version 1.5

  • New Features:
  • Delete files from destination - Option to specify that the destination location should be deleted prior to the backup occuring.
  • Copy full folders - Option to specify whether or not to create an absolute or relative backup. Previously, all files at the destination were created with full, absolute paths under the destination. Now there is an option to make the copy process relative. A full explanation is in the manual.

    Enhancements:
  • Improved speed - Completion of jobs has been sped up by detaching the email sending from the job completion process.
  • Improved reports - Warnings are now used a log more in the reports, for situations that are not necessarily fatal (e.g: a file not being found after the backup has started).
  • Job Editor - When adding a source or destination, the file browser is now automatically opened for you. Only when you choose some folder and then click OK does it add a source/destination to the job.
  • Multiple Recipients - It is now possible to have multiple email recipients for a backup report.
  • UI Upgrade - Changed some of the slider controls to be spinners, which are clearer.

    Fixes:
  • Fixed Unix Links - The links (on the desktop) created by the installer on linux were pointing to the wrong scripts. These now point to the new .sh scripts.
  • FTP Cache - Fixed issue where the FTP cache was not cleared after each run, resulting in unpredictable behavior.

Version 1.4

  • Selection of Rules on UI fixed - There was a bug in the UI whereby selection of a rule may have caused the selection bar to jump to the top of the list. Now fixed.
  • Startup/Shutdown (Unix) - The scripts to start and stop the various applications of Plan/B have been replaced. These work in a greater variety of situations.
  • UI fixes - The UI now informs the user why a connection to a server may not be possible, also tooltips have been added to most UI elements where they did not exist before.


Version 1.3

  • New Features
  • Unix & Links - Plan/B now supports the Unix concept of Links (soft links). If a destination system does not support them, a file is written containing the name of the link destination.
  • Change to backup process - dir creation - The directories being backed up are not created up front (on the destination) any more - they are created as needed, as the backup progresses.
  • Change to backup process - scanning - Links to directories are no longer followed in the backup process.
  • Expression evaluation - Some expressions were not evaluating correctly - for example "exclude if path contains 'cache'" would not include the last element of a directory name (a good example being a Mozilla Cache or Cache.Trash directory). This is now fixed.
  • Rules - Rule matching was not being applied to directories at all. It is now.
  • Improved rule selection, UI - When selecting rules in the UI, you now see a complete list of rules that are in effect for the job, rather than the include/exclude list that was presented before. This allows for better viewing of the overall effect of the rules that you select.
  • Improved device manager, UI - When adding a device, a new popup dialog is shown (instead of the previous in-line editing) with the device parameters. It's more obvious that you're editing a new device.
  • Improved logging management, UI - The UI now loads log files one at a time (rather than all at once) - each log is loaded as you click on it.
  • Improved log readability, UI - Logs for jobs that have failed no longer show dates of 1970 as the 'end' of the backup job.
  • Improved logging, part 2 - Where a duration is shown, it is now shown as (for example) 2m 10s, rather than 130s.
  • UI Connection Speed - The UI can now detect if the server is present much faster - expect about a 5-10s decrease in start time. It is also fails much, much faster (to fail) if the server that you are attempting to connect to is not there.
  • UI cleanup - The bar on the left hand side has been simplified to include only those items that are implements. The Restore and Reporting options have been removed, and their functions included into the Backup category.
  • Override agent protocol - You can now tell the agent which server to connect to, without having to edit the main configuration file. You just edit the existing messaging.properties file (in the conf directory)

    Bugs fixed
  • Bug fix (Internal) - Fixed issue with ActionButton resources not being freed correctly in the UI.
  • Bug fix (UI) - New log entries are now added correctly to the top of the log list (not the bottom)
  • Bug fix (scanning) - A problem has been resolved whereby a directory containing links back to itself would result in a backup that would never terminate.
  • Bug fix (Logging, UI) - Truncate button works correctly now (it truncated the wrong end of the list before)
  • Bug fix (monitor) - Fixed a problem whereby if a job failed it was not reported correctly, and the system would have to wait for the job to time-out before returning control to the user.
  • Internal Messaging - The messaging system has been updated to resolve an issue that can occur under high load (the internal queue would fill up, and stop working)


Version 1.1 changelog (12 Aug 2005):


  • Added save button to the Job editor (it's now more intuitive).
  • Added additional view to the server log viewer - which allows you to see the content of long lines in the log.
  • Ability to refresh the server side device map (and client side device maps as well). This function already existed, but has been additionally added alongside the add/delete device buttons, to make it more obvious.
  • Added CIFS (e.g: \\server\share) device support. Especially useful for Win XP users running the server as a service.
  • When you add a new job, you are immediately taken to the General tab (instead of being left where you were).
  • Uninstall warnings (as in, you must do so!) have been addd to win/linux installers.
  • Updates to make Error dialogs a little more sensible.
  • Upgraded internal SWT libraries to version 3.1

    Fixes:
  • Fix the Gentoo UNIX scripts, so that the -d is passed correctly into the sub-script (fixes issues with not being able to stop the server/agent after you've started it)
  • Fixed issue on linux whereby paths would not be correctly re-selected in the file browser
  • Fixed layout issue in Device interface, relating to the loading of libraries (green/red text). It now displays properly.
  • Fixed issue whereby CIFS and FTP changes were not replicated out to the Agents
  • Fixed issue whereby client would hang if it could not connect to a server
  • Fixed issue where the overview fields (on the UI) would not refresh properly upon job add/delete
  • Fixed issue with Job editor, whereby when you add a new job, you can still browse device locations without first adding a source or destination - the result being that when you click OK, the thing you selected is NOT put into the source/destination list.
    ----

    Wed, 26th January 2005
  • Fixed problem with installer, where installation as a server would also setup the agent as a win32 'automatic' service. While the agent was not started, a reboot would cause both to be started - and only one of the server or agent processes can be run on a machine at any one time.
  • When adding a new job, the job editor is shown, no matter what other panel you have showing at the time, in the GUI.
  • The logs have been removed from memory, and moved out to disk. This results in faster startup times, and less memory overhead.

    Mon, 4th January 2005
  • A new NSIS based windows installer, that takes care of installing the relevant services
  • Services for the Server and Agent components
  • The agent is now ZeroConf enabled - meaning that it can find the server without having to be told where it is
  • The agent is now resilient to network failure. If something goes wrong, it will stop and wait until it can connect to a working server, and then continue.
  • An agent can be started even if a server is not present on the network (required for services to work 'as expected')

    Fri, 31 December 2004
  • Console now available as a .exe file, along with a shortcut in the Start menu
  • Server now packaged as a Win32 service

    Wed, 29 December 2004
  • Fixing a problem with client/server pub/sub, whereby I had 'stuffed it up' (tm).

    August -> December 2004
  • Removing static factories, changing internal code to make use of Spring instead.
  • Upgrade to Active MQ 1.5
  • Rework of the GUI notification mechanism, to include granular specific messaging.
  • An almost-complete rewrite of the rule editor, to make it 200% more obvious what is going on
  • A re-write of the job algorithm (that which controls the job copy process) to make it work much, much better with remote hosts
  • Updated windows SWT jars

    Fri, 13 August 2004
  • Fixed bug where some rules (like, include all) would remain in a job after editing, causing 'unexplained' behavior.
  • Cancel All, OK All operations now work on the GUI (for things like remote CDR/W requests) - tested on Linux only.

    Tue, 10th August 2004
  • Fixed issue with server not performing backups to CD if no GUI was present (it would never stop requesting a CD be put in the drive. Now it tries up to three times)
  • Fixed issue with CD backups failing after the first backup was successful.
  • Log directory now created by the installer
  • planb.log file now placed in a log directory
  • Replaced agent <-> server communication with FTP. Performance improved!
  • Fixed issue where the backup report didn't show an error if the device sanity checks (that occur before the backup starts) failed.

    Sun, 25th July 2004
  • Added shortcuts to the Win32 installer
  • The build now auto generates documentation and changelogs for each release, based upon the contents of this very website.
  • Lots of small changes related to multi-process execution (e.g: one agent on one machine, one server somewhere else, and the console running on yet a third machine)
  • Fixed bug where typing into the source URL field (for a location) would cause the cursor to go to the beginning of the field with every keypress

    Sat, 24th July 2004
  • Updated Win32 CDR tools (they now work ;-)

    Wed, 21th July 2004
  • CD Transports and SCSI targets are now auto-detected by all agents (including the server) upon startup.
  • SCSI target list reduced to only those devices that are Removable CDROMs

    Tue, 20th July 2004
  • Decreased the size of the fonts on the includes/excludes labels for the rule editor
  • Removed the add/remove rule buttons on the left hand side of the 'When' panel, since this functionality is handled by the rule editor now.
  • Fixed a bug I introduced with the integration of the rule editor, whereby adding and removing locations would not refresh the location list
  • Added detection of SCSI transports and devices for all platforms
  • Added a default cdrecord/mkisofs implementation for Windows that does not require Cygwin nor ASPI drivers (yay!)

    Sun, 18th July 2004
  • Added the new rule editor

    Mon, 28th June 2004
  • Refactored commands to be on a per-device basis
  • Mountable commands are auto-discovered for new agents upon startup

    Wed, 23th June 2004
  • Fixed bug where editing a job twice would cause another job to be added to the list

    Tue, 22th June 2004
  • Added a splash screen to the GUI

    Mon, 21th June 2004
  • Fixed bug where new directories couldn't be created at the root (e.g: c:\) on Win32 using the GUI directory browser.

    Sun, 20th June 2004
  • Server can now send HTML activity reports
  • Fixed a couple of issue with stats gathetherig
  • Added an 'overall' error list to the statistics
  • Fixed incorrect batch file inclusion for Win32
  • Made the formatting of error messages much better in the case of file copy failures

    Sat, 19th June 2004
  • Realtime updates to activity log
  • Device editor now has scrollbars
  • Fixed bug with CDROM size slider
  • Added truncation to Server activity log
  • Fixed bug where it wasn't possible to rename external FTP directories
  • Fixed a bug where the code was ONLY compatible with the 1.5 JDK. opps.

    Tue, 15th June 2004
  • bin/ directory now contains only those scripts relevant to the particular OS
  • scripts in bin/ directory are now executable under linux
  • Implemented the Delete functionality on the directory browser
  • Fixed the created directory functionality on the directory browser, for remote FTP hosts.
  • Fixed problem whereby server would show a dialog box requesting a disk for A:, if one existed.

    Mon, 14th June 2004
  • Fixing bugs from previous refactorings
  • Tidied up the display of source and destination paths in the GUI, for the overview panel and what/where panels. (no more %20 instead of spaces)

    Sun, 13th June 2004
  • Fixed bug where NPE's would occur on the server when you chose a Cron based schedule.
  • Fixed bug where it was not possible to create nested directories at a FTP destination
  • Added basic activity log support
  • Improved logging to include exception reports from jobs

    Sat, 12th June 2004
  • Fixed issue whereby stopping a running CD job would stll cause the partially written data to be copied to the CD. Not any more!
  • Tidied up the server log window
  • Fixed bug where it was not possible to remove the temporary update directory, once the CD had been cut
  • View headings were being 'truncated' when switching between devices, in the device editor
  • If you connect to a server, then disconnect and reconnect, you get a 'widget is disposed' exception (fixed)
  • Builds now produce build numbers.
  • GUI now shows which server you're connected to, and the build number
  • Site updated to automatically show latest files, build date ... and of course, the build number

    Fri, 11th June 2004
  • Fixed problem with GUI request handler dialog, whereby it wasn't closing upon canceling a request.
  • Fixed problem whereby opening a dialog for choosing a mount point, and then clicking OK (without doing anything else) caused a NPE.
  • Fixed: Inability to rename directories (using F2) when browsing source or destination devices, while editing a job
  • Fixed: Could not resize file/directory browse dialog boxes in Windows
  • Fixed: File and Directory browsers don't have a generic title.

    Thu, 10th June 2004
  • Main window position and size preserved across restart
  • Sash components now save their weights (e.g: with of outlook bar / main window is preserved across restarts of client)
  • Table column widths are preserved across restarts
  • Directory and File dialog positions are preserved across restarts

    Wed, 9th June 2004
  • Added a .exe Win32 based installer to the build process
  • Modified Win32 startup scripts (no longer show error with '#')
  • Fixed problem whereby when starting a server with a new installation would result in an NPE, and no devices showing in the GUI.
  • Added logging of server messages, to both server, and the GUI
  • Updated site documentation