Version 1.0.1
-------------
New features:
Usually there are no new features in a bugfix release, but these were added
due to their high impact on security/safety/speed or because they are fixes
also:
- append-only mode for repositories, #809, #36 (see docs)
- borg create: add --ignore-inode option to make borg detect unmodified files
even if your filesystem does not have stable inode numbers (like sshfs and
possibly CIFS).
- add options --warning, --error, --critical for missing log levels, #826.
it's not recommended to suppress warnings or errors, but the user may decide
this on his own.
note: --warning is not given to borg serve so a <= 1.0.0 borg will still
work as server (it is not needed as it is the default).
do not use --error or --critical when using a <= 1.0.0 borg server.
Bug fixes:
- fix silently skipping EIO, #748
- add context manager for Repository (avoid orphan repository locks), #285
- do not sleep for >60s while waiting for lock, #773
- unpack file stats before passing to FUSE
- fix build on illumos
- don't try to backup doors or event ports (Solaris and derivates)
- remove useless/misleading libc version display, #738
- test suite: reset exit code of persistent archiver, #844
- RemoteRepository: clean up pipe if remote open() fails
- Remote: don't print tracebacks for Error exceptions handled downstream, #792
- if BORG_PASSPHRASE is present but wrong, don't prompt for password, but fail
instead, #791
- ArchiveChecker: move "orphaned objects check skipped" to INFO log level, #826
- fix capitalization, add ellipses, change log level to debug for 2 messages,
#798
Other changes:
- update llfuse requirement, llfuse 1.0 works
- update OS / dist packages on build machines, #717
- prefer showing --info over -v in usage help, #859
- docs:
- fix cygwin requirements (gcc-g++)
- document how to debug / file filesystem issues, #664
- fix reproducible build of api docs
- RTD theme: CSS !important overwrite, #727
- Document logo font. Recreate logo png. Remove GIMP logo file.
Version 1.0.0
-------------
The major release number change (0.x -> 1.x) indicates bigger incompatible
changes, please read the compatibility notes, adapt / test your scripts and
check your backup logs.
Compatibility notes:
- drop support for python 3.2 and 3.3, require 3.4 or 3.5, #221#65#490
note: we provide binaries that include python 3.5.1 and everything else
needed. they are an option in case you are stuck with < 3.4 otherwise.
- change encryption to be on by default (using "repokey" mode)
- moved keyfile keys from ~/.borg/keys to ~/.config/borg/keys,
you can either move them manually or run "borg upgrade <REPO>"
- remove support for --encryption=passphrase,
use borg migrate-to-repokey to switch to repokey mode, #97
- remove deprecated --compression <number>,
use --compression zlib,<number> instead
in case of 0, you could also use --compression none
- remove deprecated --hourly/daily/weekly/monthly/yearly
use --keep-hourly/daily/weekly/monthly/yearly instead
- remove deprecated --do-not-cross-mountpoints,
use --one-file-system instead
- disambiguate -p option, #563:
- -p now is same as --progress
- -P now is same as --prefix
- remove deprecated "borg verify",
use "borg extract --dry-run" instead
- cleanup environment variable semantics, #355
the environment variables used to be "yes sayers" when set, this was
conceptually generalized to "automatic answerers" and they just give their
value as answer (as if you typed in that value when being asked).
See the "usage" / "Environment Variables" section of the docs for details.
- change the builtin default for --chunker-params, create 2MiB chunks, #343
--chunker-params new default: 19,23,21,4095 - old default: 10,23,16,4095
one of the biggest issues with borg < 1.0 (and also attic) was that it had a
default target chunk size of 64kiB, thus it created a lot of chunks and thus
also a huge chunk management overhead (high RAM and disk usage).
please note that the new default won't change the chunks that you already
have in your repository. the new big chunks do not deduplicate with the old
small chunks, so expect your repo to grow at least by the size of every
changed file and in the worst case (e.g. if your files cache was lost / is
not used) by the size of every file (minus any compression you might use).
in case you want to immediately see a much lower resource usage (RAM / disk)
for chunks management, it might be better to start with a new repo than
continuing in the existing repo (with an existing repo, you'ld have to wait
until all archives with small chunks got pruned to see a lower resource
usage).
if you used the old --chunker-params default value (or if you did not use
--chunker-params option at all) and you'ld like to continue using small
chunks (and you accept the huge resource usage that comes with that), just
explicitly use borg create --chunker-params=10,23,16,4095.
- archive timestamps: the 'time' timestamp now refers to archive creation
start time (was: end time), the new 'time_end' timestamp refers to archive
creation end time. This might affect prune if your backups take rather long.
if you give a timestamp via cli this is stored into 'time', therefore it now
needs to mean archive creation start time.
New features:
- implement password roundtrip, #695
Bug fixes:
- remote end does not need cache nor keys directories, do not create them, #701
- added retry counter for passwords, #703
Other changes:
- fix compiler warnings, #697
- docs:
- update README.rst to new changelog location in docs/changes.rst
- add Teemu to AUTHORS
- changes.rst: fix old chunker params, #698
- FAQ: how to limit bandwidth
Version 1.0.0rc2
----------------
New features:
- format options for location: user, pid, fqdn, hostname, now, utcnow, user
- borg list --list-format
- borg prune -v --list enables the keep/prune list output, #658
Bug fixes:
- fix _open_rb noatime handling, #657
- add a simple archivename validator, #680
- borg create --stats: show timestamps in localtime, use same labels/formatting
as borg info, #651
- llfuse compatibility fixes (now compatible with: 0.40, 0.41, 0.42)
Other changes:
- it is now possible to use "pip install borgbackup[fuse]" to automatically
install the llfuse dependency using the correct version requirement
for it. you still need to care about having installed the FUSE / build
related OS package first, though, so that building llfuse can succeed.
- Vagrant: drop Ubuntu Precise (12.04) - does not have Python >= 3.4
- Vagrant: use pyinstaller v3.1.1 to build binaries
- docs:
- borg upgrade: add to docs that only LOCAL repos are supported
- borg upgrade also handles borg 0.xx -> 1.0
- use pip extras or requirements file to install llfuse
- fix order in release process
- updated usage docs and other minor / cosmetic fixes
- verified borg examples in docs, #644
- freebsd dependency installation and fuse configuration, #649
- add example how to restore a raw device, #671
- add a hint about the dev headers needed when installing from source
- add examples for delete (and handle delete after list, before prune), #656
- update example for borg create -v --stats (use iso datetime format), #663
- added example to BORG_RSH docs
- "connection closed by remote": add FAQ entry and point to issue #636
Version 1.0.0rc1
----------------
New features:
- borg migrate-to-repokey ("passphrase" -> "repokey" encryption key mode)
- implement --short for borg list REPO, #611
- implement --list for borg extract (consistency with borg create)
- borg serve: overwrite client's --restrict-to-path with ssh forced command's
option value (but keep everything else from the client commandline), #544
- use $XDG_CONFIG_HOME/keys for keyfile keys (~/.config/borg/keys), #515
- "borg upgrade" moves the keyfile keys to the new location
- display both archive creation start and end time in "borg info", #627
Bug fixes:
- normalize trailing slashes for the repository path, #606
- Cache: fix exception handling in __init__, release lock, #610
Other changes:
- suppress unneeded exception context (PEP 409), simpler tracebacks
- removed special code needed to deal with imperfections / incompatibilities /
missing stuff in py 3.2/3.3, simplify code that can be done simpler in 3.4
- removed some version requirements that were kept on old versions because
newer did not support py 3.2 any more
- use some py 3.4+ stdlib code instead of own/openssl/pypi code:
- use os.urandom instead of own cython openssl RAND_bytes wrapper, #493
- use hashlib.pbkdf2_hmac from py stdlib instead of own openssl wrapper
- use hmac.compare_digest instead of == operator (constant time comparison)
- use stat.filemode instead of homegrown code
- use "mock" library from stdlib, #145
- remove borg.support (with non-broken argparse copy), it is ok in 3.4+, #358
- Vagrant: copy CHANGES.rst as symlink, #592
- cosmetic code cleanups, add flake8 to tox/travis, #4
- docs / help:
- make "borg -h" output prettier, #591
- slightly rephrase prune help
- add missing example for --list option of borg create
- quote exclude line that includes an asterisk to prevent shell expansion
- fix dead link to license
- delete Ubuntu Vivid, it is not supported anymore (EOL)
- OS X binary does not work for older OS X releases, #629
- borg serve's special support for forced/original ssh commands, #544
- misc. updates and fixes
Version 0.30.0
--------------
Compatibility notes:
- you may need to use -v (or --info) more often to actually see output emitted
at INFO log level (because it is suppressed at the default WARNING log level).
See the "general" section in the usage docs.
- for borg create, you need --list (additionally to -v) to see the long file
list (was needed so you can have e.g. --stats alone without the long list)
- see below about BORG_DELETE_I_KNOW_WHAT_I_AM_DOING (was:
BORG_CHECK_I_KNOW_WHAT_I_AM_DOING)
Bug fixes:
- fix crash when using borg create --dry-run --keep-tag-files, #570
- make sure teardown with cleanup happens for Cache and RepositoryCache,
avoiding leftover locks and TEMP dir contents, #285 (partially), #548
- fix locking KeyError, partial fix for #502
- log stats consistently, #526
- add abbreviated weekday to timestamp format, fixes#496
- strip whitespace when loading exclusions from file
- unset LD_LIBRARY_PATH before invoking ssh, fixes strange OpenSSL library
version warning when using the borg binary, #514
- add some error handling/fallback for C library loading, #494
- added BORG_DELETE_I_KNOW_WHAT_I_AM_DOING for check in "borg delete", #503
- remove unused "repair" rpc method name
New features:
- borg create: implement exclusions using regular expression patterns.
- borg create: implement inclusions using patterns.
- borg extract: support patterns, #361
- support different styles for patterns:
- fnmatch (`fm:` prefix, default when omitted), like borg <= 0.29.
- shell (`sh:` prefix) with `*` not matching directory separators and
`**/` matching 0..n directories
- path prefix (`pp:` prefix, for unifying borg create pp1 pp2 into the
patterns system), semantics like in borg <= 0.29
- regular expression (`re:`), new!
- --progress option for borg upgrade (#291) and borg delete <archive>
- update progress indication more often (e.g. for borg create within big
files or for borg check repo), #500
- finer chunker granularity for items metadata stream, #547, #487
- borg create --list now used (additionally to -v) to enable the verbose
file list output
- display borg version below tracebacks, #532
Other changes:
- hashtable size (and thus: RAM and disk consumption) follows a growth policy:
grows fast while small, grows slower when getting bigger, #527
- Vagrantfile: use pyinstaller 3.1 to build binaries, freebsd sqlite3 fix,
fixes#569
- no separate binaries for centos6 any more because the generic linux binaries
also work on centos6 (or in general: on systems with a slightly older glibc
than debian7
- dev environment: require virtualenv<14.0 so we get a py32 compatible pip
- docs:
- add space-saving chunks.archive.d trick to FAQ
- important: clarify -v and log levels in usage -> general, please read!
- sphinx configuration: create a simple man page from usage docs
- add a repo server setup example
- disable unneeded SSH features in authorized_keys examples for security.
- borg prune only knows "--keep-within" and not "--within"
- add gource video to resources docs, #507
- add netbsd install instructions
- authors: make it more clear what refers to borg and what to attic
- document standalone binary requirements, #499
- rephrase the mailing list section
- development docs: run build_api and build_usage before tagging release
- internals docs: hash table max. load factor is 0.75 now
- markup, typo, grammar, phrasing, clarifications and other fixes.
- add gcc gcc-c++ to redhat/fedora/corora install docs, fixes#583
D-Bus Python Bindings 1.2.4 (2016-03-06)
========================================
The “75,000 microchips” release.
Enhancements:
• Continous integration metadata for travis-ci.org is now available.
Similar to dbus, this is split into .travis.yml (Travis-specifics)
and tools/ci-build.sh (intended to be useful for any CI framework,
although it does include various workarounds for travis-ci oddities).
(Simon McVittie)
Fixes:
• Make dbus.version a tuple again, not a list, for consistent sorting.
This was a regression in 1.2.2. (Debian #816729, Simon McVittie)
• Use inspect.signature() instead of inspect.getargspec() on Python
versions that have it. inspect.getargspec() is deprecated in recent
Python 3 and seems to have disappeared from 3.6 nightly builds.
(Simon McVittie)
• Make the tests pass in "narrow" Python builds where unicode objects
are UTF-16, rather than the UCS-4 used in Linux distributions.
(fd.o #57140, Simon McVittie)
• Always include headers in a consistent order (Debian #749133, Simon McVittie)
• Include config.h in all C code that we compile. This is necessary
on platforms where it might contain something like "#define _GNU_SOURCE"
or "#define inline __inline".
(Simon McVittie)
This release brings:
- re-license as 3-clause BSD
- minor performance improvements (refreshing, thumbnails)
- improved image rendering in view(1) and the "preview" plug-in
- manual pages build reproducibly
- more portable build as PIE
- fix build with multiple jobs
- fix crash when closing windows in embedded mode
Version 4.8.16
- Core
* Support for ash + bugfixes for bash, fish (#2742)
* Find file: empty file name matches any file name (#3593)
* Find file: empty value of "Content" is used instead of "Search for content" checkbox to disable search for content (#3594)
* Listbox: don't wraparound on mouse scroll (#3554)
* Internals:
* Listbox: various fixups (#3569: #3562, #3563, #3565, #3161)
* Split MSG_ACTION into MSG_ACTION and MSG_NOTIFY (#3566)
- VFS
* Support lzip compression format (#2673, #1541)
* Support lz4 compression format (#3523)
* patchfs: support xz compression (#3443)
* Update uc1541 version (#3527)
* Add mc.ext patterns for initramfs / initrd (#3115)
- Editor
* Add golang syntax (MidnightCommander/mc#84)
* Update Puppet syntax (MidnightCommander/mc#86)
- Misc
* Code cleanup (#3555, #3547, #3587)
* Better subshell documentation (#3556)
* Fixes to the English man pages by Denys Vlasenko
- Fixes
* Insufficient quoting in `mc.menu` (#2947)
* Broken ./configure --without-internal-edit (#3601)
* Memory leaks (#3547, #3561, #3567, #3572)
* No preallocation if appending during file copy (#3577)
* Cannot set mini-format for "brief" listing type (#3588)
* Info panel: incorrect inode information in some cases (#3214)
* Info panel: wrong device name with symbolic link (#3412)
* Info panel: buffer overflow (#3582)
* Regression: match filename, not full path in mc.ext (#3578)
* Broken case insensitive search in non-unicode locale (#3491)
* Error message prefixed with no sense "0:" (#3269)
* mcedit: buffer overflow (#3579)
* mcedit: "Lower case selection" command in User Menu (#3586)
* mcedit: close on ctrl-g (#3557)
* mcview: "Not found" result isn't reported in some cases (#3543)
* VFS: isofs doesn't show .dotfiles (#3537)
* VFS: isofs: cannot copy file from iso when Joliet without RockRidge is used (#2851)
* VFS: extfs/unzip: enter into zip file fails with "inconsistent extfs archive" (#3433)
* VFS: SFTP: various bugs (#3581)
* VFS: FISH: provide major/minor info for block/char devices (#3599)
* Bashism in gitfs+ extfs helper (#3379)
* Non-portable invocation of man (#3509)
* mc-wrapper leaves MC_USER set (#3550)
* Broken silent opening of files in background (#3574)
* Run `identify` on JPEGs even if `exif` is not installed (#3568)
Major changes in 0.12.11
========================
* protocol: add support for the VP8 and h264 video codecs
* protocol: add unix GL scanout messages
* remove code generation scripts, moved back to spice-common
* macros improvements, more type safety
Behaviour changes:
- classesmatching(): order of classes changed
- Suppress standard services noise on SUSE
Fixes:
- Reduce verbosity of yum package module
- Reduce verbosity of apt_get package module
- Upgrade dependencies to latest patch versions.
Upgraded libraries:
- curl 7.47.0
- libxml2 2.9.3
- LMDB 0.9.18
- MySQL 5.1.72
- OpenLDAP 2.4.44
- OpenSSL 1.0.2g
- PCRE 8.38
- PostgreSQL 9.3.11
- Redis 2.8.24
- rsync 3.1.2
PHP was kept at 5.6.17 because of problems with the 5.6.19 version.
- parse def.json vars, classes in C
- Namespaced classes can now be specified on the command line.
- getvalues() will now return a list also for data containers,
and will descend recursively into the containers.
- @if minimum_version now correctly ignores lines starting with '@'
- Fix definition of classes from augments file
- Don't follow symbolic links when copying extended attributes.
- Fix ps options for FreeBSD to check processes only in current
host and not in jails
- Fix cf-serverd error messages with classic protocol clients
- The isvariable() function call now correctly accepts all
array variables when specified inline. Previously it would not
accept certain special characters, even though they could be
specified indirectly by using a variable to hold it.
- Show errors regarding failure to copy extended attributes
when doing a local file copy. Errors could happen when copying
across two different mount points where the support for extended
attributes is different between the mount points.
- Fix bad option nlwp to vzps on Proxmox / OpenVZ.
- Fix file descriptor leak when there are network errors.
- Fix a regression which would sometimes cause "Permission
denied" errors on files inside directories with very restricted
permissions.
- Check for empty server response in RemoteDirList after
decryption
- Allow def.json up to 5MB instead of 4K.
- Add guard for binary upgrade during bootstrap
- Fix HP-UX specific bug that caused a lot of log output to
disappear.
- Fix a bug which sometimes caused package promises to be
skipped with "XX Another cf-agent seems to have done this since
I started" messages in the log, most notably in long running
cf-agent runs (longer than one minute).
- Define (bootstrap|failsafe)_mode during update.cf when triggerd
from failsafe.cf
- Fix two cases where action_policy warn still produces errors
- Fix classes being set because of hash collision in the
implementation.
- fix build failure on FreeBSD 7.1
- Installing packages containing version numbers using yum
now works correctly.
This now builds thanks to a patch in textproc/py-sphinx. This version is
the same as found in sysutils/salt in the first place.
Approved by pkgsrc-pmc@ during freeze.
XXX use a Makefile.common together with salt
xl(1) runs the hotplug scripts in parallel. This causes failures when the
next free vnd device is selected.
Locking modeled after the Linux block hotplug script.
xl(1) runs the hotplug scripts in parallel. This causes failures when the
next free vnd device is selected.
Locking modeled after the Linux block hotplug script.
The xenstored database is ephemeral and must be removed during system boot.
Put it into /var/run/xenstored. The ocaml xenstored does that already.
/var/lock doesn't exist on NetBSD, use /var/run instead.
This release brings:
- improvements to the user interface (renaming tabs, fullscreen...)
- support for login shells
- stability fixes with "xterm -hold"
- re-licensed as 3-clause BSD
- partial translation into Spanish
Updated during a freeze because:
- fixes building with --prefer-pkgsrc yes (used "install --")
- removes a conflict with x11/xfce4-terminal
- is a leaf package (except for meta-pkgs/deforaos-desktop)
The xhyve hypervisor is a port of bhyve to OS X. It is built on top of
Hypervisor.framework in OS X 10.10 Yosemite and higher, runs entirely in
userspace, and has no other dependencies.
Reviewed by wiz@
* Regenerate gemspec.
* Improve documentation.
* Return nil and the caller will return empty array for each method.
* Avoid exception in case of closing a file watched by notifier, like tapping
SIGINT to close the file without exception.
* Fix the logic used for retrying reads after EINVAL
* Use a specific exception class for queue overflows
* (FACT-959) Incorrect processor counts on Windows
* (FACT-1286) Only return files, never directories
* (FACT-765) Constrain windows `id` gid resolution
* (FACT-704) Fix docker detection for systemd slices
* (maint) Remove rubygems_version from gemspec.
No changelog provided, commits since 3.8.4:
- (doc) Clarify auth_membership
- (PUP-4516) Exit immediately when sent INT or TERM
- (PUP-4516) Add signal name in exit message
- (PUP-4386) Windows group invalid user error msgs
- (PUP-5308) Bump beaker dependency
- (maint) Use beaker's puppet helper
- (maint) Remove obsolete test
- (PUP-5308) Use puppet config set for future parser
- (PUP-5480) Windows dirs should inherit SYSTEM
- Remove skipping based on commit msg
- (PUP-5308) Ensure future parser setting is in main section
- (PUP-5505) Improve performance of reading service plists
- (PUP-5522) Ensure consistency of node environment attr and param
- (PUP-5547) Prevent unnecessary environment eviction
- Revert "(PUP-5547) Prevent unnecessary environment eviction"
- (PUP-5547) Prevent unnecessary environment eviction
- (PUP-5509) Ensure error context for non-numeric index error
- (PUP-5590) Detect duplicate parameter names
- (PUP-5212) Pip package honors HTTP proxy
- (maint) Use Travis container infrastructure
- (maint) Use newer bundler
- Bump ruby version to 2.1.8
- (PUP-1293) Don't ignore status when using upstart provider
- (PUP-5378) acceptance: port all-functions test to 3.x
- (PUP-5378) ensure calling_all_functions works against 4x
- (maint) acceptance-fix with() function usage
- (maint) Relax fqdn_rand regex
- (maint) acceptance: fix calling all functions-split regex
- (PUP-5658) Disallow numeric types with ranges where to < from
- (maint) Update ruby build for windows
- (maint) Change apt_host to apt_signing_server
- (RE-6205) updating ruby for CVE-2015-7551
- (PUP-5670) bump facter release tag