Release Notes for Bacula Community 15.0
CommunityThis is a major release with many new features and a number of changes. Please take care to test this code carefully before putting it into production. Although the new features have been tested, they have not run in a production environment.
Compatibility
As always, both the Director and Storage daemon(s) must be upgraded at the same time. Any File daemon running on the same machine as a Director or Storage daemon must be of the same version.
Older File Daemons should be compatible with the 15.0 Director and Storage daemons. There should be no need to upgrade older File Daemons.
In 15.0, we have upgraded the volume format from BB02 to BB03 to support options such as the Volume encryption. Old volumes can still be used by the 15.0 Storage Daemon, however, new 15.0 BB03 volumes cannot be used by old Storage Daemons.
New Catalog format in version 15.0.0 and greater
This release of Bacula uses a new catalog format. We provide a set of scripts that permit conversion from 9.x and earlier versions to the new 15.0 format (1026). Normally the conversion/upgrade is automatic, though there is a big change from 9.x to 11.0 that takes longer than usual, the upgrade process will require about twice the disk space of the actual database.
The database upgrade introduced in 11.0 should significantly increase performance when inserting a large number of Jobs with a lot of Files into the database catalog.
If you start from scratch, you don’t need to run the update_bacula_tables script because the create_bacula_tables script automatically creates the new table format. However, if you are using a version of Bacula older than 5.0.0 (e.g. 3.0.3) then you need to run the update_bacula_tables and the grant_bacula_privileges scripts that will be found in the <bacula>/src/cats directory after you run the ./configure command.
As mentioned above, before running this script, please backup your catalog database, be sure to shutdown Bacula and be aware that running the script can take some time depending on your database size.
Release 15.0.3 / 25 March 2025
15.0.3 is a minor bug fix release.
Use the CLOEXEC function in sockets and all file descriptors
BSOCK improve POLL to detect and report errors
Check for backquote in check_for_invalid_chars() function
Detect unsolvable volume cycle in split_bsr_loop()
Enforce malware database download from Abuse.ch
Fix #10947 time output without century for locale that use multi bytes utf8
Fix #10985 Report the FD/SD Encryption in the Job record and the job output
Fix #11048 About LastBackedUpTo StorageGroup policy not correctly set
Fix #11058 About fsync error reported for tape driver
Fix #11197 About error when using bextract on ZSTD compressed data
Fix #11251 About bcopy not mounting correctly volumes provided with -i option
Fix Client/Uname field not always updated after a status client
Fix compilation issue with zstd and without lzo
Fix compilation variable in var.c and expand.c
Fix org#2714 Fails to take TLS Allowed CN into account
Fix org#2738 About error message with generated fileset
Fix org#2748 About compilation error with ZSTD and not LZO enabled
Update bsmtp copyright information
baculum: Add cloud storage status to SD status endpoint
baculum: Add enable and disable client, storage, job and schedule endpoints
baculum: Add name and sort parameters to filesets filter
baculum: Add new query parameters in M365EmailList endpoint
baculum: Fix #2722 port from Bacularis fix for displaying schedule list
baculum: Fix compatibility with very old PHP 5.4
baculum: Fix missing scopes on supported OAuth2 scope list
baculum: Fix sorting in filesets endpoint if unique filesets parameter is used
baculum: Update API documentation
bpipe: Fix org#2737 About segfault with bpipe
k8s: Add Ingress integration backup/restore
k8s: Add dockerfile to create an image to compile k8s plugin in any debian/ubuntu distribution
k8s: Add more options to debug
k8s: Add new level(In pvc annotations) in selection of backup mode
k8s: Add parallel job in same namespace
k8s: Add pvc annotation takes precedence without pod annotation
k8s: Add pvc clean up from old backup jobs
k8s: Avoid pvc data when pvc is in Pending status. k8s: Fix redoing backup when pvcdata is 0 bytes and the backup mode is standard
k8s: Avoid pvcs backup when the pvc status is Terminating
k8s: Fix #0010901 - Problem when restore service clusterIPs
k8s: Fix #0011005: ModuleNotFoundError: No module named ‘baculak8s.plugins.k8sbackend.ingress’
k8s: Fix get provisioner permissions
k8s: Fix restore problem where pod require the pvc data when it starts
k8s: Fix show pvdatada message when you don’t use it
k8s: Get images from repositories with auth
show minimal backtrace if gdb is not installed
win32: Fix unwanted debug messages in windows File Daemon
- Bugs fixed/closed since last release:
10291 10901 10947 10985 11005 11048 11058 11197 11251 2722
Release 15.0.2 / 21 March 2024
- Security:
Director TOTP Console authentication plugin
Better restricted console support
Add Storage Daemon Volume encryption support
Add support for Immutable filesystem flag for volumes
Add support for Append Only filesystem flag for volumes
Clamav Antivirus plugin
Malware detection code (via Abuse.ch)
Add AllowedBackupDirectories FileDaemon’s directive
Add AllowedScriptDirectories FileDaemon’s directive
Add ExcludeBackupDirectories FileDaemon’s directive
Add AllowedRestoreDirectories FileDaemin’s directive
- Management:
New FreeSpace and LastBackedUpTo storage group policy
New ZSTD fileset compression support
Add Kubernetes CSI Volume Snapshot support
Add Amazon Cloud driver (in replacement of libS3 cloud driver)
Switch Storage Daemon volume format from BB02 to BB03
New Bacula Installation Manager (BIM) to ease the installation
Add runscript “AtJobCompletion” execution option
- Catalog changes:
FileSet content description in the FileSet table
Add Job/RealStartTime catalog field
Add Job/Encrypted catalog field
Add Media Protected and UseProtect fields
Add Media VolEncrypted field
Add FileEvent table and “list fileevent” to track malware and viruses
Plugins list available in the Client table
Store verified jobid into the catalog PriorJobId Job field
- Console changes:
Add JSON output to various commands (.jlist, .api 2 api_opts=j)
.help enhancement with description of commands
help command restricted to the available commands
Add .search bconsole command
Add bconsole “list joblog jobid=x pattern=xxx” option
Add fileindex=jobid,fidx option in .bvfs_restore
Add VolType to .bvfs_versions
Add “update volumeprotect storage=xxx” bconsole command
Add “status dir novolume” to not compute volume in status director output
Limit the “status dir” schedule output to 50 jobs. Can be managed via “limit=x offset=y” parameters
Add new error codes to job messages
Update timestamp of the pid file after a reload command
Add “.status dir client=xxxx” filter
Add “list jobs reviewed=<1|0>” command
Add Runscript to control the run queue (RunsWhen=Queue)
Add “.ls dironly” bconsole command
Add new Job statuses when the Job is waiting on SD/FD
Add new PriorJobId and PriorJobName to volume label format variables
Progress Status for Copy/Migration Jobs in “status director” output
Add “list fileevent” bconsole command
- Baculum and Rest API changes:
Add joberrors parameter to jobs endpoint
Add fileset parameter to objects endpoint
Add filename and path properties to fileevent endpoints
Add sorting parameters to clients endpoint
Add running jobs property to clients endpoint
Add documentation for os and version filters in clients endpoint
Add os and version parameters to clients endpoint
Add os, version properties and overview parameter to clients endpoint
Add endpoint to check disk archive device prformance on storage
Add endpoint to list files and dirs on storage daemon host
Add delete pool endpoint
Add delete object endpoint
Use new delete module in volume and job endpoints
Add module for delete command
Add client name parameter to clients endpoint
Add file events API endpoint
Improve extended name validator
Speed up dashboard page loading
Fix parsing director time in time endpoint
Add objecttype parameter to object categories endpoint
Add second dimensional sorting and use it for sorting jobstatus in
Add modify default object sorting in object overview endpoint
Fix support for PHP 5.4 in web interface layer
Fix content field in job record
Improve support for newer PostgreSQL versions
Add fileset content property to jobs endpoint
Add object categories endpoint
Add support for ALL action in console ACL
Add objecttype filter to objects names endpoint
Add default sorting by endtime to objects overview endpoint
Add sorting parameters to volumes overview endpoint
Add second dimension of sorting in jobs objects endpoint
Add offset and limit parameters to director status endpoint
Add sorting by endtime and add endtime property to objects overview
Add group_order_by and group_order_direction parameters to documentation
Add notes about object type filters in objects overview endpoint
Fix storing ACL config actions for very old PHP versions
Add objectsize property to objects overview endpoint
Add job type property to objects overview endpoint
Add path property to objects overview endpoint
Fix offset and limit parameter in jobs objects endpoint
Add objectname parameter to jobs objects endpoint
Add objectsource property to objects overview endpoint
New API config ACLs
Add group_order_by and group_order_direction parameters to objects
Add to grup function sorting group capability
Add sorting by joberrors if sorted by jobstatus first
Improve using unique_objects parameter in object endpoint
Add group_offset and unique_objects parameters to objects endpoint
Add volume names endpoint
Add object names endpoint
Add object types endpoint
Add documentation for client parameter in objects endpoint
Add job status filter to objects endpoint
Add joberrors filter to sources endpoint
Add server parameter to list vsphere datastores endpoint
Add job level property to sources endpoint
Add pool resnames endpoint
Add storage resnames endpoint
Add director time endpoint
Change M365 tenants endpoint output to contain tenant names
Update documentation
Add object overview endpoint
Add client plugin list endpoint
Add content parameter to filesets endpoint
Add directive filter to config endpoints
Add enabled filter to clients show endpoint
Add endpoint to list AWS cloud buckets
Split client overview endpoint into reachable and unreachable clients
Adapt storage file ls command parameters to new form
Add cancel jobs running on storage endpoint
Add delete client endpoint
Add endpoint to create directory on storage daemon host
Add endpoint to get device disk usage on storage daemon host
Add endpoint to list SCSI tape devices on storage daemon host
Add fileset filter to objects overview endpoint
Add job name and fileset to status client endpoint
Add job type parameter to objects overview endpoint
Add jobdefs list endpoint
Add jobstatus filter to objects overview endpoint
Add name parameter to storages endpoint
Add option to interpret Bacula error codes by API
Add parser for diskperf command output
Add regex operator support in queries
Add restricting resources in objects overview endpoint
Add type parameter to clients endpoint
Add usage of multiple content values in filesets endpoint
Add volume statistics endpoint
List only reachable/unreachable clients in clients endpoint
- Misc:
Add XXHASH to FileSet signature option
Add plugins for Verfy jobs
Display mtime instead of ctime in estimate listing output
Add specific jobstatus when executing Runscripts
New man pages
Add %i (jobid) to edit_device_codes(), can be used in storage daemon scripts
Pass comment field to copy/migration jobs from the control job
Add JobTimestamp variable for volume label format
Improve BSR cycle detection and resolution
Release 15.0.1 / 13 February 2024
15.0.1 is a minor bug fix beta release.
cloud: Fix #10525 Add device name to the transfer fields
Fix #10163 Add %i (jobid) to edit_device_codes()
Fix #10365 Pass comment field to copy/migration jobs from the control job
Fix #10524 About adding JobTimestamp variable for volume format
Fix #10401 About issue when truncating immutable volume
Fix #10453 volume with a wrong label
Fix #10513 About show command issue with incorrect storage configuration
Fix #10631 remove unauthorized Jmsg() in BSOCK::recv()
Fix #2699 About SQLite update script
Fix #2701 compilation of bjoblist
Fix JSON output in .status dir running
Fix openssl 3.x don’t tolerate to call EVP_CipherFinal_ex() twice
Fix org#2440 Improve Makefiles to use relative paths
Fix org#2561 Convert text from ISO-8859 to UTF8
Fix org#2698 about error with osx platform
Fix org#2704 about old FD compatibility
Fix org#2705 about issue with accurate checking of new file signature attributes
Fix restore issue when compression is enabled but not available
Fix warning about BSOCK::send()
Fix zlib compression was disable in FD
Fix: #0010535. Problem with k8s snapshot version
baculum: Add application version endpoint
baculum: Add client plugin list endpoint
baculum: Add content parameter to filesets endpoint
baculum: Add directive filter to config endpoints
baculum: Add enabled filter to clients show endpoint
baculum: Add endpoint to list AWS cloud buckets
baculum :Split client overview endpoint into reachable and unreachable clients
baculum: Adapt storage file ls command parameters to new form
baculum: Add cancel jobs running on storage endpoint
baculum: Add delete client endpoint
baculum: Add endpoint to create directory on storage daemon host
baculum: Add endpoint to get device disk usage on storage daemon host
baculum: Add endpoint to list SCSI tape devices on storage daemon host
baculum: Add fileset filter to objects overview endpoint
baculum: Add job name and fileset to status client endpoint
baculum: Add job type parameter to objects overview endpoint
baculum: Add jobdefs list endpoint
baculum: Add jobstatus filter to objects overview endpoint
baculum: Add name parameter to storages endpoint
baculum: Add option to interpret Bacula error codes by API
baculum: Add parser for diskperf command output
baculum: Add regex operator support in queries
baculum: Add restricting resources in objects overview endpoint
baculum: Add type parameter to clients endpoint
baculum: Add using multiple content values in filesets endpoint
baculum: Add volume statistics endpoint
baculum: Fix content property in sources endpoint
baculum: Fix count property in volume overview endpoint
baculum: Fix name parameter in jobs objects endpoint
baculum: Fix using error module
baculum: List only reachable/unreachable clients in clients endpoint
baculum: Mask sensitive AWS data in debug log
baculum: Update API documentation
cloud: Fix #10291 Assume that driver ls can return an error when scanning an unexistant cloud volume and loosen the conditions that handle this case
cloud: Fix #10685 TruncateCache at endofjob was not processed due to wrong transfer status verification
cloud: proof guard truncation
cloud: test compare upload to AWS with 4 different methods, including bacula post-upload
k8s: Fix compilation problem
k8s: Fix csi compatibility
k8s: Fix problem when it restores a ‘namespace’
k8s: Fix pvc naming error in csi snapshots
rpms: Fix cloud spec file for redhat8
- Bugs fixed/closed since last release:
10163 10291 10365 10401 10453 10513 10524 10525 10535 10591 10604 10631 10685 2699 2701
See also
Next articles:
Go back to: Bacula Community Release Notes.