Home Screen shots License Development Download Support Change log Contact

What is BAR?

BAR is backup archiver program. I developed this program after I could not find a simple to use archiver program to create compressed and encrypted archives of my files which can be stored on a cd, dvd, or bd. While I developed the program - development is still not finished - I added some more useful features. Now I use the program to make automated backups from all my files either on dvd or directly via an Internet connection to a file server.

Features

Requirements

Screen shots (graphical front end)

Fig. 1: Status
Fig. 2: Entries
Fig. 3: Images
Fig. 4: Filters & Mounts
Fig. 5: Compress+Crypt
Fig. 6: Storage
Fig. 7: Scheduler
Fig. 8: Persistence
Fig. 9: Archive name editor
Fig. 10: Restore
Fig. 11: Restore dialog
Fig. 12: Server
Fig. 13: Servers
Fig. 14: Server logging

License

BAR is currently under GPL version 2.

Development

If you are interested to support BAR development, please contact me.
The most recent development sources can be found on GitHub.

Download

Git hash 25a: 9742839d90f7a2a128aebeb0209cff4dc435e9af

System Version Package sha256sum Install test on
Sources 25a backup-archiver-25a.tar.bz2 c629b8876e809549d80dfa159c9e469635ef5e18505144a8c21121c051f7bd84
RPM 64bit x86 25a backup-archiver-25a-x86_64.rpm 9fc737bd9860f4acd5c1aead002d23ebcf2a88be1b249f6cb74c8a2d0372b13d CentOS8
Fedora 37
Fedora 38
Fedora 39
Fedora 40
OpenSuSE Leap 15.1
OpenSuSE Leap 15.2
OpenSuSE Leap 15.3
OpenSuSE Leap 15.4
OpenSuSE Leap 15.5
Debian 64bit x86_64 25a backup-archiver-25a-x86_64.deb 1578b0593f772a210b5c35e162f532d9710eb7dd97ec7209c87816cccee66e6c Debian 10
Debian 11
Debian 12
Ubuntu 20.04
Ubuntu 22.04
Ubuntu 23.04
Ubuntu 23.10
Debian 64bit x86_64 25a (GUI) backup-archiver-gui-25a-x86_64.deb c6ce3d32af459b60f4553529b2ade55b0481c356a6c886921b8944be35123a41 Debian 10
Debian 11
Debian 12
Ubuntu 20.04
Ubuntu 22.04
Ubuntu 23.04
Ubuntu 23.10
Windows 64bit x861 25a backup-archiver-setup-25a.exe 332e76397ef6e35ed5093d0a124fa32b72d29e80f12094798498414b6d5e4184 Windows 7
GUI only 25a backup-archiver-gui-25a.zip 15532fe7567ca67837643a5f325802e51aa446cc71c74f08bcf842285f578bb2 Linux
Windows
Manual 25a backup-archiver.pdf fe828949c949b92cdc4625244526b649df2bf94892cb34d4b35fc8830112965d

1) Windows version is experimental and may not support all features

Notes:

Contact

Any feedback is welcome. Please send an email to:

torsten.rupp at gmx.net

Support

Your support for BAR is welcome:

ChangeLog

