All posts by Kern Sibbald

Status Report 2 March 2014

Hello,

There are three main topics for this status report:

1. The Next Bacula Release
2. The Bacula Conference
3. Proposed Source Code License Modification

1. The Next Bacula Release
The next Bacula release will be officially announced at the Bacula Conference on the 21st of March, but I want to let you know that I have finished the work of backporting the Enterprise changes made over the last year to this new release.  Normally, as was the case in 2012, those changes would have been integrated into a number of smaller releases.  In 2012, we had 5 released, and would would have had a similar number in 2013, but as you know I froze the releases until I understood the consequences of the fork.  Actually, 5 releases is probably too many, and waiting a year as is the current case is probably too few, so in the future, hopefully we can come closer to a release every six months which I consider appropriate for stable backup software such as Bacula.  This release is rather large with a number of new features.  The git diff is close to 60,000 lines of code, which probably represents in reality some 20-30 thousand lines of changes, so you can see that the Bacula project is far from being dead as some “highly exaggerated rumors” would have it.

2. The Bacula Conference
I am surprised but very please to see how many of you have signed up for the Bacula Conference — thanks, I look forward to seeing you or meeting you as the case may be there.  There are still places available, and if you can come, please do so.  It is being held in Berlin with a dinner offered by Bacula Systems in the evening of 20 March and the conference will take place on the 21st of March.  For more information, please see:

  http://www.baculaconference.org

3. Proposed Source Code License Modification
I am considering to modify the Bacula Source License to have one additional “restriction” that would require forks to maintain the attributions. The code will remain AGPLv3 as it currently is, but the new restriction, which is permitted under section 7(b) would be added. At the same time, I propose modifying the header files to include a mention of this restriction.  The main new wording in the LICENSE file would be the following:

===
Redistribution’s/Modifications:
1. Redistribution’s and/or modifications of the source code must retain the information including the copyright notices and the attributions that are between the BEGIN_LICENSE and END_LICENSE markers.

2. Redistribution’s and/or modifications of the source code and/or binaries must reproduce the files LICENSE and AUTHORS in the the redistribution and/or in the documentation and/or other materials provided with the distribution.

Forking:
The two points listed above are not meant to restrict your ability to use, modify, and redistribute or fork Bacula, but are considered by the main author of Bacula to be an essential part of the moral author’s rights (droits d’auteur; Urheberrecht) that permit certain non-alienable author’s rights such as the right to be identified as the author or authors of the work as defined in article 6bis, Berne Convention.

If you have previously forked Bacula and have not followed the above two fundamental points, you must make your fork confirm to them in its entirety prior to using any file or part thereof from this or later releases.
===

If you have comments or questions about this proposed change, please feel free to contact me via the Bacula email lists or directly:  kern at sibbald dot com.

Best regards,
Kern

Documentation License Change

Hello,

As part of the website redesign (still in progress), we have also reworked the Bacula manuals to fix the broken links between the 5 documents as well as to include a new more modern cover page.  Hopefully before the end of March when the next Bacula release is scheduled (it may be deferred into April if the testing doesn’t go well), I will also have found the time to do a bit of cleanup of the manual and backport the cleanups/clarifications that we have made to the Enterprise manual.

I am considering (90% decided) to switch the license of the Bacula community documentation from the current GNU Free Documentation License to the Community Commons Attribution-ShareAlike 4.0 International Public License.

For you as users, as far as I can see (I am not a lawyer) there is little difference as the new CC-BY-SA gives you the same rights and is a Free Software license.  The difference is that people who want to copy or fork it will be required to keep the attributions.  To ensure that the attributions are correct I will start a new documentation attributions file probably named DOC-AUTHORS which will contain all the names of the contributors. The purpose of this email is three fold:

1. To solicit your feedback on this possible license change.  For more details see:

https://creativecommons.org/licenses/by-sa/4.0/

and

https://creativecommons.org/licenses/by-sa/4.0/legalcode

2. If you have contributed to the manuals but are not the list and want to be on the list, please send me your name, email address, and a rough idea of  what you contributed.

3. If you do not want your name on this list, please let me know, and I will remove it.

Best regards,
Kern

Status Report 07 Feb 2014

Bacula Status report 7 February 2014

First, I would like to thank all of you who have both on and off the Bacula lists sent me very kind emails thanking me and encouraging me.

The main purposes of this email are:

1.  Bacula

2 The Bacula Conference

1. Bacula:

I know that some of you are worried about the Bacula project and where it is going. I want to assure that everything is OK, and that we have quite a number of exciting new features and many other benefits for the community coming up. They have been long planned  and are just now coming to fruition.

 

As has historically been the case, in addition to a few recent community contributions, there will be some significant contributions from Bacula Systems to the next Bacula version.  Please see the following link for the list of contributions to the Bacula project which is easy for anyone to validate:

http://blog.bacula.org/review-of-major-contributions-to-bacula-since-2008/

The list of flowback contributions to the community from Bacula Systems for the next version (March-April) now has twenty three new features, plus a new product, and that number is growing almost daily so will be even bigger by the time the release is made.  I plan to make the official announcement of these features at the Bacula Conference in Berlin on 21 March 2014.

We also already have a list of four additional major Bacula Enterprise features that will flow back in to a subsequent Bacula community version to be released toward the end of the year.

3. The Bacula Conference

