Releases: jxsl13/backupfs
v0.14.0 - improve Windows compatibility
- This release introduces some small breaking changes where the creation of PrefixFS and BackupFS requires an additional error check.
- These error, currently, only occur when paths are passed that contain a Windows volume. Instead, you must wrap your filesystem in a VolumeFS containing the correct Volume name e.g.
C:
and then pass the absolute path without the volume name to either of the PrefixFS or HiddenFS constructor functions.
What's Changed
Full Changelog: v0.13.4...v0.14.0
v0.13.4 - fix MkdirAll & RemoveAll
- MkdirAll did not correctly backup/keep track of sub paths before creating directories
- RemoveAll behaved differently from the standard library. It did return an error in case that the target file path was not found. Now it does not an error anymore. Nothing found = nothing to do.
What's Changed
- Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 by @dependabot in #45
- Bump codecov/codecov-action from 4 to 5 by @dependabot in #44
- Fix MkdirAll & RemoveAll by @jxsl13 in #46
Full Changelog: v0.13.3...v0.13.4
v0.13.3 - bugfixes
v0.13.2 - exclude root directories from being modified
What's Changed
Full Changelog: v0.13.1...v0.13.2
v0.13.1 - minor bug fixes
What's Changed
Full Changelog: v0.13.0...v0.13.1
v0.13.0 - symlink bugfixes & refactoring
summary
This release refactors and improves code complexity by decreasing it (unbelievable, I know)
It removes the Windows specific option that, by default, prevented backupfs from using absolute windows (C:/a/b/c
) paths.
This is now allowed by default and the option has been removed. It was a leftover from the afero migration.
Another problem that this refactoring and bugfix release targets is the problem of backing up files that are being accessed through a sym-linked directory, e.g. /lib/systemd/system/test.txt
which in fact is /usr/lib/systemd/system/test.txt
where /lib -> /usr/lib
is a symlink in the system path.
incompatible changes
WithVolumePaths: removed - enabled by default
compatible changes
LessFilePathSeparators: added - allows to define custom sorting for non-string types outside of this library
v0.12.0 - make sort types public & improve error handling in Rollback
- bugfix sorting
- improve rollback error handling/messages
- make sort types public
compatible changes
ByLeastFilePathSeparators
: added
ByMostFilePathSeparators
: added
v0.11.2 - minor bugfixes
Full Changelog: v0.11.1...v0.11.2
v0.11.1
What's Changed
- cleanup & remove prefixFile from public api by @jxsl13 in #34
- use option pattern with variadic args for constructors by @jxsl13 in #35
Full Changelog: v0.10.0...v0.11.1
github.com/jxsl13/backupfs
incompatible changes
(*BackupFS).GetBackupFS
renamed to (*BackupFS).BackupFS
(*BackupFS).GetBaseFS
renamed (*BackupFS).BaseFS
NewBackupFS
changed from func(FS, FS) *BackupFS
to func(FS, FS, ...BackupFSOption) *BackupFS
NewBackupFSWithVolume
: removed
PrefixFile
: removed
compatible changes
BackupFSOption
: added
New
: added
NewWithFS
: added
WithVolumePaths
: added
v0.10.0
incompatible changes
Errors
ErrBackupFsNoSymlink
: removedErrBaseFsNoSymlink
: removedErrNoSymlink
: removed
Interfaces
File
: changed from github.com/spf13/afero.File to FileLinkOwner
: removed
Structs
BackupFs
: renamed toBackupFS
HiddenFs
: renamed toHiddenFS
HiddenFsFile
: removedPrefixFs
: renamed toPrefixFS
VolumeFs
: renamed toVolumeFS
Functions
NewBackupFs
: renamed toNewBackupFS
NewBackupFsWithVolume
: renamed toNewBackupFSWithVolume
NewHiddenFs
: renamed toNewHiddenFS
NewPrefixFs
: renamed toNewPrefixFS
NewVolumeFs
: renamed toNewVolumeFS
compatible changes
Interfaces
FS
: addedSymlinker
: added
Structs
OSFS
: added
Functions
IterateDirTree
: added
NewOSFS
: added
TempDir
: added
Walk
: added
What's Changed
- Bump github.com/spf13/afero from 1.9.5 to 1.10.0 by @dependabot in #26
- Bump github.com/spf13/afero from 1.10.0 to 1.11.0 by @dependabot in #27
- Bump github/codeql-action from 2 to 3 by @dependabot in #29
- Bump actions/setup-go from 4 to 5 by @dependabot in #28
- Bump codecov/codecov-action from 3 to 4 by @dependabot in #30
- Bump github.com/stretchr/testify from 1.8.4 to 1.9.0 by @dependabot in #31
- feat: remove afero dependency, only support os filesystems by @jxsl13 in #32
- make id functions private by @jxsl13 in #33
New Contributors
Full Changelog: v0.9.4...v0.10.0