2024-11-10 25a
  * fixed key constrain failed on database import (bug #16)
  * fixed estimated rest time for database import (bug #17)
  * fixed delete storages on (sftp-) server (bug #21)
  * BARControl: fixed exception if server return an invalid
    size value (bug #15)
  * BARControl: fixed wrong stored pane sizes (bug #14)
  * BARControl: fixed possible null-pointer-exception on
    shutdown (bug #15)

2024-10-20 25
  * removed directory aggregate data from index: hardly used,
    save space and time
  * integrated libmount to mount/umount. Used when --mount-command,
    --unmount-command are not set (empty).
  * BARControl: added test function
  * fixed execute pre/post commands: run also for slave jobs
  * fixed locking entities when adding storages to index
  * fixed handling verbose level: do not reset in service script
  * fixed start script: quotes (bug #13)
  * BARControl: fixed store of default server (bug #12)
  * fixed increment options: verbose level (bug #11)

2024-07-13 24a
  * fixed long blocking of database at clean
  * fixed upgrade database, fixed memory leak
  * test/compare/extract: reduced thread overhead if only a
    single thread is used
  * fixed duplicated error message when parsing command line
    arguments
  * fixed byte units
  * BARControl: fixed add unreadable directory content to index
  * BARControl: fixed add single archive to index

2024-05-08 24
  * added support to create PAR2 checksum files
  * integrated libisofs: create ISO 9660 images without external
    tools. Used when --(cd|dvd|bd)-image-command are not set
    (empty)
  * integrated libburn: write CD/DVD/BD without external tools.
    Used when --(cd|dvd|bd)-[write|write-image|load-volume|
    unload-volume]-command are not set (empty)

2024-03-30 23c
  * fixed macros %nextSchedule, %nextScheduleDateTime

2024-03-28 23b
  * fixed write CD/DVD/BD
  * added verify CD/DVD/BD: growisofs does not always return
    an exit code on failure. Thus read the data back which was
    just written and compare.
  * BARControl: fixed request CD/DVD/BD volume
  * BARControl: improved CD/DVD/BD messages

2024-01-27 23a
  * fixed scheduler trigger job, check time (1min instead every
    10s)
  * BARControl: fixed option --index-database-entries-list:
    also list storages
  * BARControl: added options --long-format, --no-header-footer
  * BARControl: fixed sort job list

2024-01-14 23
  * changed version number scheme: single number
  * added support for storing on Samba/CIFS server
  * added execute ECC commands for device
  * experimental Windows support!
  * convert character encoding of file names always to
    UTF-8 (required on Windows and none UTF-8 systems)
  * always store text UTF-8 encoded
  * added options --system-encoding, --console-encoding,
    --force-console-encoding
  * added macro pre/post command macros %nextJobName,
    %nextJobUUID, %nextScheduleUUID, %nextSchedule,
    %nextScheduleDateTime, %nextScheduleUUID
  * upgrade zlib 1.3
  * upgrade libidn2 2.3.4
  * upgrade nettle 3.9.1
  * upgrade c-ares 1.20.1
  * upgrade build pipeline for Debian 10
  * upgrade RPM build environment to CentOS 7
  * upgrade ICU 61.1
  * BARControl: renamed option --list -> --list-jobs
  * BARControl: added option --list-schedules
  * fixed image pre/post commands for CD/DVD/BD
  * fixed image pre/post commands for device
  * fixed bar-index --pipe
  * fixed reserved keyword in MariaDB: offset
  * fixed undefined value when update aggregates
  * fixed format .bid filename
  * fixed bar-index pipe: do not create tables/indizes
    if --create and pipe option is given

2023-07-01 0.22h                                                                                                    
  * fixed wrong database entry for special files (type)                                                             
  * fixed database patterns: * and empty                                                                            
  * fixed wrong locking on restore                                                                                  
  * bar-index: fixed wrong counted lost entries without                                                             
    fragments                                                                                                       
  * log crashes into log file                                                                                       
  * avoid overflow of internal error history which could                                                            
    result in reporting the wrong error information
  * fixed race condition in database lock info in debug
    version
  * fixed possible infinite loop in continuous backup
  * fixed long SQLite database lock when deleting storage
  * fixed find storges in database: use database index
  * fixed remove indices by error state
  * fixed move storages to new location with PostgreSQL:
    avoid concurrent/long running database operations
  * fixed crash in slave mode (#issue 3, thanks to ChrisTG742)
  * fixed WebDAV login: support port number, fixed passed path
  * added option --webdav-port
  * fixed WebDAV chunked download
  * fixed WebDAVS
  * fixed possible infinte loop when delete expired entities
  * fixed store restore tree/table column width
  * fixed store restore pane sizes
  * fixed schedule date/time with day light saving: avoid
    invalid date/time
  * fixed ssh login: try key+password
  * fixed add storages to index: support ftp/sftp/webDAV.
    fixed name in index
  * fixed SFTP file/directory type+permissions
  * fixed assign entity to another entity
  * BARControl: added option --info
  * BARControl: fixed list directory entries on insufficient
    permission
  * BARControl: fixed option --index-database-add: match
    pattern
  * BARControl: fixed sort file tree items by type/size/
    date+time
  * BARControl: fixed display of included/execluded entries
    via pattern
  * BARControl: fixed error handling when slave is in
    disconnected state
  * BARControl: added tooltip for total entries
  * BARControl: fixed clone job and update view
  * BARControl: fixed file requester if job is unknown
  * BARControl: added source for storage add to index
  * BARControl: fixed update storage tree view

2023-04-16 0.22g
  * BARControl: fixed update job sate in dry-mode (issue #2,
    thanks to ChrisTG742)
  * fixed error handling WebDAV access
  * fixed test run on Jenkins

2023-03-11 0.22f
  * fixed error message: no space left on device
  * improved find storage files: skip unreadable directories
  * bar-index: fixed remove duplicate storages
  * bar-index: fixed MariaDB functions
  * bar-index: fixed option --tmp-directory
  * bar-index: improved tests
  * BARControl: fixed edit serve maintenance time (locale)
  * BARControl: fixed update file lists
  * BARControl: fixed update restore dialog

2023-01-15 0.22e
  * fixed PostgreSQL memory consumption: use single
    row mode
  * fixed memory leak

2022-12-25 0.22d
  * fixed memory leak in PostgreSQL API call
  * add missing lock slave list
  * fixed valgrind warning
  * fixed format error messages with arguments
  * fixed format some log lines
  * fixed full-text-search matching for SQLite
  * fixed SQLite database locking when new storage
    is inserted
  * fixed configuration issue handling: report as
    error
  * fixed memory leak in --transform

2022-11-15 0.22c
  * fixed trigger pairing thread
  * fixed memory leaks

2022-11-06 0.22b
  * fixed slave mode: avoid reading local jobs
  * fixed typing error when deleting entries in index
  * fixed warnings
  * improved timeout messages
  * fixed print configuration error messages
  * fixed reading keys/certificates: after configuration
  * fixed write multiple configuration values
  * removed some debug code
  * BARControl: fixed update TLS state

2022-10-31 0.22a
  * disabled TLS port by default (TLS also work on
    standard port)
  * fixed/renamed archive meta field "scheduleUUID":
    become a unique entity UUID to be able to find all
    archive belonging to a backup set.
    Note: if needed, e. g. for re-import to the index,
    run the command 'convert' with new option
    --new-entity-uuid on the archives which belong to
    a single entity
  * support TLS connections to slaves
  * fixed option --job
  * fixed convert multiple archives
  * fixed add newest entry if no entry exists
  * bar-index: fixed clean orphaned
  * fixed rename entry on restore: use file name instead
    of path
  * fixed --transform: glob,regex,extended pattern types
  * fixed missing source parallel.c in source pckage,
    fixed linkage
  * fixed restart aborted job on slave (MACBAR-102)
  * fixed write change job data
  * fixed entities persistence move-to: avoid override
    existing archives, move to correct destination, auto
    rename destination archive if file already exists
  * fixed auto-index: skip macros in paths, termination
    condition
  * fixed continuous schedule: date+week days
  * fixed log message 'no server password set'
  * fixed TLS connections: reading certificates
  * fixed TLS connection certificates verification: send
    certificate chain, verify certifcates
  * added slave-tls-mode, slave-host-force-tls is now
    deprecated
  * fixed auto-index: add move-to paths for search
  * fixed lost resources in --convert
  * fixed multiple triggering of a job
  * BARConrol: fixed possible dead-lock in server
    communication
  * BARControl: added option --insecure-tls, improved
    login dialogs
  * BARControl: renamed option --key-file to --keystore-file
  * upgrade SQLite 3.39
  * upgrade zlib 1.2.13

2022-08-30 0.22
  * added support for external index database engines
    MariaDB, PostgreSQL
  * added optional move-to in persistence
  * use thread pools for client connections+worker
    threads
  * added option --test-created-archives
  * added option --sparse-files
  * added option --no-stop-on-owner-error
  * added option --server
  * added option --save-configuration: format and
    save configuration file
  * added option --clean-configuration-comments
  * added begin/end time for continuous schedules
  * place pid file into /run by default
  * implemented parallel restore
  * execute pre/post command for BAR in non-server mode,
    too
  * create log file in non-server mode if command line
    option --log-file is specified
  * rename archives: use an increasing number suffix
  * renamed bar-sqlite3 to bar-index and support MariaDB
    and PostgreSQL
  * added option --import to bar-index
  * support ssh password login
  * support webdavs
  * upgrade zlib 1.2.12
  * upgrade bzip2 1.0.8
  * upgrade MMXL 3.3
  * upgrade zStandard 1.5.2
  * upgrade gpp-error 1.45
  * upgrade gcrypt 1.10.1
  * upgrade nettle 3.7.3
  * upgrade gmp 6.2.1
  * upgrade libidn2 2.3.0
  * upgrade GnuTLS 3.6.16
  * upgrade libssh2 1.10.0
  * upgrade libidn2 2.3.2
  * upgrade libicon 1.16
  * upgrade OpenSSL 1.1.1n
  * upgrade c-areas 1.18.1
  * upgrade curl 7.77.0
  * upgrade pcre 8.44
  * upgrade SQLite 3.38
  * upgrade binutils 2.35
  * fixed reading cryption keys via config file
  * fixed CD/DVD/BD blank command: use
    "dvd+rw-format -force" to create medium in
    restricted overwrite mode
  * fixed possible dead-lock on timeout
  * fixed abort restore job if client connection is lost
  * fixed parsing permissions, fixed set permissions on
    restore
  * fixed band width calculation: use last specified
    matching date/time
  * fixed concurrent network connections handling
  * fixed pattern type for archive names
  * fixed purge entities
  * fixed clean orphaned. Note: run bar-index
   --clean-oprhaned once.
  * improved tests
  * removed support for EPM (not needed anymore)
  * BARControl: added create directory/delete file in
    file requester
  * BARControl: fixed display of entry progress: count
    done+error+skipped
  * BARControl: fixed closing tooltips
  * BARControl: fixed initial values for a new job
  * BARControl: fixed goto parent directory in file
    requester
  * BARControl: fixed storage of table columns width
  * extended documentation by "term of use"

2022-03-28 0.21m
  * fixed auto-rename archive when in slave mode
  * BARControl: fixed show and hide tooltips

2022-01-15 0.21l
  * backport option --transform
  * fixed missing unmount in non-server mode
  * fixed add schedule when GUI run with a different
    locale
  * fixed some German translations
  * fixed sorting job list in tab 'Jobs'
  * stopped supporting CentOS 32bit

2021-08-28 0.21k
  * backport added archive file mode 'rename': rename
    destination archive if exists
  * BARControl: fixed infinte loop when reading
    settings (server name history)

2021-06-27 0.21j
  * fixed dead-lock in database transaction
  * fixed burn DVD/BD: avoid error "already
    carrying iso"
  * improved logging burning CD/DVD/BD

2021-04-27 0.21i
  * fixed stored master UUID hash: use machine
    dependent hashing. Note: you have to re-pair
    master and slaves once again
  * fixed disconnect in slave mode on
    transport of large data blocks
  * fixed protocol error when starting job
    on slave
  * fixed timeout if slave job is slow
  * fixed lost resource if server cannot be
    started
  * extend default pairing time window to
    10min
  * fixed install RPM /etc/init.d/barserver
  * install do not start barserver automatically
  * fixed final compress ratio: show saved space
    from total file size/total compressed file
    size
  * BARControl: fixed list remote file list
    on slave
  * BARControl: fixed update job list on rename
    job

2021-02-16 0.21h
  * fixed lost socket handle on disconnect

2021-02-09 0.21g
  * fixed restore single directory/link/special
    file
  * fixed reading cryption keys via config file
  * fixed possible wrong base64 encoding
  * fixed not starting BAR if SSL certificate is
    expired
  * fixed possible hanging network connections
    which caused impossiblity to connect to server
    anymore
  * fixed wrong shutdown network connections
  * fixed clean index database
  * bar-sqlite3: fixed clean
  * bar-sqlite3: fixed full integrity check
  * BARControl: fixed connect menu item

2020-09-27 0.21f
  * fixed auto-index of new archives
  * BARControl: synchonous update of job data

2020-08-28 0.21e
  * fixed database constraint-error when storing
    huge files in splitted archive mode

2020-08-20 0.21d
  * fixed entity create date/time
  * fixed purge entities when creating new entity
  * fixed delete partial created entity on error

2020-08-11 0.21c
  * added configuration mainetance time windows
  * fixed duplicate special entries in archive
  * fixed purge entity, storages
  * fixed data aggregation in index database
  * fixed/improved delete log messages
  * fixed auto-import archives into index
  * fixed delete expired archives: locking
  * fixed hostname/username in index
  * fixed aggregated index data for splitted archives
  * fixed schedule UUID: use a new UUID for each
    executed job
  * fixed convert: set schedule UUID for all archives
    in a convert operation, do not change create
    date/time
  * fixed convert: temporary file
  * fixed output keys: avoid info on redirection of
    stdout
  * fixed storage of fragmented files which were
    modified
  * fixed restore single files
  * fixed restore splitted file with rename mode
  * fixed expansion of storage names with ':': escape with %:
  * fixed storage create date/time: no seconds
  * fixed storage create date/time on trigger via schedule:
    use matching schedule date/time
  * fixed possible dead-lock in index operations
  * bar-sqlite3: fixed possible crash
  * bar-sqlite3: added to-file name for vacuum
  * bar-sqlite3: fixed clean
  * BARControl: fixed version check
  * BARControl: fixed update index
  * BARControl: fixed not-assigned list
  * BARControl: fixed add storages to index from directory
  * BARControl: fixed sorting for options
    --index-database-entities-list,
    --index-database-storages-list
  * BARControl: improved assign-to context menu
  * BRRControl: fixed create date/time shown info info
  * BARControl: added option --maintenance

2020-04-29 0.21b
  * fixed version string
  * fixed missing systemd-support in Debian package

2020-04-26 0.21a
  * fixed restore single files
  * fixed number of shown storages in delete
  * improved assign-to context menu: caching
  * fixed version number: patch level

2020-04-12 0.21
  * parallel test, compare
  * fragmented and parallel processing of huge files.
    Speed-up storage of huge files
  * added meta-data chunk with host, name, UUID, created,
    comment
  * added signature chunk with public-key signature SHA512
    (see options --generate-signature-keys,
    --signature-prive-key, --signature-public-key,
    --no-signatures, --skip-verify-signatures)
  * added meta info chunk: store user name, host name,
    job UUID, schedule UUID, type, created date/time,
    comment into archives
  * hardend encryption: added salt to crypt
  * hardend encryption: use key derivation function
  * store only hash of server password in configuration file
  * support immutable, append-only file attributes
  * added Zstandard compression
  * added option --comment
  * added option --info
  * added option --generate-keys-mode
  * added option --directory, -C
  * added option --convert
  * added option --no-stop-on-attribute-error
  * added option --storage-list-stdin, --storage-list,
    --storage-command
  * added option --include-file-list, --include-image-list,
    --exclude-list
  * renamed option numeric-permission -> numeric-permissions
  * support SSL WebDAV: webdavs
  * renamed options --server-jobs-directory to --jobs-directory;
    option --server-jobs-directory is now deprecated
  * added option --incremental-data-directory
  * incremental data is now written to incremental data directory
    in server mode by default
  * added option --continuous-min-time-delta
  * reworked index database: separate fragments of entries; show
    only entries in GUI and restore fragments automatically if
    entry is restored
  * fixed memory leak if archive is broken and cannot be read
    completely
  * fixed multiple schedule types for job
  * fixed command line option: override settings in
    configuration/job files
  * upgraded libgcrypt 1.8.0, libgpg-error 1.25
  * fixed newest entries: name only
  * fixed delete from index: directories
  * fixed schedule info on job clone
  * fixed parsing passwords in SSH/SFTP/WebDav specifiers
  * fixed checking if archive exists
  * support SSH password authorization
  * create common source diretory to avoid name clashes
  * archive name date/time: schedule date/time
  * fixed error error message and exit code when no matching
    storage archives are found
  * moved index clean-up functions to delete orphaned entries,
    duplicate entries into bar-sqlite3
  * CD/DVD/BD: use dvdisaster RS03 encodiung with multiple
    threads (Note: change or delete settings in bar.cfg to get
    new default commands!)
  * continuous is now an optional feature
  * fixed FTP upload: directory path
  * fixed FTP upload: avoid abort
  * fixed SFTP upload: stop/append/overwrite
  * fixed SFTP URL preset password
  * fixed SFTP directory list
  * fixed parse numeric permissions
  * fixed parse owner
  * fixed download-third-party.sh: use curl instead of wget,
    because of a bug in wget under Debian (TLS error)
  * change CD/DVD/BD write commands: added Joliet
  * improved database delete: FTS entries
  * ignore unknown chunks when update index
  * use C99
  * upgrade lzo 2.10
  * upgrade OpenSSL 1.1.1f
  * upgrade ICU 58.3
  * upgrade GnuTLS 3.5.19
  * upgrade mxml 2.12
  * upgrade libgcrypt 1.8.4
  * upgrade libcdio 2.1.0
  * upgrade c-reas 1.15.0
  * upgrade curl 7.67.0
  * upgrade SQLite 3.27: UPSERT
  * upgrade libssh2 1.9.0
  * upgrade binutils 2.32
  * added patch to fix memory leak in libssh2
  * removed ftplib
  * added debug option --server-debug-index-operations
  * BARControl: read keys from .pem files, JKS is now
    obsolete
  * BARControl: added roles basic/normal/expert
  * BARControl: pause unit s/m/h for option --pause
  * BARControl restore tab: select job
  * BARControl: reset job state via context menu
  * BARControl: show entities with no job/schedule info
  * BARControl: added option --index-database-entries-newest
  * BARControl: added option --index-database-history-list
  * BARControl: added option --config
  * BARControl: added option --geometry
  * BARControl: fixed options --index-database-list-entities,
    --index-database-list-storages: allow empty text
  * BARControl: fixed search entries in restore tab
  * BARControl: require now OpenJDK JRE 1.8
  * change package build system to docker; build RPM on CentOS 6,
    DEB on Debian 7
  * Note: change package name to backup-archiver due to name
    clash!

2018-08-18 0.20h
  * fixed crash on connection to server
  * fixed process file patterns
  * fixed memory leak

2018-08-18 0.20h
  * fixed crash on connection to server
  * fixed process file patterns
  * fixed memory leak

2018-06-10 0.20g
  * fixed blocked access database while job is running;
    avoid long-running transactions
  * fixed clean-up database at start
  * improved locking database: avoid long running locks
  * fixed add to index: deleted storages
  * fixed continuous in-memory database
  * upgrade SQLite 3.21
  * fixed restore on network file system: print a warning
    only if file attributes cannot be set
  * log stack traces
  * BARControl: fixed change server settings job directory
  * BARControl: fixed possible concurrent access exception
  * BARControl: fixed sorting entries by date/time

2017-11-10 0.20f
  * fixed multiple schedule types for job
  * mount before delete storages
  * fixed list image entries
  * BARControl: fixed possible null-pointer-exception in job tooltips
  * BARControl: show warnings in storage tooltip
  * BARControl: clear selection after deleting storages
  * BARControl: change coloring of entities/storages
  * BARControl: save show flags into barcontrol.cfg
  * BARControl: fixed view cloned schedule
  * BARControl: additional valdiation check for schedule
  * BARControl: fixed busy dialog layout
  * BARControl: fixed crypt password dialog

2017-07-19 0.20e
  * added test for immutable/append-only files
  * fixed manual: --no-stop-on-error
  * fixed memory leak if archive is broken and cannot be read
    completely
  * fixed create/rename jobs: wrong name
  * fixed overflow in database if internal id become greater
    than 268435456

2017-05-01 0.20d
  * fixed huge Sqlite WAL file: fixed starvation of recycling due
    to long running internal database clean-up operations
  * BARControl: fixed file request dialog when restore file to
    specific destination directory
  * BARControl: improved new/clone/rename job dialog. Close
    dialog before execute the operation
  * BARControl: fixed drag+drop of shortcuts in file requester
    dialog
  * BARControl: fixed flickering in progress bars

2017-03-05 0.20c
  * fixed schedule edit: combo box entries
  * fixed removed debug code: trap int3
  * upgrade PCRE to 8.40
  * fixed download of zlib
  * fixed edit server configuration: log level
  * fixed invalid memory access with LZO, LZ4 compress
  * upgraded LZ4: fixed memory align bug
  * upgraded and fixed link mxml: 2.10
  * fixed race-condition in semaphore debug code
  * fixed possible read-error on SSL connections
  * BARControl: fixed file requester

2016-12-11 0.20b
  * BARControl: fixed SSL encryption. Please re-generate
    the BAR key files with bar-keygen (generate now a
    self-signed certificate)
  * BARControl: fixed delete storages (possible index
    database error when entity/storage is selected)
  * fixed error message when mount fail
  * BARControl: fixed possible widget dispose error
  * fixed "archive-type" unknown error when edit schedule
    entry
  * build problem ICU: upgraded to 58.1

2016-11-09 0.20a
  * fixed restore into original path
  * fixed purge old storages by size: may have caused an
    index database error if entity was deleted
  * fixed continuous backup of single file
  * BARControl: fixed type error in archive name editor
  * BARControl: clear encryption password if type set to
    "default" or "ask"
  * BARControl: fixed default restore path
  * BARControl: fixed dead-lock when restore is aborted
  * BARControl: fixed server settings dialog
  * BARControl: fixed communication error when changing
    archives (translation error)

2016-10-13 0.20
  * added (semi-) continuous backup of changed files
  * new index database with much better performance
  * support full-text-search in index database
  * started basic support of remote jobs
  * BARControl: added dialog for major server settings;
    support on-the-fly changes
  * TLS port is now optional: if possible as SSL protected
    connection is establed via the standard plain port
  * added option --archive-file-mode: stop, append or
    override; removed configurationm option
    overwrite-archive-files (deprecated)
  * delete empty directories when purge old storage files
  * BARControl: file requester with remote file list
    local file requester with CTRL+click
  * BARControl: added support to connect to different servers;
    added connect menu
  * BARControl: added unit TByte/TB
  * added option --log-format for log date format, standard
    log date format is now YYYY-MM-DD hh:mm:ss
  * improved delete database entries
  * separate log for each executed job
  * removed macro %last for archive names
  * BARControl: removed "connector" button in restore tab;
    search is automatically filtered by selected entities,
  * BARControl: new restore dialog with list, destination
    and directory content option
  * Added test button for scripts
  * added option --mount: mount/unmount devices before/after
    execution of job
  * deprecated option --mount-device
  * added option --include-command, --exclude-command
  * added configuration options include-file-command,
    include-image-command, exclude-command
  * add job option comment: free text comment
  * added code-coverage analysis to build process
  * moved database file /usr/lib/bar -> /var/lib/bar
  * change option: --stop-on-error -> --no-stop-on-error,
    --stop-on-error is now deprecated
  * create temporary log file in system temporary directory
  * improved parsing configuration files: reject unknown
    values
  * added option --server-max-connections: limit max.
    number of concurrent server connections, default 8
  * BARControl: added option --force-ssl
  * upgrade libssh2: 1.7.0
  * upgrade bzip2: 1.0.6
  * added bar-sqlite3 tool
  * added logrotate script, support for log rotate
  * added options --blank, --(cd|dvd|bd|device)-blank to
    blank medium before writing
  * BARControl: added abort to load volume dialog
  * BARControl: renamed option --index-database-storage-list
    -> --index-database-storages-list, added option
    --index-database-entities-list
  * fixed crash with multiple connections from same host
    and authetification failure
  * fixed max. size for LZO/LZ4 compression when block cannot
    be compressed
  * fixed init script on CentOS
  * fixed possible wrong error text
  * fixed possible dead-lock when a specific error
    occurred while executing a job
  * fixed clean-up duplicate database entries: delete
    storage index
  * webDAV: fixed race condition in receive data
  * fixed auto-index: search for .bar files
  * BARControl: fixed login credentials on command line
  * BARControl: fixed archive name editor %S, %s, _
  * fixed storage of splitted hardlink-entries!
  * fixed abort when there is an error when writing
    a CD/DVD/BD

2016-01-09 0.19d
  * fixed include of multiple entries with pattern: store
    foo/a.* and foo/b.* if exists
  * fixed possible crash when files with % in name may not
    be readable
  * upgrade PCRE 8.38
  * BARControl: fixed typing errors in translation
  * fixed memory leak

2015-12-06 0.19c
  * added user, group, permission to long list output
  * fix get user/group name with large number of names
  * BARControl: fixed parsing float number with different
    locales
  * BARControl: fixed edit pre/post-scripts on Windows:
    replace line ending CRLR by LF.
  * BARControl: improved restore dialog: show failed
    entries, show total progress bar
  * fixed assert in restore archives
  * BARControl: fixed restore complete archives

2015-11-23 0.19b
  * fixed reading job files with none-LF at end
  * try to delete temporary directory also on Ctrl-C or
    a crash
  * fixed index auto-update: search for .bar files in
    directory and all sub-directories
  * BARControl: fixed possible null-pointer-exception
    on Windows
  * BARControl: fixed layout buttons
  * BARControl: fixed translation
  * BARControl: fixed multi language support (language files
    were missing in distribution)
  * fixed scanning for .bar-archives: scan in sub-directories,
    too
  * BARControl: fixed typing error in help
  * BARControl: fixed null-pointer-exception when delete
    entity in restore tab
  * fixed init scripts
  * BARControl: added unit TB

2015-10-31 0.19a
  * changed upgrade database: do not lock database
  * added support to output stacktraces! Press Ctrl-\
    or send signal SIGQUIT to BAR
  * improved error handling in database
  * always unmount mounted device if init storage fail
  * fixed typing error in scp protocol init
  * fixed init SSH default password
  * fixed some compilation errors when packages are
    disabled
  * added barserver.service for systemd
  * fixed init.d-start script for Fedora
  * fixed install init-scripts
  * fixed --quiet option
  * upgraded libgpg-error to 1.20: fixed problem with
    pre-processor and newer gcc versions
  * upgraded libgcrypt to 1.6.4: fixed problem with
    pre-processor and newer gcc versions
  * improved error message when ssh login fail
  * fixed possible dead-lock in server when file
    .nobackup cannot be created
  * improved error message when SSL authentification
    fail
  * fixed compiling ring buffer when no backtrace()
    function is available
  * removed wrong assert in server.c
  * fixed compiling without ulong
  * fixed unintialized data with unknown job UUIDs
  * fixed unintialized data in database access
  * BARControl: fixed number format exception when BAR
    and BARControl use different locales
  * fixed memory corruption when stringmaps are
    enlarged
  * fixed error message for wrong double config values
  * fixed exitcode list archives
  * fixed possible deadlock in server when started as
    a daemon
  * fixed possible crash when index database could not
    be opened or is created
  * BARControl: fixed output of --list
  * fixed possible crash when decompress broken archive
    compressed with LZO
  * upgraded LZO to 2.09
  * use LZO safe-decompress, fixed valgrind warning
  * disabled test Serpient for CentOS 5: do not use!
    Probably bug in gcc 4.1 together with -O2; solved
    in newer versions of gcc.

2015-05-01 0.19
  * added LZO compression
  * added LZ4 compression
  * fixed large file support: on some systems large files
    (>4GB) could be incompletely written
  * do not modify atime of files when creating or compare
    archives (NO_ATIME)
  * BARControl: added new/clone/rename/delete to status tab
    option menu
  * added pre-/post-command
  * improved crash reporting: include symbol file
  * improved logging
  * BARControl: added different exclude types in
    context menu (nodump, .nobackup, exclude)
  * BARControl: added pre-/post scripts
  * BARControl: added archive tree view to restore tab
  * added "entities" for set of created storage files:
    keep set of storage in the internal database and show
    created backups in a tree view in BARControl
  * BARControl: added function in restore tab context
    menu to assign storage to some entity
  * started localization support (English, German,
    and Japanese! Thanks to Satoko Koiwa)
  * added no-storage to schedule: schedule just to create
    .bid file
  * added min/max/age to schedule
  * BARControl: show tooltip in restore tab in left
    half of tree/table
  * BARControl: show number of entries in entity and
    storage (tooltip info)
  * BARControl: add function in context menu to trigger
    a specific schedule entry
  * BARControl: improved statistic view of no-storage
    job
  * upgraded GMP to version 6.0.0a: fix usage of wrong
    code on AMD architecture.
    Thanks to Shane for his help to understand this bug!
  * BARControl: added option --version
  * fixed parsing compress algorithm names
  * improved error when reading encryption algorithm from
    archives
  * fixed matching files with \ in name (glob pattern)
  * improved tests
  * fixed delete files via webdav-protocol
  * fixed error if entered passwords are not equal
  * fixed listing, testing of content in directory:
    support pattern matching
  * fixed possible infinite recursion when processing
    delta compressed files while searching for
    delta sources
  * improved error output for libcdio
  * fixed parsing schedule data
  * BARControl: fixed schedule dialog, removed "*" archive
    type
  * fixed race-condition in init database (thanks to Shane)
  * fixed restore: keep root (first /) when no directories
    are stripped
  * fixed sending data via scp: close and transmit last
    data package
  * fixed superfluous output on stdout of ftp+webdav
    protocol

2014-11-10 0.18e
  * removed nice-level in init scripts
  * barcontrol: fixed selection and storage of
    file names via file dialog
  * barcontrol: fixed restore destination directory
    bug + overwrite flag
              
2014-09-29 0.18d
  * fix not closed file when --no-storage is specified
                
2014-09-26 0.18c
  * fixed server network connection wait time in pselect();
    may caused network trouble on some Linux systems.
    Thanks to Daniel Webb for his help to find this bug!
  * BARControl: upgraded to SWT 4.4 to fix a crash on
    close when a combo widget is disposed.
    (https://bugs.eclipse.org/bugs/show_bug.cgi?id=372560)
    Thanks to Daniel Webb for his help to find this bug!
  * Upgraded LZMA library to version 5.0.7
  * Added init script for CentOS

2014-05-09 0.18b
  * fixed server start script barserver for Debian
  * do not download epm, breakpad by default
  * fix compilation some third party package: m4 required

2014-05-01 0.18a
  * upgraded OpenSSL to 1.0.1g (fix for Heartbleed bug)
  * fixed replaced storage archives in database
  * barcontrol: fixed possible exception when session id key
    data cannot be parsed (NumberFormatException)
  * barcontrol: fix delete database index entries
  * barcontrol: fixed possible exception when insert
    new element into exclude list, compress exclude list
  * fix compile non-debug version without stacktrace function
  * install bar binary in /usr/bin
  * fixed install of man-page
  * fixed include bar-keygen in base package
  * fixed man page
  * barcontrol: improved error message when a SSL connection
    cannot be established
  * barcontrol: fixed error handling
  * fixed free resources when creating image archives

2014-03-21 0.18
  * added multi-core compression/encryption support!
  * dramatic speed-up when creating archives!
  * added automatic delete of duplicate index entries when
    server is started
  * store and restore extended file attributes (EAs)
  * improved FTP access: replaced FTPLib by curl+c-areas
  * added support for WebDAV protocol
  * added support for crash dump tool Breakpad
  * integrated a scan-mode which will scan partially broken
    archives for still readable parts
  * server protocol changes: replaced list of values by value map
    for easier extension of protocol. Note: you _must_ update
    both server and clients with this change.
  * added uuid to jobs
  * added custom text to schedule entries
  * added macros %uuid, %text to storage name template
  * added options --[ftp|ssh|webdav]-max-connections: limit
    number of concurrent network connections for server
  * barcontrol: added time macros %U2, %U4, %W, %W2 and %W4,
    added macros %T, %uuid, %text
  * barcontrol: added file selector button to storage name
    input
  * support listing remote directory content
  * start support cross-compilation Linux -> Windows
  * upgrade gpg-error 1.10, gcrypt 1.5.0, gnutls 3.1.18, libcdio 0.92,
    pcre 8.34
  * fixed create index: do not delete index which is currently
    updated
  * fixed output in verbose/quiet mode
  * fixed restore: list files when "only newest" is disabled
  * fixed duplicate archive entries when multiple include options
    are specified (thanks to Stefan A.)
  * fixed writing .bid file when no directory is given
  * barcontrol: fixed duplicate job
  * barcontrol: added insert/edit/delete keyboard shortcuts
  * barcontrol: passwords sent to the bar daemon are now RSA
    encrypted! This makes it much harder to steal plain text
    passwords even when no TLS encrypted network connection is
    used.
  * improved tests: added special testcode to execute error
    handling code in tests
  * using gcc to compile is now mandatory (required because of
    improved error-handlingn with using closure like code)
  * improved defense against denial-of-service-attack: force
    delay for clients with multiple authorization failure
  * changed schedule entry in job configuration: use a section.
    Entries in the old format are still read, but not created
    anymore.
  * avoid console input in non-interactive mode
  * fixed barcontrol: list storage ignoring case
  * fixed barcontrol: delete storage files

2013-05-05 0.17b
  * fixed parsing of storage specifier (ftp, scp/sftp,
    cd/dvd/bd): user name
  * fixed dialog text when password is requested
  * improved checking host name for ftp/scp/sftp login
  * fixed lost string resource

2013-01-26 0.17a
  * fixed writing CD/DVD/BD: do not write an empty last medium
  * improved database index
  * fixed parsing CD/DVD/BD/device specifier: last character was
    missing
  * fixed logging of skipped own files

2012-10-03 0.17
  * finally: added support for xdelta compression!
    Note: integrating this was really a _hard_ work.
  * added support for libcdio to read content of CD/DVD/BD
    devices/images without mounting
  * upgraded used libssh2 to version 1.4.2
  * use libssh2 send64() when available to be able to
    send large files, too
  * added check for file permission of config files. Should
    be 400 or 600.
  * improved error handling with public/private keys
  * fixed handling of error case when asymmetric encrypted
    archive cannot be read
  * print fragment info if file is incomplete on verbose
    level >= 2
  * fix header information in sources
  * improved logging for not stored files
  * support no-dump file attribute, add option
    --ignore-no-dump (see lsattr, chattr)
  * set default ssh keys to $HOME/.ssh/id_rsa.pub,
    $HOME/.ssh/id_rsa
  * fix string free bug in restore
  * fix file-seek bug in restore
  * BARControl: add warning when minor protocol version do
    not match
  * BARControl: ask for FTP/SSH password on restore if
    required
  * added internal debug code for list allocations
  * added hidden option --server-debug for automated test
    of server functions
  * improved valgrind tests
  * output percentage info if verbose level >= 2
  * output test/compare/restore info if verbose level >= 1
  * improved processing speed: implemented ring buffers
    for compress/decompress
  * fixed compare of images: only compare used blocks
  * fixed creating FAT images: in some cases one block was
    missing in the archive
  * improved tests: added more tests for images
  * stop support of Reiser 4: file system is not supported
    anymore by all Linux versions
  * if an encryption password is specified on the command
    line do not ask for another password if decryption fail
  * clean-up of BAR manual
  * improved console output with multiple threads: avoid
    mixing output of lines in interactive mode
  * renamed command line option --database-file -> --database-index
  * renamed command line option --no-auto-update-database-index
    -> --database-index-auto-update
  * renamed config option database-file -> index-database
  * renamed config option no-auto-update-database-index
    -> index-database-auto-update
    WARNING: modify your bar.cfg file!
  * added command line/config option --datbase-index-keep-time
  * set example for log-post-command to (removed quotes):
    sh -c 'cat %file|mail -s "Backup log" root'
  * fix parsing configuration files: strings must not be quoted
    explicitly
  * improved error output when log-post command cannot be executed:
    show last 5 lines of stderr
  * fixed usage of libcrypt: enabled multithread-support
  * set read-timeout for SSH connections to avoid possible infinite
    blocking in libssh2-code when remote side may close socket
    unexpected
  * BARControl: add ellipsis character to menus/buttons which
    require further user input
  * BARControl: added schedule copy menu entry/button
  * BARControl: show tool tip in tree view only when mouse is
    in the left side to avoid that tooltip is shown all the
    time
  * BARControl: add functions to clear stored passwords on
    server
  * BARControl: renamed option --index-add -> --index-database-add,
    renamed option --index-remove -> --index-database-move
  * BARControl: renamed config option pause-index-update ->
    pause-index-database-update
  * fixed possible crash in logfile post processor
  * BARControl: fix abort job. Set last executed time.
  * BARControl: fix parsing storage name when login name is not given
  * BARControl: fixed cloneing of schedule entries
  * BARControl: added path selector in include/exclude dialogs
  * BARControl: added confirmation dialog when include/exclude entry
    should be removed
  * BARControl: fixed schedule hour setting, show 00..23
  * BARControl: added function to delete storage files in context menu
    in restore tab
  * added configuration option index-database-max-band-width: limit the
    used band width for background index updates
  * improved band width limitation: specify either a value or name of an
    external file
  * fixed scheduler: do not start job immediately again when execution
    time was longer than time periode of scheduling
  * added optional time range to max-band-width,
    index-database-max-band-width options to support different limits
    depending on date/time
  * support external file for max-band-width,
    index-database-max-band-width options
  * fixed memory leak in server

2012-01-14 0.16g
  * fix restore: do not create empty parent directories
  * fix restoring archive entries without directory part
  * added verbose level 5, output ssh debug messages for
    level 4 and 5
  * fixed crash when archive on CD/DVD/BD/device should
    be listed/tested/extracted directly. Please mount
    a CD/DVD/BD/device and use the file operations instead.
    Next version of BAR will support reading CD/DVD/BD
    directly
  * fixed memory leaks

2011-09-10 0.16f
  * re-added option --volume-size, fixed setting CD/DVD/BD
    volume size
  * added check for Java version
  * improved error messages
  * do not print passwords which may be included in FTP
    specifier when creating/list/restore entries
  * barcontrol: ask for crypt password when restoring
    single archive entries
  * fixed URI parser: clear port number if not set
  * improved index database: do not set error state when
    connection to server cannot be opened
  * fixed memory leaks
  * back-ported file handle debug code
  * do not set index state to error if archive cannot be
    decrypted because of missing password
  * fix bug in ftplib: listing directory did not close
    temporary file

2011-07-31 0.16e
  * create sub-directories when storing to file system or
    ftp server
  * fix creating directories: to not set parent directory
    permissions if permissions are already set
  * barcontrol: do not close new job dialog on error
  * barcontrol: fixed setting crypt type radio buttons with
    default value
  * save job file immediately after creating a new one
  * fix lost error state when writing file to a server
  * improved FTP transmission, added patch to set timeout
    for receiving data in FTPLib
  * fixed possible inifite loop when executing external
    command, e. g. sending the log file via log-post-command
  * fixed error in pre-defined log-post-command in bar.cfg
  * fix losing failure error
  * create job files with read/write permission for owner only
  * do not print passwords to log/screen which may be included
    in FTP specifier
  * fixed missing delete temporary file on error in incremental
    mode
  * fixed adding index of FTP content to local archive database
  * fixed string parser: parse \x as x if outside of " or '
  * BARControl: fix Null-Pointer-Exception when server password
    is not set
  * improved FTP read: try to read all data when the network
    connection is bad
  * fix CD/DVD/BD write command: must be %directory, not %file
  * BARControl: add command to remove all archives with error
    state in tab restore
  * BARControl: fix possible null-pointe-exception on communication
    error
  * BARControl: improved usability. Use tagged+selected entries
    entires to remove/refresh  in tab restore.
  * add log type "index"
  * BARControl: fixed list of storage archives when removing an
    entry
  * BARControl: ask for crypt password when starting job with
    crypt password mode "ask"
  * BARControl: give visual feedback when entered passwords in
    password dialog are not equal
  * show date/time for directories entries in list, too
  * changed DVD write image command: removed sectors, added
    -dvd-compat
  * output stdout/stderr of external commands with verbose level 4
  * BARControl: added some warnings when selection of part size/
    medium size/error correction codes may not fit to create a
    CD/DVD/BD

2011-05-31 0.16d
  * barcontrol: fix parsing of ftp/scp/sftp archive names
  * fix parsing of ftp archive names
  * support for non-passive/passive ftp connections
  * fixed wrong free of resources when archive entry could
    not be read
  * fixed numbers for compress/crypt type: must be a real
    constant (self-assigned enum may change)

2011-04-17 0.16c
  * renamed macro %file -> %directory for cd/dvd/bd/device-commands
  * fixed typing error in code when FTP is not available
  * added options --file-write-pre|post-command,
    --ftp-write-pre|post-command, --scp-write-pre|post-command,
    --sftp-write-pre|post-command
  * added option --always-create-image
  * fixed creating CDs: use mkisofs+cdrecord
  * removed double linefeed for log entries
  * fixed log entries when creating database index: avoid
    creating huge log files
  * only write log file in daemon/server mode
  * add missing MacOSX JARs to distribution
  * renewed man page, improved manual

2011-04-10 0.16b
  * fix error handling when password is wrong
  * create jobs directory if it does not exists
  * enable creaeting index database by default
  * barcontrol: fix file name editor drag+drop
  * barcontrol: ask for password on restore
  * fix memory leak when reading archive directory entries
  * fixed deinit error when password is wrong
  * fixed reading file names which contain \ or LF/CR
  * barcontrol: fix discarding first character for archive target cd:, bd:
  * barcontrol: fixed file listing
  * fix error handling when calling external tool for CD/DVD/BD
  * barcontrol: add year two digits in archive file name editor, fixed
    century
  * barcontrol: fix enabling restore-button
  * improved documentation: added archive file name macros, add more
    entries to faq, small fixes

2010-12-30 0.16a
  * fix wrong storage name in database
  * barcontrol: fix start/abort button enable/disable for
    incremental/differential/dry-run jobs
  * barcontrol: fix tab restore storage filter: edit+reset
  * clean-up

2010-12-17 0.16
  * do not store content of directories and sub-directories
    when file .nobackup or .NOBACKUP exists
  * add option --ignore-no-backup-file
  * support hard links: add new chunk types HLN0, HENT, HNAM,
    HDAT
  * rewrite chunk code: add init and done, moved clean-up
    code down to chunk code, improve error handling
  * fix wrong data parsing in index database for directories,
    links, special files
  * improved error handling
  * fix typing errors in error messages
  * improved tests
  * added -o as shortcut for --overwrite-archive-files
  * added option --dry-run: do all operations, but do not
    compress, encrypt and store files, do not write incremental
    data lists, do not write on CD/DVD/BD/devices
  * fixed --no-storage: incremental data list was not written
  * fixed possible deadlock in server when archive files cannot
    be transmitted to a remote server and local harddisk becomes
    full
  * added option --compress-exclude to disable compression for
    files, images and hard links which match to the specified
    pattern
  * barcontrol: added exclude list in storage tab under compress
  * fixed memory leak
  * support building Debian/Ubuntu packages with SuSE build
    service!
  * fix install: add bar-keygen
  * added option --differential: differential storage. Like
    --incremental, but incremental data is not updated
  * fixed creating parent directories when restoring files:
    use default file mask to create parent directories
  * fix restoring splitted files which are read only
  * fixed typing error in bar.cfg entry "schedule": must be Apr,
    not Arp. Note: please fix this in your jobs files in /etc/bar/jobs,
    too, when you created a job which should be scheduled in April!
  * fixed SigSegV with option -g: internal sorting of list was wrong

2010-12-05 0.15f
  * fix SigSegV in string.c:formatString() which can occur on
    amd64 systems

2010-12-02 0.15e
  * barcontrol: fix exception when running barcontrol under
    Windows and connecting to a Linux server (file separator
    is different on Windows and Linux; this is a temporary fix
    which will be improved in version 0.16)
  * barcontrol: made columns size, modified, state in restore
    tab, storage list resizable, too
  * fixed wrong bar binary path in SuSE, Redhat, Mandrake, Fedora
    start scripts
  * fixed wrong bar config path in SuSE, Redhat, Mandrake, Fedora
    start scripts
  * barcontrol: fixed some table column widths (automatic setting
    seems to be different on Windows)
  * barcontrol: fix arguments in start script barcontrol.bat

2010-11-29 0.15d
  * fix SigSegV when deleting a storage archive from
    the database via BARControl

2010-11-18 0.15c
  * fixes for MacOSX:
     - fix SWT start thread problem
     - use "java" without any path
     - fix out-dated JAR archives
  * added missing documentation images to distribution
  * fix creation of barcontrol/barcontrol*.jar
  * fix error message when archive file already exists

2010-11-17 0.15b
  * barcontrol: fix sorting of columns
  * barcontrol: fix not working context menu "exclude", "none" in
    status tab, files list, removed debug code
  * fix archive file name for CD/DVD/BD
  * barcontrol: fix sorting of columns in jobs tab file/device tree
  * barcontrol: fix calculating directory size (context menu in
    file list in jobs tab)
  * fixed parsing of storage specification for cd/dvd/bd

2010-10-26 0.15a
  * fix compilation problems with LONG_LONG_MAX
  * fix typecast in strings.c for 64bit systems
  * fix man create install path
  * support build service (thanks to lalalu42)
  * add make variale DIST, SYSTEM to install
  * update download-script: gnutls 2.10.2
  * fix typing error in strings debug code
  * use getpwnam_r and getgrnam_r to avoid multi-threaded problems
  * fixed wrong locking code in semaphore read-lock
  * fixed possible infinite blocking in index update (ssh read)
  * fixed memory leak in index thread
  * fixed test for large file support on 64bit systems
  * fixed ssh-communication problem ("bad record mac" in barcontrol),
    improved error messages
  * added different BAR daemon start scripts, fixed start script
  * enable dynamic linkage of system internal libraries
  * clean-up Makefile file

2010-10-13 0.15
  * added command line option --job to execute a job from a job
    file with BAR
  * clean-up BAR command line options:
     - replaced -a|--crypt-asymmetric -> --crypt-type=
     - added opton --normal to select normal archive type
       (required to overwrite setting in job file)
     - fixed ordering of options in help
  * added support for CD and BD (options --cd-.../--bd-... and configuration
    entries cd-.../bd-...)
  * clean-up barcontrol command line options:
    renamed --job-mode -> --archive-type
  * fixed name of option --dvd-write-image-command
  * barcontrol: fix option --key-file
  * renamed command line option --no-bar-on-dvd -> --no-bar-on-medium and
    configuration file entry no-bar-on-dvd -> no-bar-on-medium
  * set key valid time to 365 days when created with openssl
  * barcontrol: added tool tips help
  * barcontrol: complete redesign of restore tab
     - added database of stored files to BAR (sqlite based)
     - search for created archives in database
     - search for stored files in archives in database
     - restore archives or single files
     - automatic indexing of already created archives which are stored
       in file system or on an external server
     Note: to use this new feature, you must add the database-*
           configuration options in bar.cfg!
  * temporary base directory is now named bar-XXXXXX
  * barcontrol: improved pause-function: settings for create, storage,
    restore and update index. See menu in barcontrol. By default create
    and restored are paused only
  * barcontrol: add destination types "cd" and "bd", add different images
    sizes for cd/bd
  * barcontrol: clean-up layout, rearranged some buttons
  * barcontrol: updated to SWT 3.6.1
  * create package bar-gui-*.zip with compiled GUI only
  * documentation: renewed screen shots, added documentation of
    new options, fixed documentation of some options, clean-up
  * updated man-page

2010-07-28 0.14
  * added command line control functions to barcontrol:
    --list, --job, --job-mode, --abort, --ping, --pause,
    --suspend, --continue
  * improved barcontrol command line parser
  * barcontrol: added file selector buttons for ssh keys, device name
  * fixed barcontrol restore tab: listing path names
  * fix C string parser: %s and %S can be empty strings
  * barcontrol: fixed abort in restore dialog, some clean-up. Note:
    The restore tab will be improved in some of the next releases.
  * barcontrol: fixed parsing of archive part size (job was ignored
    when number was bigger than 32bit; now 63bit are allowed)
  * fixed display of archive/device sizes: units are G,M,K
  * add warning when no BAR server password given
  * BAR server: added support to list image entries
  * updated manual
  * clean-up

2010-07-24 0.13d
  * fix wrong installation path "/man/man7" man pages: now
    /usr/share/man/man7

2010-06-11 0.13c
  * fix bar-keygen which caused broken Debian package: wrong template
    file names
  * fix bar-keygen: create bar.jsk in /etc/bar by default
  * improved bar-keygen: check if keys exists, add option --force
  * improved BAR server: additionall check /etc/ssl/private for
    bar.jks
  * fix some typing errors in manual
  * fix Makefile of barcontrol: SWT JAR version

2010-05-23 0.13b
  * fix assert-error in options -#/-!
  * improved test of file functions (added -#, -!)
  * fix on-the-fly compiling of libgcrypt: use provided libgpg-error
    instead of system-libraries (which may not exists)
  * fixed and improved download of zlib: download recent version
  * small fixes in manual

2010-04-10 0.13a
  * fix typing error in "owner"
  * fix wrong parsing of "owner" in server
  * fix memory leak in server
  * barcontrol: fix opening directories in file tree
  * added epm to download third-party script

2010-03-21 0.13
  * implemented device image functions: create images from devices
  * implemented support for images with ext2/ext3, fat12/fat16/fat32
    file systems
  * renamed option --directory to --destination, use it for
    destination of images, too
    IMPORTANT: please edit your files in /etc/bar/jobs and
    replaced "directory = ..." by "destination = ..."!
  * verify if server TLS certificate expired; output error
    message
  * fix halt on some not implemented functions when
    restoring files
  * added stack backtrace output in string-debug functions
  * fix lost string when directory cannot be created
  * added option --owner
  * barcontrol: added support for 64bit systems
  * fixed some C compiler warnings
  * fixed creating directory when writing incremental file list
  * improved error messages
  * fixed memory leak
  * improved valgrind suppression rules
  * fixed compilation warnings
  * improved and clean-up command line/config value parsing
  * set socket timeout in barcontrol (20s)
  * improved error messages in barcontrol
  * updated SWT JAR to 3.6 (this fix a bug with GTK versions
    >= 2.18)
  * added 64bit SWT JAR for Windows
  * added SWT JAR for MacOSX (experimental)
  * fixed C stacktrace output in debug mode: print function names
  * added option -L = --long-format
  * added option --human-format, -H: print sizes in human readable
    format (size+unit)
  * added first version of a manual!
  * improved configure checks for doc tools

2010-01-01 0.12d
  * fixed wrong usage of vprintf in log function (caused SigSegV
    on 64bit systems)

2009-10-20 0.12c
  * fixes in configure: fix large file support for some system
  * fixes in configure: add libcrypto only if available (required
    for some older libssh2 implemenations)

2009-10-17 0.12b
  * added option --owner to overwritting settings for
    user/group of restored files
  * fixed creating directories: use default user creation
    mask for parent directories
  * revert error to warning when permission/owner ship
    cannot be set if --stop-on-error is not given
  * fixed configure check for EPM: do not try to detect
    version if no EPM installed
  * fixed configure check for gcrypt version

2009-09-15 0.12a
  * clean-up design of progress bars
  * fixed layout of part-editor (canvas widget)

2009-07-19 0.12
  * disabled -fschedule-insns2 optimization. This cause with my
    gcc 3.3 a problem in String_parse() when a boolean value
    should be read. It seems the address of variable become
    wrong when -fno-schedule-insns2 is not given (thus
    schedule-insns2 optimization is enabled). Is this a gcc
    bug?
  * added crypt password in jobs-storage-tab: password can be
    default (read from configuration file), interactive input
    (ask) or specified password
  * barcontrol: added check if JDK key file is valid
  * barcontrol: improved password dialog
  * barcontrol: added password dialog when crypt password mode
    is "ask"
  * fixed statics of skipped/error files
  * barcontrol; added pause button with timeout (default
    60min)
  * added support for lzma compression
  * added script for simple download of additional packages
  * added support to build additional packages when compiling
    bar (extract packages to specific sub-directories or use
    links)
  * barcontrol: added copy job button
  * barcontrol: check if job exists for new, copy, rename

2009-04-12 0.11b
  * barcontrol: improved volume dialog: unload tray button
  * fixed handling of DVDs
  * barcontrol: fixed progress bar for volume
  * barcontrol/server: fixed writing crypt-type entry (was empty)

2009-03-31 0.11a
  * fixed accidently removed save/cancel button in
    storage part edit dialog
  * barcontrol: fixed URI parsing
  * fixed string-error in DVD functions

2009-03-22 0.11
  * added selection of multiple days to schedule days
    configuration, e. g. you can specify "Mon,Tue,Sat"
  * barcontrol: fixed quit (internal threads blocked quit)
  * barcontrol: changed names of buttons in file tree
  * barcontrol: added button to open all included directories
    in file tree list (green directory symbol at the bottom
    right side)
  * barcontrol: added function to detect sizes of directories;
    when "directory info" checkbox is enabled and a
    sub-directory is opened the sizes of the directories are
    detected in the background
  * internal change in protocol bar/barcontrol
  * fixed some lost strings
  * improved speed: inline some function calls
  * barcontrol: added version number in about-dialog
  * fixed parsing of schedule data (type was missing)
  * fixed detection of size of current archive (was always 0)
  * new scheme to build a incremental file name from an 
    archive file name if no incremental file name is given:
      - discard all %-macros
      - discard all #
      - remove - and _ between macros
      - replace file name extension .bar by .bid
    A name like backup/system-%type-%a-####%last.bar will
    be transformed to backup/system.bid
  * improved error messages
  * fixed debug function in string library: limit number of
    entries in string-free-list.
  * fixed problem with "broken pipe" error in network code
  * added support for openssl command in bar-keygen
  * fixed generating Java SSL key
  * added creating RPM and DEB packages

2009-02-14 0.10a
  * fixed layout of login dialog
  * fixed missing barcontrol.bat.in in distribution

2009-02-11 0.10
  * fixed some not freed resources
  * fixed error message when password is not given or wrong
  * improved input password: ask for password if not given
    in some configuration file when mode is "default"
  * added option --group: group equals files in list; limit
    output to most recent entries if not given option --all.
    Add archive name in group mode. Usage: find most recent
    file 'foo' in a set of backups, e. g.
    bar *.bar -# "*/foo" -g
  * added option --all: list all entries in group
  * barcontrol: fixed Java exception when scheduling date/time
    can not be parsed
  * barcontrol: added "normal" type to start-dialog
  * default value for ssh port is now 22
  * do not ask for a password if bar is started server- or
    batch mode
  * barcontrol: flush not written configuration data to disk
    when terminating barcontrol
  * barcontrol: fixed reseting port number
  * barcontrol: set default sort mode to "weekday" for scheduling
    list
  * barcontrol: try to login with preset server name and login
    password. Open login-dialog only when login fail or when option
    --login-dialog is given.
  * delete old archive files (only possible for file, ftp, sftp).
    Can be disabled by --keep-old-archive-files
  * barcontrol: fixed bug when double-clicking file entry in file
  * fixed default login name/password for ftp, ssh: use command line
    options if not set otherwise
  * fixed default device name: use command line options if not set
    otherwise
  * fix problem with infinite backup when temporary directory is
    included in file list. The bar temporary directory and all
    created files are now not included in a backup. Note: this cannot
    work when two instances of bar are running doing a backup of
    each other.
  * added bar man page (finally!)
  * improved GUI layout manager
  * added animated busy-dialogs to restore, added abort-function
  * added confirmation dialog to abort job button

2008-12-10 0.09i
  * fixed creating pid file: when server is detached write pid of
    running process, not of terminated parent (thanks to Matthias
    Albert)

2008-12-09 0.09h
  * fixed problem with internal data alignment on 64bit systems
  * added test data to distribution
  * added chunk BAR0 to archive files as indicator for a bar file;
    chunk is skipped when reading an archive

2008-12-09 0.09g
  * add option --pid-file

2008-12-07 0.09f
  * small fix in "make install"

2008-12-04 0.09e
  * changed FTP URL to <login name>:<password>@<host name>/<filename>
  * improved password input: check if connection to ftp/ssh-server is
    possible in advance; select the right password
  * barcontrol: change FTP field names, added password field
  * fixed problem when writing incremental file list and current
    directory is not writable: create the temporary file in the same
    diretory like the destination file
  * removed some debug code
  * barcontrol: fixed error handling when authorization fail
  * barcontrol: fixed internal protocol data parser when data contain
    a negative number
  * fixed some wrong file names in "make install"
  * added barserver start script for Debian (Thanks to Matthias Albert)
  * fixed lost string
  * run bar as daemon in background; added option -D to disable detach
    mode
  * fixed missing server result when new job cannot be created

2008-12-03 0.09d
  * fixed missing server-jobs-directory in BAR server
  * fixed wrong path to bar+bar.cfg binary when installing
  * fix installation when barcontrol was not built

2008-12-01 0.09c
  * barcontrol: fixed #-parsing in archive name editor
  * fixed missing barcontrol.in, barcontrol.bat.in, barcontrol.xml source
  * fixed creation of scripts from *.in files
  * completed bar-keygen
  * no external SWT jar needed anymore to compile (but can still be used
    optional)

2008-11-27 0.09b
  * fixed drag+drop in archive name editor
  * added crypt public key field in storage tab
  * added CRC to public/private-key to avoid SigSegV in gcrypt-library
    when key is invalid. Sorry this also mean the key data format
    changed, thus you have to generate a new public/private key pair.
    Note: you cannot open old archives with the new keys!
  * added option -h/--help to barcontrol
  * barcontrol: read default server name/password/ports from
    $HOME/.bar/barcontrol.cfg (if this file exists)
  * renamed option --job-directory into --server-jobs-directory
  * improved check of options: output error if temporary directory
    cannot be written to
  * barcontrol: add field for port to scp/sftp connections
  * change format for archive-file names. Use now URL like names:
    ftp://<name>@<host>/<filename>
    scp://<name>@<host>:<port>/<filename>
    sftp://<name>@<host>:<port>/<filename>
    dvd://<device>/<filename>
    device://<device>/<filename>
    <filename>
  * improved error messages
  * fixed linker problem: link libdl, too

2008-11-21 0.09a
  * small fixes in make files
  * fixes archive name generator: do not add part number of splitting
    of archive is not enabled
  * passwords can now also be read from a non-terminal input, e. g.
    a redirected file
  * fixed test

2008-11-18 0.09
  * implemented a Java front end! This replaces the TclTk front end -
    please enjoy!
  * fixed bug in server password authorization: password was not
    checked until end

2008-09-23 0.08a
  * fixed double usage of va_args variable
  * fixed problems with 64bit
  * fixed typing error in bar.cfg (thanx to Matthias)

2008-09-08 0.08
  * added asymmetric encryption with public-key
  * improved estimation of files/s, bytes/s, stored bytes/s and rest time
  * fixed input of password via SSH_ASKPASS
  * fixed exitcode on create archive

2008-08-17 0.07b
  * added option --long-format
  * added date/time to -l
  * fixed file filters "*" and "-! ..."

2008-06-29 0.07a
  * fixed executing of external programs: handle signals
  * use /dev/dvd as default device for writing dvds
  * added storage bytes/s value to barcontrol.tcl
  * implemented rename job in barcontrol.tcl

2008-05-24 0.07
  * integrated scheduler in bar
  * added pause/continue of jobs
  * some internal bug fixes
  * improved response time of barcontrol.tcl by read/write-locking
    of shared data structures in server
  * implemented archive name editor in barcontrol.tcl
  * clean-up barcontrol.tcl
  * added FTP protocol
  * changed some option names for better consistency

2008-03-08 0.06
  * added option --debug to barcontrol.tcl; output debug info
    in server
  * fixed memory leak in server
  * improved several error messages

2008-01-21 0.05c
  * fixed SigSegV when reading broken/wrong archive
  * added retry (3) in storage via SSH

2008-01-19 0.05b
  * fixed static linkage
  * support none bz2
  * TclTk TLS package is now optional
  * import suport for non-ssh, non-crypt, non-bz2
  * added option --no-bar-on-dvd; store by default a copy of BAR
    executable on created DVDs
  * fixed wrong string when creating DVD

2008-01-18 0.05a
  * improved checks in configure
  * added configure option --disable-ssh
  * fixed static linkage

2007-12-31 0.05 (New Years Eve edition)
  * added macros %type, %last to archive file name
  * fixed path in bid-file name
  * removed option create-list-file; option --full create a list
    file, --incremental use the list and no option generate a
    standard archive (without an incremental list)
  * added options --full and --incremental to barcontrol.tcl.
    With these options the settings in a configuration can be
    overwritten, e. g. usefull to make incremental backups
    (define full-backup in configuration file; use --incremental
    to create a incremental backup on-the-fly)
  * do not write bid-file if archive cannot be stored
  * added file name editor in barcontrol (check the "folder"-image
    right to the file name!)
  * fixed missing lock in debug-code of strings.c
  * renamed option --priority -> --nice-level; set nice level
    not thread priority
  * added password input dialog in case password does not match
    or no password is defined in the configuration files

2007-12-18 0.04c
  * fixed creating of directories on restore of single files
  * fixed DVD burn commands (removed option "-dry-run" - sorry)

2007-12-16 0.04b
  * fixed typing error in secure password memory

2007-12-16 0.04a
  * fixed double free of a string
  * added check in string library for duplicate free
  * fixed abort
  * use base name of archive file name for incremental list file

2007-12-15 0.04
  * added create-dialog to barcontrol.tcl
  * added incremental backup
  * fixed bug in --request-volume-command (wrong command string)
  * fixed bug when executing external command (reading i/o)
  * fixed messages printed on console
  * replaced --enable-static-link by --enable-dynamic-link in
    configure and made static linkage to the default
  * added store/restore of special devices (character, block, fifo, socket)
  * fixed some small problems in restore
  * by the way: by accident BAR got his crucial test! I crashed
    my system partition and I could restore it with BAR!
    Nevertheless there is still a lot of work to do...

2007-12-01 0.03a
  * fixed thread termination for "create" command

2007-12-01 0.03
  * added option/configure value 'priority'
  * added log file support

2007-11-28 0.02c
  * improved handling of DVDs
  * added configure to scanx TCL extension
  * improved making of distribution
  * added option --wait-first-volume

2007-11-27 0.02b
  * improved handling of DVDs
  * started FAQ

2007-11-26 0.02a
  * bugfix

2007-11-25 0.02
  * implemented DVD support
  * fixed ssh connections
  * implemented more functions in barcontrol.tcl
  * added install for scanx, mclistbox.tcl (needed for barcontrol.tcl)
  * added config parser
  * added multiple server/device sections in config file
  * WARNING: changed usage of crypt password: encryption
    key is not filled with password anymore. Thus password
    "foo" is now different from "foofoo".
    Before upgrading BAR restore all archives!
  * added input of ssh/crypt password if not specified in config

2007-11-01 0.01
  * initial release
      

Background image modified with transparency. Original by: Pauli Rautakorpi / CC BY
Back to top