As I mentioned above, the first International Bacula Users and Partners Conference (http://www.baculaconference.org/) will be held in Berlin on the 21st of March 2014.  If you have not registered for this Conference, please do so as seats are filling quickly.  Entrance is free.  You can register at the following link:

http://www.baculaconference.org/register/

During the Conference, I will present Bacula roadmap and make some important announcements for our community. If you want to meet me, other developers and contributors to Bacula as well as hear about Bacula Systems, this is the place to go.

I am excited about the meeting and will be delighted to meet you in Berlin, Germany on the 21st of March and have the opportunity to have a chat with each and everyone.  Also, there will be a dinner on the 20th the eve of the conference, offered by Bacula Systems, so don’t forget to reserve your seat when you register for the Conference day.

Looking forward to seeing you in Berlin,

Kern Sibbald

Major Contributions to Bacula since 2008

 

Those of you who have been with the Bacula project for some time, will recall that I (Kern) publicly stated that my primary purpose in creating Bacula Systems was to ensure the long-term growth of Bacula (the community version). I also stated that my personal involvement with the community would decrease for several years so that I could concentrate on getting Bacula Systems running, but that would not at all decrease the pace of development of Bacula.  This is indeed the case.

To show that the above statements are true, please review the following list of major contributions to Bacula from 2008 until today.  I think you will see that Bacula has been largely and substantially supported by Bacula Systems SA (which includes me).

    Major Community Features added 2008 to 20 February 2013

– The letters BEE mean the Bacula Enterprise Edition by Bacula Systems SA
– Information herein is pulled from public records:
   – New Features Chapter in main Document
   – ReleaseNotes file in the source releases
   – ChangeLog file in the source releases
   – git repository
– This is not meant to be exhaustive
– Some author’s names may be missing

  New Feature or work done                     Contributor
  =====================================        ==========================

5.2.13: 20Feb13
– Many Bug Fixes (21 bug reports closed)    — Bacula Systems SA and others
– Several new minor enhancements            — Bacula Systems SA
– Backport code from BEE                    — Bacula Systems SA

5.2.12: 14Sep12
– New bpluginfo utility                     — Inteos
– Bug fixes (13 bug reports closed)         — Bacula Systems SA and others
– Backport code from BEE                    — Bacula Systems SA

5.2.10: 28Jun12
– Significant fixes (6 bug reports closed)  — Bacula Systems SA and others
– Rudimentary AFS support — now depreciated
– Backport Windows code from BEE            — Bacula Systems SA

5.2.9: 12Jun12
– Bug fixes (5 bug reports closed)          — Bacula Systems and others

5.2.7: 02Jun12
– Many code cleanups and rewrites           — Bacula Systems SA and others
– Closed 12 bug reports
– Backport StorageId code from BEE          — Bacula Systems SA

5.2.6: 18Feb12
– Exchange plugin work with Accurate mode   — Bacula Systems SA
– Add wild card to restore cd command       — Bacula Systems SA
– Many important fixes (closed 1 bug report)
– Backport debug for sd plugins from BEE    — Bacula Systems SA

5.2.4: 18Jan12
– Significant improvement to spec files     — Bacula Systems SA
– Fix versioning of share objects           — Bacula Systems SA
– Many bug fixes (9 bug reports closed)
– Many smaller enhancements                 — Bacula Systems SA

5.2.2 24Nov11
– Additions to RunScript variables
– Add -t option on Bat
– Backport plugin code from BEE             — Bacula Systems SA
– 4 bug reports closed
– Backport from BEE                         — Bacula Systems SA

5.2.1 30Oct11
5.2.0rc1 08Jul11
– Major Version Release with many
     new features and lots of new code
– Many Bug Fixes (88 bug reports closed)    — mostly Bacula Systems SA
– LZO Compression                           — Laurent Papier
– New Qt Based Tray Monitor                 — Bacula Systems SA
– Purge Migration Job                       — Bacula Systems SA
– Changes in Bvfs (Bacula Virtual FS)       — Bacula Systems SA
– Changes in the Pruning Algorithm          — Bacula Systems SA
– Additions to RunScript variables
– Additions to the Plugin API               — Bacula Systems SA
– ACL Enhancements                          — Planets Communications B.V. and
                                               ELM Consultancy B.V.
– Class Based Database Backend Drivers      — Planets Communications B.V. and
                                               ELM Consultancy B.V.
– Many backports from BEE                   — Bacula Systems SA

5.0.3 04Aug10
– Truncate Volume after Purge               — Bacula Systems SA
– Many Bug Fixes                            — Bacula Systems SA

5.0.0 22Jan10
– Maximum Concurrent Jobs for Devices       — Bacula Systems SA
– Restore from Multiple Storage Daemons     — Bacula Systems SA and
                                               Equiinet, Ltd.
– File Deduplication using Base Jobs        — Bacula Systems SA
– AllowCompression                          — Collaborative Fusion, Inc.
– Accurate Fileset Options                  — Bacula Systems SA
– Tab-completion for Bconsole               — Bacula Systems SA
– Pool File and Job Retention               — Bacula Systems SA
– Read-only File Daemon using capabilities  — AltLinux
– Bvfs API                                  — Bacula Systems SA
– Testing Tape Drive Speed Command          — Bacula Systems SA
– Block Checksum Device Directive           — Bacula Systems SA
– Significant New Bat Features              — Bacula Systems SA
– Port Bat to Windows                       — Bacula Systems SA
– Linux Bare Metal Recovery USB Key         — Bacula Systems SA
– bconsole Timeout Option                   — Bacula Systems SA
– Many Important Changes                    — Bacula Systems SA and others
– Big backport from Bacula Enterprise       — Bacula Systems SA

3.0.0 28Dec08
– Accurate Backup                           — Bacula Systems SA
– Copy Jobs                                 — Bacula Systems SA
– ACL Updates and Extended Attributes
– Virtual Backup                            — Bacula Systems SA
– Implement 64 bit Windows Client           — Bacula Systems SA
– Duplicate Job Control                     — Bacula Systems SA
– TLS Authentication                        — Bacula Systems SA
– bextract non-portable Win32 data          — Bacula Systems SA
– State File updated at Job Termination
– MaxFull/DiffInterval                      — Bacula Systems SA
– Honor NoDumpFlag & ExcludeDirContaining
– Bacula Plugins                            — Bacula Systems SA
– Microsoft Exchange 2003/2007 Plugin       — Bacula Systems and
                                               Equiinet, Ltd.
– Many Additional Smaller Features          — Bacula Systems SA

The Hidden Cost of Creating Open Source Code

Just because it is called open source (or Free Software), that doesn’t mean that it is free, and it doesn’t mean that it didn’t cost anything to develop it.  In particular, I would like to explain what open source means to me and what it has personally cost me, but please permit me to start from the beginning.

I wrote my first computer program on an IBM 1401 in the basement of the physics building on the Berkeley campus of the University of California in 1961. That lead to other programs on their “mainframe”, and IBM 7094 located in the Berkeley Computer Science center.  Later while at the University of Maryland, I programmed on a Univac 1108 machine both by batch operations with punched cards and on 110 baud teletype machines.  On day, I noticed that every time I did a particular operation, the machine crashed, so I went to the computer science center and told them that I was crashing their machine.  They did not believe me, but they did put me on a terminal and asked me to do my thing, which of course crashed the machine.  After everything calmed down (a lot of guys running all different directions when the machine crashed), they told me not to do that again because we were in final exams and usually there were 100 students at a time using the machine.  They also offered me a job, which I accepted — that was in 1971. 

Guess what my first project was?  Well if you didn’t guess, it was running, correcting, and enhancing their backup program that was called “Secure”.  Now in those days, backups were done as they still are at 2am in the middle of the night, but if something went wrong, I was called to come in, so very quickly, I learned how to stabilize an unstable program (all in assembly language) and how to modify and test it in a way that I could be sure that it wouldn’t crash. Note, all the code that I wrote while at the University of Maryland (quite a lot) was “open source” in the sense that it was freely available on request and could be used by anyone.

To keep the story from being too long, from there in 1978, I went on to work for Bechtel Power company in San Francisco where I was responsible for backups, performance, upgrades, facilities, capacity planning for their large mainframes  (Sperry Rand and IBM).  Finally in 1982, I went to work for my own startup company, Autodesk, where I helped create a computer aided drafting (CAD) program named Autodesk.  I finally left Autodesk definitively in late 1995.  After that, I continued working doing small programming projects on my Solaris computer and experimented with Windows, but I was looking for something better, and in 1996, I started working with Linux on PC machines learning how  to use open source and setup my own server.  After a year or so of learning, my first major project was APCUPSD, a UPS monitoring program.  By late 1999, I was looking for a larger program, so I started my own project named Bacula.  After two years of building the basic components, I released it under the GPLv2 license to Source Forge in April of 2002.

With all that said, I would now like to get to the costs of writing open source.  First, it should be quite obvious that to create a project the size of Bacula, one must spend many hours programming, documenting, debugging, and helping people use the program.  In addition, for a program like Bacula, you need tape drives, autochangers, fibre optic networks, multiple computers of various architectures, …  At one point, I calculated that in cash outlay mostly for hardware, I spent about $8,000 per year.  This did not include the electricity, printers, ink, paper, and everything else it takes to run computers.  This is not an enormous amount, but since the project has just now finished its 14th year of existence, a quick calculation shows that the out-of-pocket expenses to me have probably amounted to $112,000.  Over the same 14 year period, donations amounted to $5,000 — thanks to all who donated. 

I suspect that for other similar open source programs the costs were similar.  So, open source is not free.

In 2007, I realized that in order to ensure the future of Bacula, I would need to either find a corporate sponsor or create a company that could carry on the project and ensure that it was properly funded, and even hire people to work on it.  In the end, in July of 2008, Bacula Systems SA was created by myself and 7 other founders, all of whom put their own money into the company to create the CHF 450,000 of working capital that would ensure that the company could function. The concept was to offer service for Bacula and to contribute a certain amount of development to Bacula.  As a consequence, it was 100% open source — that is in 2008 the Bacula Enterprise source was publicly available, and all the fixes and enhancements that Bacula Systems created went directly into both the community and enterprise versions, which were identical.

The problem is that Bacula was designed for large enterprises, not for small business.  A small business (for example a doctor’s or dentist’s office)  will generally have only one or two computers and can do backups with a very simple program that simply backs up to a CDROM.  While Bacula is not a simple program in addition, requires a Linux system, a network, and usually something like a tape drive or an autochanger for backups.

This meant that even if the Bacula Enterprise code is free, small businesses were not interested, and large companies, are reluctant to work with a new small company such as Bacula Systems was at the time, or they already had the technical means to take the open source software and use it.   Since the Bacula community provides a lot of help and bugs were quickly fixed, there were not many customers for Bacula Systems.  

By 2011,  since much of the Bacula Systems working capital had been spent, we realized that either Bacula Systems had to be liquidated, or we had to obtain venture capital — that is sell a part of Bacula Systems to an investor.  But no investor would invest without a different business plan that would increase the chances of success which meant differentiating Bacula Enterprise from the community code base and thus Bacula Enterprise would become open core. Between the choice of closing Bacula Systems and probably thus abandoning Bacula, for me the choice was clear.  We did find an investor who believed in this and that is why today Bacula Systems is an open core company. 

However, Bacula Systems is a bit different from most open core companies, because we will give our “proprietary” source code to customers, providing they agree not to distribute it, and we also firmly believe in open source, and contribute a significant percentage of what Bacula Systems produces to the Bacula community version, including all bug fixes.  Contributing back to the community has been a part of Bacula Systems from the very beginning, and though it slowed down a bit from 2010 until the end of 2012 while the differentiation process was getting started. Recently Bacula Systems, went farther and worked with the FSFE to create an agreement whereby Bacula Systems formally states that it will contribute all its development, not bound by a third-party proprietary agreement, to the Bacula community version within a maximum of 5 years delay.

Coming back to the question of cost.  It turned out that the Bacula Systems founder (one of eight) who was supposed to be the CEO of the company was an excellent Business Development person with some skills in Marketing and Sales, but he found it difficult, if not impossible to be a CEO, and due to his personality and background could never survive as a CEO of Bacula Systems. The company offered him a Business Development position, but he decided he preferred to leave if he could not be CEO.  To make this work, we had to buy him out — that meant that myself and the principal investor had to put up a significant amount of money to re-purchase his Bacula Systems stock.  So for me, developing open source at this point became very expensive, but if I started over again, I would do the same thing.

Bacula Status Report

Hello,

I would like to speak to you about the following points:

1. The rumors of the death of Bacula (the Community version)
2. Bacula Systems and the FSFE (Free Software Foundation Europe)
3. The future of Bacula (the Community version)

1. The rumors of the death of Bacula (the Community version):

I borrow words from a quote of Mark Twain : The rumors of the death of Bacula are highly exaggerated!

I began working on Bacula 14 years ago (in January 2000), and it has been Open Source from the time it was publicly released in April 2002, and it will remain Open Source. I have been and am fully devoted to Open Source, and in particular to Bacula, which is like my “baby”.

I did inform the Bacula Community several years ago that my personal participation in Bacula would decrease a bit for several years to allow me to focus more on getting Bacula Systems started. In my opinion, that has not been a serious disadvantage for the Bacula project since Bacula Systems over that period has contributed far more code to Bacula than I could have alone over the same period, and as you will see a bit later in this status report, Bacula Systems contributions are absolutely guaranteed to continue in the long run, and even increase.

2. Bacula Systems and the FSFE:

If you have been a long time Bacula user you may recall that I discussed the possibility in 2006-2007 of creating a company, now called Bacula Systems, to ensure the continuation of Bacula when I will no longer be able to personally contribute – say in 10 or 20 years, as well as to provide the financial means to add high-end features to Bacula (a fibre channel network costs about $50K to set up). Much to my surprise 95% or more of the responses I got were very positive. Bacula Systems was created in July 2008, and for the first two years, the Enterprise code base and the Community code base were identical. Unfortunately, that didn’t work financially for Bacula Systems. Companies willing to pay, were willing to pay for features and support but not support alone, so Bacula Systems embarked on development to continue maintenance and improvement of Bacula while at the same time creating mostly plugins to add differentiation to the Enterprise version.

Now this may not sound very Open Source to you, and I understand, because I feel the same way. Were it at all possible, I would give you all of Bacula Systems code, unfortunately, that is not economically feasible at the current time, and yet without Bacula Systems, I fear the Bacula project will die or worse yet fall into the hands of someone incapable of maintaining the high quality we have created.

In mid-2013, Bacula Systems and I began discussions with the FSFE on how to guarantee the long-term survival of Bacula. These discussions, extremely positive on both sides and all points, recently lead to a formal written agreement between myself, Bacula Systems, and the FSFE. There are a number of points in the agreement, but probably the most important of all is that Bacula Systems has now put in writing that it is an Open Source company (at its heart), as it has always proclaimed, and will contribute all the Enterprise code it creates to the Bacula Community code base within at most a 5 year period. One exception is that Bacula Systems is legally unable to contribute certain code encumbered by third-party proprietary license. The 5 year delay gives Bacula Systems the chance to develop Enterprise features that differentiate it, but ensures the continual growth of the Bacula Community code. This model can possibly be used across the industry to ensure the future of open source software in an environment where development costs, particularly for hardware to do testing, are prohibitive to the standard models of today.

5. The future of Bacula (the Community version):

If you have read section 4 above, hopefully if you were not already convinced that Bacula is alive that you can now see that it will have a long and successful future ahead of it. If you have any doubts, please do not hesitate to either send me an email on the bacula-users list or directly to me (if you want it private). Hopefully, by mid-December I will have a blog setup (need a major upgrade of bacula.org to do so), and I will then fill you in on what next to expect in Bacula.

Thank you for contributing to and/or using Bacula …

Best regards,
Kern

We have released Bacula Version 5.2.11 to Source Forge

We have released Bacula Version 5.2.11 to Source Forge

Version 5.2.11 version is a bug fix release.

As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.11
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Important changes since last release:
– A new bpluginfo utility tool
– Make dump_resource respect console ACL’s (security fix)
– Add chio-changer-openbsd submitted in bug #1903
– Important Copy job bug fixed.

10Sep12
– Add JobId to SD debug output
– Commit batch session every 800,000 files
– Simplify safer delete code using a single regex
– Clean up error message generation during update attributes — should fix
#1823
– Eliminate heartbeat error messages. Fixes bug #1925
– Apply patch from bug #1911 to implement –with-logdir
– Add chio-changer-openbsd submitted in bug #1903
– mysql database install/update scripts patch. Fixes bug #1901
– Delegate uid/gid changing to systemd. Fixes bug #1905
– Fix bug #1906
– Fix manpage errors, fixes bug #1907
– Final fix for #1859 missed one query.
– bpluginfo – Utility tool display various information
– Backport more master code
– Fix Makefile.in so that testfind builds with acl dependency – Make dump_resource respect console ACL’s (security fix)
– backport code from master
– Fix #1923 about MySQL 4 support for BVFS
– Fix #1902 about bad status slots output
– Fix Sigma Copy bug #4377
– Fix bsmtp
– Reset bsmtp to only send to IPv4 mailhosts.

Bugs fixed/closed since last release:
1823 1859 1901 1902 1903 1905 1906 1907 1911 1923 1925 4377

We have released Bacula Version 5.2.10 to Source Forge

We have released Bacula Version 5.2.10 to Source Forge

General:

The 5.2.10 version is a significant bug fix release including
our first cut of AFS support.
Please note that with this version of Bacula, during the install
of the shared libraries from the src/cats, src/lib, and src/findlib
directories, any old Bacula libraries in the installation
destination directory will be removed.  This should not cause
any problems and at least keeps the installation library cleaner.

For packagers, if you change options, naming, and the way
we link our shared object files, as at least one of you does,
you are creating a situation where the user may not be able
to run multiple versions of Bacula on the same machine, which
is often very useful, and in addition, you create a configuration
that the project cannot properly support.

If you are upgrading from a version older than 5.2.9, please
read all the old ReleaseNotes of all versions released
after the version you are upgrading from. There area
many important notices sumarized here, and we do not
repeat them each bug fix release.

Compatibility:

As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.9
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Major changes since 5.2.9:
– IPv6 networking should work correctly now
– SQL Counter problems resolved
– Bat hanging after running a number of jobs
– dbcheck rw_writelock problem
– Windows VSS restore bug

New Feature:
– Add rudimentary support for backing up AFS

28Jun12
– Add extra test for unsupported Protocol Families.
– Fix inet_pton call.
– Real fix of bug #1897 5.2.9 breaks IPv6 connectivity
– Fix bug #1891 wrong daemon name printed with -? option
– Fix bug #1859 INSERT INTO Counters fails
– First try at fixing bug #1897 5.2.9 breaks IPv6 connectivity
– Convert write_rec_to_block() to a state machine
– Fix bat from eating all Dir connections — fixes bug #1872
– Back port fixes from BEE to fix Windows restore bug #1892
– Add block checksum flag to version.h
– Add block checksum debug code
– Fix bug #1893 dbcheck -B gives rwl_writelock error.
– Remove restriction of network buffer size being multiple of a tape block
– Add rudimentary support for saving AFS acls.
– Send level before the fileset in estimate_cmd() like in backup()

Bugs fixed/closed since last release:
1859 1872 1891 1892 1893 1897

We have released Bacula Version 5.2.8 to Source Forge

We have released Bacula Version 5.2.8 to Source Forge

This release is identical to release 5.2.8, with the exception
that the patch:

“Apply readline without TERM_LIB dependency patch from bug #1871”

has been removed because it is not portable to all systems or
versions of readline.

;;;;

Kern;;;10 June 2012 at 12:04 CET

Release Notes for Bacula 5.2.8

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–
The 5.2.8 version is a bug fix release.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Please note that with this version of Bacula, during the install
of the shared libraries from the src/cats, src/lib, and src/findlib
directories, any old Bacula libraries in the installation
destination directory will be removed.  This should not cause
any problems and at least keeps the installation library cleaner.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For packagers, if you change options, naming, and the way
we link our shared object files, as at least one of you does,
you are creating a situation where the user may not be able
to run multiple versions of Bacula on the same machine, which
is often very useful, and in addition, you create a configuration
that the project cannot properly support.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you are upgrading from a version older than 5.2.7, please
read all the old ReleaseNotes of all versions released
after the version you are upgrading from. There area
many important notices sumarized here, and we do not
repeat them each bug fix release.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.8
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Changes since 5.2.7:
——————–

10Jun12
– Apply readline without TERM_LIB dependency patch from bug #1871
– Ensure cancel status is set for canceled duplicate jobs — partial fix fo
bug #1851
– Enhance Win32 error messages — fixes bug #1879
– Apply patch from bug 1876 to permit dot commands in a runscript
– Remove config variables from examples/devices fixes bug #1884
– Add more debug code for bug 1885
– Add more debug to block.c when read rejected
– Fail job that attempts to read from closed device — reported in bug 1885
not fixed
– Detect Python 2.7 fixes bug #1888
– Apply systemd patch from bug #1886
– Rewrite some SD subroutines as class members
– New overhaul of xattr code.
– Use IPPROTO_TCP for SOL_TCP if SOL_TCP isn’t defined.
– Fix compiler warning.

Bugs fixed/closed since last release:
1851 1871 1879 1884 1886 1888

We have released Bacula Version 5.2.7 to Source Forge

Release Notes for Bacula 5.2.7

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–
The 5.2.7 version is a significant bug fix release. (The
diff file between 5.2.6 and this one is over 25,000 lines).

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Please note that with this version of Bacula, during the install
of the shared libraries from the src/cats, src/lib, and src/findlib
directories, any old Bacula libraries in the installation
destination directory will be removed.  This should not cause
any problems and at least keeps the installation library cleaner.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
For packagers, if you change options, naming, and the way
we link our shared object files, as at least one of you does,
you are creating a situation where the user may not be able
to run multiple versions of Bacula on the same machine, which
is often very useful, and in addition, you create a configuration
that the project cannot properly support.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you are upgrading from a version older than 5.2.7, please
read all the old ReleaseNotes of all versions released
after the version you are upgrading from. There area
many important notices sumarized here, and we do not
repeat them each bug fix release.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Changes since 5.2.6:
——————–
02Jun12
– Correct Qt version needed for bat
– Turn on SD deadlock detection by default
– Fix bug #1880 ltdl.m4 missing for new feature.
– Fix bug #1870 GNU binutils-gold build failure.
– Add new empty netinet/tcp.h so Windows compile works
– Eliminate compiler warning in stored/dircmd.c
– Fix TCP Heartbeat code
– Align conio.c struct at 8 bytes to fix Sparc bus error.
– Fix get_basename() — rewrite
– Apply James’ exchange-fd.c regression fix
– Add first Dutch translation
– Ensure that StorageId is updated after write
– Fix updating of cached slots + error message numbering
– Remove old shared objects before install
– Add missing dummy bVarPrefixLinks variable retrieval.
– Fix mysql config for older versions of mysql+config.
– Fix problem in BVFS with concurrent queries
– Add more checks to bvfs
– Try to use multi-row insert statements for mysql.
– On some platforms intptr_t is in an other include file.
– Add support for fcntl(fd, F_CLOSEM) to close filedescriptors.
– Use closefrom if available instead of trying to close fds ourself.
– Fix class member shadowing.
– Move storages tls initialization to proper place.
– Fix Copyright on init scripts suse, add specific daemon user & group
– Add support for new POSIX getaddrinfo interface.
– Apply MSQL detection fixes from bug #1829
– Fix bug #1805 cannot specify hostname in ./configure
– Fix restore_job restore keyword
– Allow plugin to backup a directory
– Print seconds in schedule time as noted in bug #1854
– Fix #1857 about restore cd command that blocks on empty directory
– Backport new StorageId code
– More definitive fix for update slots bug
– Fix #4062 on make_catalog_backup.pl script when user/password are empty
– Fix bug #1853: bacula-sd dead but pid file exists.
– Fix bug #1841 estimate command level=differential goes wrong in accurate
mode.
– Fix bug #1842 Incorrect port number reported
– Fix bug #1848 bsock.c:335 Socket has errors=1 on call to client
– Force the re-initialization of BaseJobOpts, AccurateOpts and VerifyOpts
between two Include{}

Bugs fixed/closed since last release:
1805 1829 1841 1842 1848 1853 1854 1857 1870 1874 1880 4062

We have released Bacula Version 5.2.6 to Source Forge

We have released Bacula Version 5.2.6 to Source Forge

Release Notes for Bacula 5.2.6

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–
The 5.2.6 version is a bug fix release.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you are upgrading directly from 5.0.3 to this version, please see the
important notices below for version 5.2.3, particularly
the database upgrade and the difference in packaging the
SQL shared libraries.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you store .bsr or .mail files in the Bacula working
directory, please be aware that they will all be deleted
each time the Director starts.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

New Feature:
– The restore tree cd command accepts wild cards within each
part of a path. Wild cards apply only to a single part at a
time: i.e. cd a*/b*/xx* will match abc/bcd/xxfxx
but */xx* will not match the above filename.

Changes since 5.2.5:

17Feb12
– Fix old exchange-fd plugin Accurate checkFile code.
– Insert the slot field as a numeric field.
– Fix #1831 by dropping the table before creating it
– Make cd accept wildcards
– Remove bad optimization from Accurate code
– Lock read acquire in SD to prevent to read jobs getting the same thing
– Implement more robust check in other drives for tape slot wanted
– Fix lost dcr point — memory loss in Copy/Migration + possible confusion
– Ensure that bvfs SQL link is not shared
– Fix error printing in acl and xattr code.
– Backport better error debug output for sd plugins.
– Add wait on bad connection for security
– Make mtx-changer more fault tolerant
– Fix 32/64 bit problems in SD sscanf commands
– Skip certain filesystem types on some platforms.
– Allow BVFS to browse and restore Base jobs
– Add error message to .bvfs_clear_cache command
– Fix plugin bug with multiple simultaneous jobs

Bugs fixed/closed since last release:
1831

We have released Bacula Version 5.2.5 to Source Forge

Release Notes for Bacula 5.2.5

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–
The 5.2.5 version is a bug fix release.

Please note there was a seemingly innocent patch made to
version 5.2.4 that had rather serious negative consequences
on restarted jobs.  Anyone using restarted jobs should upgrade
from 5.2.4 to 5.2.5.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you are upgrading directly from 5.0.3 to this version, please see the
important notices below for version 5.2.3, particularly
the database upgrade and the difference in packaging the
SQL shared libraries.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you store .bsr or .mail files in the Bacula working
directory, please be aware that they will all be deleted
each time the Director starts.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Changes since 5.2.4:

25Jan12
– Disable usage of JS_Warning waiting for a more complete implementation
– Removed old sd plugins which doesn’t work anymore.
– Adapt sample-query.sql for Warning job status
– Fix location of Qt dlls for Win64 build
– Fix MediaView::getSelection

Bugs fixed/closed since last release:
1824 (1814 1806 1818 non-bugs)

We have released Bacula Version 5.2.4 to Source Forge

We have released Bacula Version 5.2.4 to Source Forge

Release Notes for Bacula 5.2.4

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–
The 5.2.4 version is an bug fix release.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you are upgrading directly from 5.0.3 to this version, please see the
important notices below for version 5.2.3, particularly
the database upgrade and the difference in packaging the
SQL shared libraries.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you store .bsr or .mail files in the Bacula working
directory, please be aware that they will all be deleted
each time the Director starts.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Most important changes since 5.2.3:
– Fix LZO detection so that it correctly detects presense of header
files.
– Switch the way we handle shared object versioning.
– Backport Enterprise spec files to platforms/rpms
– Switch to using Qt 4.7.4 (you must download new
depkgs-qt-24Dec11.tar.gz
– Update depkgs to depkgs-24Dec11.tar.gz
– Enhancements to File daemon and Storage daemon plugins
– Compiler warning cleanups
– xattr fixes
– Cleanup old files in the working directory when the Director starts

Changes since 5.2.3:

18Jan12
– Prepare for adding IPv6 to Windows in the future
– Fix bug #1822 Schedule run line parsing fails if value is keyword
– Revert to 5.0 size computation in accurate elements, may fix #1821
– Mark that a file was found in the accurate list in the ff_pkt with a
variable
– Definitive fix for MySQL MaxValue problem bug #1810
– Initialize delta_seq to -1 because 0 means that we have already a version
– Adapt bfileview for bvfs tables
– Set job status to running when restore job really starts
– Remove ifdeffing that turned off JS_Warning status — must have been miss
test code
– Add support for soname setting in libtool.
– Fix bug #1815
– Fix systemd pid files.
– Limit migration/copy jobs to starting 100 at a time
– Avoid conflict with PAGE_SIZE define
– Send previous Job name during Incremental/Differential to the FD
– Fix bug #1811 Filed fails to backup more then one xattr.
– system.posix_acl_default is also an acl stored as xattr
– Fix bug #1807
– Add configure for new redhat spec files
– Backport Enterprise spec files
– Fix bad memset() reported by clang
– Test new plugin function in bpipe and test plugin
– Try to fix openssl problem with signal
– Add BSOCK::set_killable()
– Set directory attributes when using Replace=Never when Bacula creates the
– Use RestoreObject type in Catalog
– Add new features in plugin
– Add helper for ini files
– Implement run accurate=yes/no
– Add .bvfs_clear_cache
– Add Accurate and MaxRunSchedTime in Schedule resource
– Fix bug #1802 configure code to detect LZO is broken
– Fix bug #1806 failure to save second and more xattr.
– Add second xattr to show bug 1806
– Fix seg fault in plugin event loop
– Fix #3210 about slow restore with bvfs

Bugs fixed/closed since last release:
1802 1806 1807 1810 1811 1815 1821 1822 3210

We have released Bacula Version 5.2.3 to Source Forge

We have released Bacula Version 5.2.3 to Source Forge

Release Notes for Bacula 5.2.3

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–
The 5.2.3 version is an bug fix release.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you are upgrading directly from 5.0.3 to this version, please see the
important notices below for version 5.2.2, particularly
the database upgrade and the difference in packaging the
SQL shared libraries.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.3
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Changes since 5.2.2:

– Revert patch from Ben to not compress man pages on Solaris fix #1801
– Fix bug #3322 don’t poll when operator is labeling tapes
– bvfs: Fix mysql REGEXP operator
– Fix Mysql 5.5.18 symbol lookup
– fix utf8/iso8859 problems
– Fix #3419, update stats problem
– Fix cats_test to use the new method names.
– Update accurate code to use 1 byte instead of 3
– Fix segfault in accurate code
– Fix compilation warning on FreeBSD

Bugs fixed/closed since last release:
1801 3322 3419

We have released Bacula Version 5.2.2 to Source Forge

We have released Bacula Version 5.2.2 to Source Forge

Release Notes for Bacula 5.2.2

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–
The 5.2.2 version is an important bug fix release. It contains also some
additions and performance improvements.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
If you are upgrading directly from 5.0.3 to this version, please see the
important notices below for version 5.2.1, particularly
the database upgrade and the difference in packaging the
SQL shared libraries.
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.2
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Changes since 5.2.1:
—————–
– Implement -t option for Bat
– Require correct Qt version 4.6.2 or later to build bat
– Get new lib/plugins.h
– Pull new SD plugin files from Master
– Fix script to set mode of cats scripts
– Add Systemd configure options
– Split messages line by line before sending it to syslog() fix #3325
– Fix bvfs_restore on MySQL
– Fix #3308 where a SMTP problem can block the director
– Change locking scheme of the mountpoint cache.
– Enhance mountcache with rescan option after interval.
– Add %D option to edit_job_code, simplify callbacks on director side
– Move Zdeflate and Zinflate to seperate file.
– Put libraries in the correct order for non shared libs.
– Remove last traces of @SQL_BINDIR@ and @DB_TYPE@
– Fix bug #1774
– Move batch insert detection into db.m4
– bat: try to fix offset button problem when clicking too much on previous
– bvfs: Use single transaction for each job during update
– Add missing bwild & bregex man8 pages
– Fix compilation issue of wx-console #1778
– bvfs: fix filter for pattern= bvfs parameter
– Improve speed of BVFS with SQLite, Thanks to J.Starek
– bvfs: add clear_cache function
– bvfs: Handle windows drive when building path hierarchy

Closed Bugs Since 5.2.1
———————–
1774 1778 3308 3325

We have released Bacula Version 5.2.1 to Source Forge

We have released Bacula Version 5.2.1 to Source Forge

Release Notes for Bacula 5.2.1

Bacula code: Total files = 1,110 Total lines = 231,439 (Using SLOCCount)

General:
——–

This 5.2.1 version is a major release since the last version 5.0.3.
It includes well over 299,387 lines of changes made by 20 contributors,
lots of bug fixes (see below), 1,851 software commits,and a
number of important new features:

Version 5.2.0
————-
Version 5.2.0 was short lived, because Marco (thanks) found
a number of last minute bugs. So the first official release of 5.2
is 5.2.1.

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.2.1
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Main New Features:
——————
– LZO Compression
– New Tray Monitor
– Purge Migration Job
– Changes in Bvfs (Bacula Virtual FileSystem)
– Changes in the Pruning Algorithm
– Ability to Verify any specified Job
– Additions to RunScript variables
– Additions to the Plugin API
– ACL enhancements
– XATTR enhancements
– Class Based Database Backend Drivers
– Hash List Enhancements

Some of the above are described below; all the above are
described in more detail in the New Features chapter of the
manual.
Closed Bugs since 5.0.3:
———————
1389 1444 1448 1466 1467 1468 1476 1481 1486 1488 1493 1494 1497 1499 1501
1502 1504 1509 1511 1513 1516 1524 1526 1527 1532 1536 1538 1541 1542 1549
1551 1553 1554 1558 1559 1560 1564 1567 1568 1569 1571 1574 1577 1581 1582
1584 1587 1594 1595 1600 1601 1602 1603 1604 1606 1608 1610 1612 1623 1624
1633 1643 1648 1655 1661 1664 1666 1669 1672 1675 1684 1685 1695 1696 1699
1700 1703 1735 1741 1749 1751 1761 1762 1764 1768 1770 1771 2710

================== Warning !!!!!! ==========================

The new pruning algorithm will not allow pruning of jobs that are essential
restore since the last Full backup. This is, of course, correct and desirab
but it is different from older Bacula versions that could inappropriately
prune jobs. Pruning of volumes is not affected.

Building Bat:
————-
To build Bat, you need Qt4 version 4.6.2.  If you build with any other
version it is likely not to work.  If you do not have version 4.6.2, on
your system, you can download the Bacula depkgs_qt version 16Dec10.

Packaging the SQL backend:
————————–
The main Bacula Director code is independent of the SQL backend
in this version. This means that the Bacula Director can be packaged
by itself, then each of the different SQL backends supported can
be packaged separately.  It is possible to build all the DB backends
at the same time.

– configure can be run with multiple database configure options.
–with-sqlite3
–with-mysql
–with-postgresql

Order of testing for database is
– postgresql
– mysql
– sqlite3

Each configured backend generates a libbaccats-<backend_name>-<version>.so
A dummy catalog library is created named libbaccats-version.so

At configure time the first detected backend is used as the so called defaul
backend and at install time the dummy libbaccats-<version>.so is replaced wi
the default backend type.

If you configure all 3 backends you get 3 backend libraries and the postgres
gets installed as the default.  When you want to switch the default you can
copy one of the 3 backend libraries over the libbaccats-<version>.so e.g.

cp libbaccats-postgresql-<version>.so libbaccats-<version>.so

And update the default backend in the following files:

create_bacula_database
drop_bacula_database
drop_bacula_tables
grant_bacula_privileges
make_bacula_tables
make_catalog_backup
update_bacula_tables

New Catalog format in version 5.2.0 and greater
———————————————–
This release of Bacula uses a new catalog format. We provide a set of
scripts that permit to convert a 5.0.x (version 12) catalog to 5.2.1 (versio
14).  The Bacula project rpm spec files have been modified to
detect the database change and do the upgrade for you.  We strongly
recommend that you save a copy of your existing database before upgrading
using rpms.

The simplest way to upgrade the database assuming you are building from
source (i.e. manually):
1. Stop any current version of Bacula from running.
2. Save a copy of your existing database.
3. Configure, build, and install the 5.2.1 version of Bacula
Note the new ./configure options in the manuals see the link
at the bottom of this file.
4. cd <your-scripts-installation-directory>
5. ./update_bacula_tables
6. If you have multiple catalogs, edit the update_bacula_tables
script and put the name of another database, and then
execute the script again. Repeat this until all Bacula
catalogs have been updated.
7. Start the new Bacula.  If everything worked, it should
not print any error messages.
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.
(e.g.  3.0.3) then you need to run the update_bacula_tables script 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, and when you do running it, be sure shutdown Bacula and be
aware that running the script can take some time depending on your database
size.

================================================================

Changes:

Speed and Memory Usage Enhancements:
– Implement LZO compression algorithm (need lzo2 headers to activate this op
– New Pruning algoritm — safer and faster
– Use of PostgreSQL cursor when doing large queries, should reduce the
memory usage during restore and accurate backups.
– limit command in some list commands
– Bacula Virtual File System for fast catalog access
– Faster crc32 algorithm

Security Enhancements:
– Additional security against injection of illegal characters
– Fix possible fnmatch problem

Features Enhancements:
– Improvements in ACL and xattr handling on additional platforms:
AIX, Darwind, FreeBSD, HPUX, IRIX, Solaris, Tru64
– Tray monitor for Windows
– New SQL backend and ./configure that permits building multiple catalog
backends in one build, and has the main Bacula core code totally independe
of the SQL backend, which should simplify packaging (only the
libbacsql.so/dll needs to be changed to switch from one database backend
to another (e.g. MySQL to PostgreSQL).
– Indent lsmark during restore
– Disable batch insert config item
– Director selection option in bconsole
– restorejob command in bconsole
– Many additional features for bat such as “brestore” panel
– The old bat version browser has been turned off since it does not
work correctly and the brestore panel provides the same functionality
– Improved hash table for hard links
– Additional script variable editing such as %b (JobBytes), %F (JobFiles)
and %h (Client Address)
Other Enhancements:
– Includes better handling for Windows repares points, mount points, and
junction points.
– New database format
– Many new plugin API features
– Improved memory handling for restores
– Significant stability enhancements to bat
– xattr/ACL restore failure are now printed as Warning
– A few path name length limits in Windows have been removed.

We have released Bacula Version 5.0.3 to Source Forge

This 5.0.3 version is significant bug fix update to version 5.0.2.
It includes new code and some new features.
There is no database change since prior versions of 5.0.

Note, if you are running 5.0.0, read the 5.0.1 and 5.0.2 release notes below in
the 5.0.1 release section.  Important!!!

Compatibility:
————–
As always, both the Director and Storage daemon must be upgraded at
the same time.

Older 5.0.x and 3.0.x File Daemons are compatible with the 5.0.3
Director and Storage daemons. There should be no need to upgrade older File
Daemons.

Changes and New Features:
– If a VSS (Windows) snapshot fails, the whole Job is failed, previously
it printed a warning message and continued.
– New editing codes %b = Job Bytes and %f = Job Files for runscripts
– Any non-Bacula project plugins (i.e. third party plugins)
must be upgraded to specify AGPLv3 in place of the GPLv2 used previously
for the PLUGIN_LICENSE.
– The bat Media page text columns can be sorted by clicking on the column.
– If possible, the SD will automatically update the catalog Volume size if
it does not match the Volume size. The mismatch between the Volume sizes
typically occurs when the FD has a comm line drop or the FD crashes.

Bug fixes
1538 1554 1564 1567 1568 1569 1571 1577 1581 1582 1587 1594 1595 1606 1610

– Change license from GPLv2 to AGPLv3
– Make Win32 no filesystem change more explicit
– Backport Branch-4.0 release to Branch-5.0
– Massive backport from Branch-5.1 to Branch-5.0
– Fix postgresql catalog creation when version is not on the first line
– Fix bug #1610 handle empty xattr values on Linux and xBSD.
– Garbage collect memory pool at end of job and before sm_dump
– Add xattr seg fault protection suggested by Marco for bug #1610
– Add archlinux to os.m4
– More fixes for 32/64 bit problems in smartall
– Fix 32/64 bit problem in smartalloc dump routine
– Fix bad copy/paste in commit c88dccb88 prably a seg fault
– Add .dump and .exit commands for daemons
– Make SD automatically fix the Volume size in the Catalog when out of sync
– Use Pmsg in smartall.c rather than printf for tracing Windows
– Up maximum block size to 20M
– Fix for TLS bugs #1568 and #1599
– Improve comm line error handling for TLS, may fix bug #1568 and #1599
– Fix problem when sending Cancel event to plugin
– Convert all Jmsg on the watchdog thread to Qmsg
– Fix SD crash due to mismatched lock/unlock in error condition
– Fix bug #1587 if you have clients with different catalogs configured, both
catalogs contains all clients after a reload or restart of the dir
– Fix bug #1577 During migration: ERROR in block.c:950 Failed ASSERT: dev->is_open()
by moving and commenting out the ASSERT()
– Skip HB kill in FD if HB thread terminated
– Fix crash from unequal volume_lock/unlock calls
– New prunning algorithm — should be more accurate
– Save any dumps during regression to dumps directory
– Fix crash from rw_lock/unlock miss match
– Attempt to fix duplicate job kill seg fault
– Replace pthread_kill by my_thread_send_signal() in jcr.c
– fix #1595 about batch mode detection problem for postgresql with non standard
install dir
– Fix #1594 about prune copy jobs
– Apply literal string fix in printf submitted by Luca Berra
– Fix bug #1582 Restore from multiple storage daemons breaks subsequent backups
– Fix segfault on “cancel jobid=” command
– Fix bug #1554 Windows installer doesn’t honor /S flag
– Remove pool zap code that breaks 2drive-concurrent-test
– Fix #1571 and install libraries with 755 perms
– Fix bug #1581 ASSERTs in src/dird/jobq.c can never trigger
– Fix problem with BaseJob and Accurate FileSet options on client side
– Fix for bug #1569 deadlock/crash in Dir
– Fix segfault when loading Plugins
– Fix #1567 about display of long volume names truncated during restore
– Added new bacula-libs package.
– Fix bug #1538 Start Scripts return incorrect value
– Fix bug #1564 init scripts not LSB compliant

See ChangeLog for more details.