mirror of
https://github.com/mhx/dwarfs.git
synced 2025-08-03 17:56:12 -04:00
chore: update change log
This commit is contained in:
parent
62e2ab9006
commit
b642c18a86
82
CHANGES.md
82
CHANGES.md
@ -1,5 +1,87 @@
|
||||
# Change Log
|
||||
|
||||
## Version 0.10.0 - 2024-08-14
|
||||
|
||||
- (fix) Fixed a race condition identified by ThreadSanitizer
|
||||
in the root node name processing.
|
||||
|
||||
- (fix) The terminal abstraction code did not check any errors
|
||||
when trying to determine the terminal width, leading to a
|
||||
random terminal width value. This caused the manual page
|
||||
tests to occasionally crash.
|
||||
|
||||
- (feat) Two sets of universal binaries and binary tarballs are
|
||||
provided for Linux platforms: one without any debug symbols, the
|
||||
other with minimal debug symbols and support for stack traces.
|
||||
For the universal binary, only the version without debug symbols
|
||||
will be UPX-compressed, as the stack trace functionality doesn't
|
||||
work with a compressed binary.
|
||||
|
||||
- (feat) Symbolic links to the universal binary may now be
|
||||
suffixed with a version (i.e. any part of the name starting
|
||||
with `-` and followed by a digit will be ignored, e.g. the
|
||||
symlink could be `mkdwarfs-0.10` and it would be treated
|
||||
as `mkdwarfs`).
|
||||
|
||||
- (feat) Introduced support for extended attributes on Windows,
|
||||
including a new utility for cross-platform xattr manipulation
|
||||
(`pxattr`, for portable xattr).
|
||||
|
||||
- (feat) Enhanced file system API, adding error-code based and
|
||||
exception-safe versions for `getattr`, `access`, and similar
|
||||
functions.
|
||||
|
||||
- (feat) Filter rules now consistently use Unix path separators,
|
||||
even for the root path component. Addresses a comment in github
|
||||
discussion #228.
|
||||
|
||||
- (refactor) Extensive refactoring to improve code modularity,
|
||||
maintainability and to provide proper libraries. The library
|
||||
code has been moved to different namespaces to make it easier
|
||||
to understand the role of different components (e.g. `reader`,
|
||||
`writer`, `extractor`).
|
||||
|
||||
- (refactor) Replaced all `folly` library dependencies in the public
|
||||
DwarFS library interface with alternatives from libraries like
|
||||
e.g. `boost` or `nlohmann::json` which are more broadly available.
|
||||
`folly` and `fbthrift` are still used as implementation details,
|
||||
but no longer leak into the public library interfaces.
|
||||
|
||||
- (refactor) A much smaller subset of `folly` is now used in DwarFS
|
||||
and only the necessary components are built, significantly
|
||||
reducing the number of compilation units when building DwarFS.
|
||||
|
||||
- (build) It is now possible to do modular builds in addition to
|
||||
the default monolithic build, i.e. you can build and install
|
||||
just the DwarFS libraries and later build/install the tools
|
||||
(`mkdwarfs`, ...) and/or the FUSE driver against these libraries.
|
||||
This is particularly useful for packaging (e.g. in Homebrew,
|
||||
which has removed all FUSE support from the core formulae).
|
||||
|
||||
- (build) Shared library builds are now explicitly supported.
|
||||
This fixes issues such as github #184.
|
||||
|
||||
- (build) The source tarball now contains all auto-generated code,
|
||||
e.g. manual pages or generated thrift code. This reduces the
|
||||
number of build-time dependencies (e.g. `ronn` or `mistletoe`
|
||||
are no longer required) and significantly reduces the build
|
||||
steps (it is no longer necessary to build the thrift compiler).
|
||||
The build is now roughly twice as fast as in the 0.9.x releases.
|
||||
|
||||
- (build) The `parallel-hashmap`, `xxHash` and `zstd` submodules
|
||||
have been removed from the git repo and are no longer added to
|
||||
the source tarball. Both `xxHash` and `zstd` are now widely
|
||||
available. If a suitable version of `parallel-hashmap` is found
|
||||
on the system, this will be used, otherwise it will be fetched
|
||||
during the build. Being a header-only library and only used
|
||||
internally, there's no need for it to be installed.
|
||||
|
||||
- (build) A *lot* of GCC warnings have been fixed and upstreamed
|
||||
to `folly` / `fbthrift`.
|
||||
|
||||
- (test) Fixed some flaky tests, e.g. unmounting the FUSE driver
|
||||
on macOS, or the manpage test that used to crash occasionally.
|
||||
|
||||
## Version 0.9.10 - 2024-05-30
|
||||
|
||||
- (fix) When cloning LZMA compressor objects, the LZMA filter options
|
||||
|
Loading…
x
Reference in New Issue
Block a user