The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
For release 0.85
Some minor fixes and updates for NBU 4.5 compatibility
- Handle multiplexed fragments when computing a volume's TOC
- Properly code job types
- 4.5.0 recognized in robot inventorying logic
- drives and robots now track whether they're known to any storage units;
 this allows one to identify equipment currently in use by NetBackup or not.
- Scratch pools identified via -listscratch
- Fix bug in job parsing when tapes are positioning before they're mounted
For release 0.75
This release builds on its predecessors by fleshing out more and more functionality
as user (my) needs warrant.  Lately these have been focussed on two areas in
particular: volume tracking and job reporting.  Hence the NBU::Media class implements
quite a few more attribute manipulation methods and the NBU::Job class has gotten
quite adept at parsing through the bpdbjobs output.
And this just in under the wire: a start on License analysis using a NBU::License class
Here is a somehwat arbitrary summary of changes:
- nbutop.pl figures out which drives it should monitor by scavenging through all
  the storage unit definitions.
- The NBU::Host class implements a crude hostname aliasing mechanism so servers
  listed under multiple names (read: with multiple interfaces) can be identified
  as being one and the same.  At some point the aliases list will be read from a
  configuration file.  (If only XML support wasn't such a pain to install!)
- js.pl and nbutop.pl can be made to talk to other master servers with by
  setting a -M flag.
- client and class list examples now list class membership and member clients
  respectively.
- Get and set offsite attributes on volumes.
- Jobs can now regurgitate the errors associated with them.
- If you're willing to install some XML related modules, the new
  robot-snapshot.pl script's configuration files are now written in XML; more
  of this is coming.
- Volume ejecting and robot inventory updating are now wired live.  (Vaulting
  here we come :-)
- Minor code re-arranging has lowered the Perl version requirements to 5.004
- js.pl with -e will list the errors associated with a job; especially helpful
  for those pesky status 1 jobs against Windoze boxes.
- Quash stderr messages from the various cli tools
For release 0.74
- Run bpconfig as part of gathering the full picture of the NetBackup
  environment.  This allows us to display information on e-mail notifications
  amongst other things (see config.pl).
- The volume-list.pl example displays assigned retention levels for each
  volume.
- Courtesy of Peter Buschman we now parse a disk storage unit in bpdbjobs
  output.
- js.pl can display the file list for a given job
- toc.pl example sorts image file lists
- Man pages for NBU.pm; nbutop.pl
  The .pl files with man pages were moved into a bin sub-directory and are now
  officially installed as part of this module
- Fix the problem caused by bpdbjobs sending refresh data about jobs that
  are being expired from its database
- Handle drive indices on a media server by media server basis rather than
  having a single global list of them.
- Even the Image class now has a loadImages factory method which will indeed
  load all images.  Oh the questions you can now finally ask!  Take a peek at
  examples/statistics.pl for a few simple ones
- Class objects implement loadImages.
- Class information is now loaded on demand as well.  Of course if you know
  you are going to loop over all of them, you'd still want to load them en
  masse first.

For release 0.73:
Most changes are bug fix and example script related.  It is interesting to see
how easy it has been to whip up scripts on top of the object model.  However,
sometimes a flaw in the underlying model is exposed :-(  Major changes are:
- addition of nbutop.pl
  Patterned after the famous top utility, this script lists the currently active
  jobs in a number of sort orders.  Leveraging the object model correlating
  active jobs to volumes and drives was a no-brainer!