File libimmer.changes of Package libimmer

-------------------------------------------------------------------
Thu Jan 15 17:34:01 UTC 2026 - marec@detebe.org

- Update to version 0.9.1:
  * Add the IMMER_GC_TEST_GUARD to more tests
  * Restrict the value-constructor of immer::box
  * Fix issues with collections of boxes failing to compile
  * Add pkg-config to nix shell
  * Add direnv support
  * Streamline shell.nix
  * Add backwards compatibility for oss-fuzz
  * Some gc test failures on Linux arm
  * Add one job per build
  * Simplify test matrix
  * Fuzzers and sanitizers are already built with `nix build`
  * Fix building on macos arm...
  * Update Github Actions to latest changes
  * Upgrade nixpkgs to nixos-25.11
  * Unify `nix-build` and `nix build` and `nix flake check`
  * Enable cmake-format for emacs users
  * Simplify the way to enable benchmarks and Valgrind in tests
  * Fix some tests using libgc fail when enabling ASan
  * Fix building immer::persist with ASan on GCC
  * Fix compiling with GCC because of false warnings
  * Unify nix-build and nix-shell code
  * Fix benchmarks would not compile
  * Style: clang-format some benchmark files
  * Fix CMake warnings
  * More GCC fixes
  * Make `nix develop` equivalent to `nix-shell`
  * Use pinned version of nixpkgs from flake
  * Make immer::persist build with GCC
  * Delete shell-compat.nix
  * Make immer::persist build with standard nix-shell
  * Use nixfmt-rfc-style instead of alejandra
  * Remove pre-commit-hooks

-------------------------------------------------------------------
Wed Dec 03 17:33:06 UTC 2025 - marec@detebe.org

- Update to version 0.9.0:
  * Bump version 0.9.0
  * Fix free lists would misalign the data in a very stupid way
  * Fix upload-artifact issue
  * include <exception> for std::termiate
  * fix: syntax error in cmake utility function
  * Use sfinea to conditionally exclude iterator facade operators
  * Add default ctor ability to gc policy's edit
  * Update README.rst with build2 instruction
  * Mark package as arch independent
  * Support hash size that's not std::size_t
  * Run cmake-format on cmake file
  * Allow users to explicitly enable or disable exceptions
  * Fix exception detection code
  * cereal loading into containers must not append
  * Make persist compatible with C++17
  * Use an American spelling of "stabilizes"
  * Fix typos in the documentation
  * Ooopsie, last commit broke file references
  * Ooops, subfolders cause problems with images in the sidebar
  * Turn the persistence into multiple pages and...
  * Wrap the text at 72 characters
  * Fix missing include
  * Document that incompatible_hash_wrapper caches the container
  * Split with_pools.hpp into save and load
  * Remove any mention of spdlog
  * Explain the purpose of values_save and values_load
  * Add option to pass parameters to cereal archive
  * More compact maps format: pairs are lists of 2 elements
  * Support persisting immer::array
  * After merge fixes
  * Try fix usage of distance with glm
  * Auto-format
  * Rephrase the descriptions
  * Document the missing public API parts
  * Transforming nested containers
  * More on the hash-based containers
  * Describe more transformations
  * Move the persist docs
  * Describe transforming into the same type
  * Comments for the archive wrappers
  * Move more stuff into details
  * Simplify xx_hash definitions
  * Rename the cereal archive wrappers
  * Custom policy
  * Renames
  * Map and vector cereal support is not part of persist
  * Separate details from public API
  * Remove some functions from the API part
  * Fix build
  * WIP Splitting implementation details from public API
  * Move out non-API docs
  * Rephrase the pool explanation. More implementation docs.
  * Policies documented
  * More narration in the docs, less in the code
  * Start the docs for persist, document the policy concept
  * Start the docs for persist
  * Rename to get_pools_for_hana_type to make it clear it expects a hana struct
  * Save B and BL in vector pools
  * Policy returns the pool's name directly
  * Remove wrapping functions from the policy
  * Reduce hana in the interface
  * Add to_json streaming version
  * Runtime detection of non-unique pool names
  * Fix types traversal
  * Export hasName from previous
  * Policy controls how the final value is saved into the archive
  * Define policies to control how pool types and names are defined
  * Remove loaders from the pools for the normal scenario
  * Less repetition with load_pools
  * Remove dead code
  * Increase/preserve structural sharing with boxes by preferring the older ones
  * Demonstrate the problem with boxes and recursive types
  * Test XML and streamline output archive
  * Unified custom archives
  * More generic custom archives implementation
  * Recursive traversal of types to generate required pools
  * Rename "archive" into "persist"
  * Loading inside or outside of the archive preserves sharing
  * Demonstrate the current problem with two loaders
  * Using defaulted equality operator where possible
  * Type-wrapping function is customizable
  * Avoid generating useless JSON string
  * Support converting hash-based containers even when transformation changes the hash
  * Hit a weird compile-time bug with hana::overload
  * boost::hana::value template is unnecessary
  * Fix building with Clang14
  * Load once again with exceptions enabled to validate the archive's consistency
  * Fix loading a nested archive
  * Converting loaders handle exceptions without corrupting memory
  * Trying to reproduce the weird crash but failing
  * set conversion
  * Convert table properly
  * Conversion continues, map works
  * Conversion preserves internal structural sharing
  * Recursive transformation works, mostly
  * Demonstrate the problem of circular dependency between archives
  * Add missing traits for conversions
  * Fix for when not all archive types are converted
  * Much better interface for the recursive archives transformation
  * Recursive transformation actually works
  * Explore the problem of conversion
  * Ran `pre-commit run --all-files`
  * Format cmake
  * Disable format around NONIUS_BENCHMARK calls
  * Do not format tools/include
  * Manually fixed files because the include order matters
  * Enable auto-format
  * Fix build for clang 14
  * Try auto-archive with type conversion
  * Saving and loading with archives for immer-types without wrapping them in archivable
  * Remove the is_constructible check because it breaks the usecase with forward declared types
  * Support loading from streams
  * Add save_archives helper function for the app code
  * Test conversion with a special archive
  * Archive conversion for tables
  * Rename immer-archive into just archive
  * Rename fix_leaf_nodes to to_load_archive, in line with champ
  * Champ archive conversion for a map
  * Test vectors archive conversion
  * Make sure that the type names are unique
  * Test recursive map, no problems
  * Recursive box seems to work
  * Start testing recursive types, WIP
  * Box archiving. Recursive type WIP
  * Comfortable shell in macOS and Linux with `nix develop`
  * Integrate immer-archive
  * set/map nothrow move constructible/assignable
  * Include util.hpp
  * Make `details::aligned_storage` trivially constructible
  * Remove usage of `std::aligned_storage`
  * Make immer::box work with forward declared types
  * Do not disable StrictHostKeyChecking
  * Use standard ssh port and correct path for uploading docs
  * Fixes `difference_type` being mispelled as `diference_type`.
  * Fuzzers do not require Catch2
  * Use Catch2 v3
  * cmake: Only use ccache for C++
  * Fix portability of IMMER_THROW when exceptions are disabled
  * Add vcpkg installation instructions
  * Add example with variant, same issue
  * Add test for case shown by @ajihyf

-------------------------------------------------------------------
Tue Oct 03 15:07:38 UTC 2023 - marec@detebe.org

- Update to version 0.8.1:
  * cmake: use ${CMAKE_CURRENT_SOURCE_DIR} where possible
  * cmake: drop FindGuile.cmake
  * Drop unused copy of Catch2
  * Switch to system Catch2
  * nix: disable tests & examples
  * Drop the unused doctest copy
  * tests: port dvektor to catch2
  * Trying to satisfy LLVM.
  * Remove unneeded include
  * Manual destroy_at for C++14
  * Add missing #include required by gcc
  * Fix whitespace
  * Remove unused capture default
  * Use destroy_at to call explicit destructor in make_inner_n
  * Fix MSVC compile error C2975
  * Fix MSVC compile error C2059
  * Upgrade Nix in Actions
  * Fix includes
  * Upgrade install-nix-action
  * Use alternative logo in dark mode
  * Return a direct reference from iterator operator[]
  * Fixing annoying unused local variable warning
  * Fixes and tests for C++20 Range compatibility
  * Make pretty-printer loading more robust
  * Add .gdbinit file to autoload pretty printers
  * Add array printer
  * Add table printer
  * Add GDB pretty-printing support
  * Fix typos
  * Add quotes
  * Add export CMake Config version file
  * Fix wrong order in operator<(T2, box<T>)
  * Use lambda for initialization.
  * Fixing assertions.
  * Attempt to make flex_vector nothrow move constructible/assignable.
  * Lower constants for memory usage so CI does not timeout
  * Add benchmarks for checking CHAMP memory usage

-------------------------------------------------------------------
Sat Dec 10 15:52:57 UTC 2022 - marec@detebe.org

- Update to version 0.8.0:
  * Do not install specific old version of Nix
  * Upgrade install-nix-action
  * Upgrade cachix action
  * Prepare release 0.8.0
  * Add identity API
  * Add CIFuzz GitHub action
  * Add fuzzers that produce more conflicts
  * make clang ignore gcc pragma warning for champ
  * Strengthen the fuzzers even further
  * Fix issues in map/set erase() found by fuzzer
  * Fix fuzzer was not doing what we thought it did
  * Add set fuzzer that can find if the tree is corrupted by moves
  * Add map fuzzer that can find if the tree is corrupted by moves
  * Fix typo in comment
  * Fix debug stats
  * Remove dec_unsafe() from the policies
  * Remove dec_unsafe() usage in HAMT data-structures
  * Remove usage of dec_unsafe() in RBTS data-structures
  * Fix sometimes HAMTs would move out values that it should not!
  * Fix iteration over data-structures would sometimes allow mutation!
  * Add update_if_exists method to map and table and related transients
  * Fix table and table_transient update()
  * Improve debug stats API
  * Add tools for printing statistics about trees
  * Fix memory leak
  * Try something
  * Remove vestige
  * Fix memory leak
  * Add test for memory leak found by oss-fuzz
  * Add update_move operation to map fuzzer
  * Remove vestige
  * Ensure that champ update operations move the payload in the value
  * Fix #219, ambiguous calls to destroy_n
  * Move objects whenever possible during champ erasure operations
  * Fix -fno-exceptions build (regression from 35147686)
  * Fix ambiguities when compiling in C++17 mode
  * Mark a bunch of functions as noexcept
  * Fix implementation of unordered_copy
  * Optimize our own implementation of uninitialized_copy
  * Use std::copy when possible, our own uninitialized_copy elsewhere
  * Our own implementations for uninitialied_... are better, use always
  * Improve implementation of std shims
  * Use standard library implementations of shims whenever possible
  * Move values when node can be mutated but needs realloc (champ::update_mut)
  * Move values when node can be mutated but needs realloc (champ::add_mut)
  * Fix table documentation header
  * Improve sequential initialization of HAMTs
  * Update the documentation of HAMT-based transients
  * Make immer::table and table_transient use mutation when possible
  * Add missing link table_transient in the documentation
  * Add benchmarks for HAMT erasure
  * Ensure that edit markers are set properly during transient updates
  * Sketch mutable removal from HAMTs
  * review: add  to docs/container & fix update docs
  * Fix mutable HAMT insertion with conflicts
  * Test more exception safety of mutable operations on vectors
  * Style: clang-format
  * Implement transients for map update()
  * add docs & run clang-format
  * add test stub for table_transient
  * cosmetics + table tests
  * Fix sanitizers were not properly enabled in CI
  * Fix memory leak when mutating inner nodes
  * add headers + examples
  * cosmetic fixes
  * Fix insertion benchmarks
  * Mutate collision nodes in-place when possible
  * Mutate champ nodes values in place when possible
  * Fix potential destruction of uninitialized values
  * Reuse same-sized inner nodes during HAMT insertions
  * Sketch implementation interface for transient insertion
  * Add move and transient versions for the HAMT insertion benchmarks
  * Style: clang-format
  * Add naive implementation of map and set transients
  * Add move-based updates on immutable maps and sets
  * Add map and set range constructors
  * Sketch map and set transient types
  * Fix compiling some tests would crash
  * Immer is compatible with C++14
  * Add spm job
  * Work on SPM support.
  * Update README.rst
  * Update README.rst
  * Update README.rst
  * Update memory.rst
  * Update atom.hpp
  * Update transients.rst
  * Update map.hpp
  * Update vector.hpp
  * Update array.hpp
  * Update array.hpp
  * fix typo
  * Fix typo in documentation of diff
  * Tweak diff docs
  * Add missing header
  * Add the diffing algorithm to the fuzzers
  * Document diff algorithm
  * Simplify diff algorithm interface
  * Avoid passing Differ template param, use universal references
  * Remove incorrect usage of std::forward
  * Introduce struct differ
  * Add diff to set and avoid std::pair in champ
  * Add diffing algorithm to maps
  * Typo fix: frony -> front
  * Do not try to use a build dir, because we have a BUILD file
  * Do not rely on git to fetch the code locally
  * Allow changing nixpkgs version
  * Upgrade Nix related actions
  * Disable ssh stuff when it's not me
  * Ignore Nix result links
  * Fix comment

-------------------------------------------------------------------
Tue Nov 09 18:10:49 UTC 2021 - marec@detebe.org

- Update to version 0.7.0:
  * Bump version
  * Make script NixOS compatible
  * Fix Catch exception throwing tests
  * Upgrade Catch to fix issues with C++20
  * Style: clang-format
  * Fix sign issues
  * Fix C++20 construction issue
  * Fix some comparison operators are ambiguous under C++20
  * Disable newer warning causing false positives
  * Add C++20 to CI
  * Upgrade Nix
  * Fix Nix issues
  * Fix nix-build failing with newer nixpkgs
  * Allow disabling debug_size_heap
  * Clean up.
  * Add overloaded versions that only participate in overload resolution if is_transparent is set.
  * Added support for transparent hash for maps and sets.
  * Change <exception> include to <stdexcept>
  * Fix issue #177
  * Documentation fixes
  * Fix Github action
  * Add missing include
  * Update README badge
  * Delete Travis configuration
  * Fix, use ssh key to upload benchmark reports
  * Fix GNU errors
  * Reorder jobs
  * Use better system for specifying options in the matrix
  * Fix build job
  * Migrate to Github Actions
  * Added missing <immer/config.hpp> and <cstddef> includes
  * clang-format
  * Fix issues when using libgc and vectors
  * Fix exit-time destructor warning from Clang for rbts
  * Make excpetions optional depending on build-time feature checks.
  * Fix exit-time destructor warning from Clang for champ
  * Fix OSS-Fuzz issue 24466
  * Fix crash 5078027885871104
  * Fix misprint
  * Fix #127
  * Fix popcount overload resolution problem
  * Use smaller ints for bitmap_t if applicable
  * Fix #149
  * Limit the size of the fuzzer input
  * Fix GC based fuzzers would sometimes run out of memory
  * Add flag to enable memory sanitizer
  * Fix issues 24374 and 24393
  * Allow enabling IMMER_GC_REQUIRE_INIT from the outside
  * Fix issue 24412
  * Attempt to reproduce 24371
  * Update tracing of flex-vector-gc fuzzer vm
  * Add fuzzers w/o free list to avoid hiding leaks
  * Add missing new-line
  * Fix issue 24366
  * Reduce can_compare
  * Use gc_gcollect instead of gc_collect_a_little
  * Decouple locking policy from refcount policy
  * Increase the number of bits in the new flex vector test
  * Add new fuzzer for flex vectors with `embed_relaxed`
  * Remove redundant returns
  * Enable collissions in map and set fuzzing
  * Do not loop on GC_collect_a_little
  * Use latest compilers for running benchmarks
  * Fix formula for deriving the maximum size of an rrbtree
  * Reproduce 24339
  * Fix subtle bug producing too much rebalancing in flex vector
  * Oooops!
  * Add tracing for flex_vector fuzzer test
  * Attempt fix 24159 and 24159
  * Fix timeouts 24244 and 23176
  * Remove dead code
  * Collect garbage on every input to increase determinism
  * Thanks, gcc!
  * Add proper concat size safety guard for non-gc flex vector fuzzer
  * Fix issue 24147
  * Fix issue 24144
  * Attemp to reproduce 24139
  * Add support for LLVM 10 in nix shell
  * Fix flex-vector-gc fuzzer issues related to large concats
  * Attempt to reproduce 24209
  * Attempt to reproduce 24196
  * Attempt to reproduce 24168
  * Attempt to reproduce 24162
  * Attempt to reproduce 24143
  * Fix oss-fuzz issue 24148, and potentially others
  * Split sanitization flags
  * Fix typo: chungs -> chunks.
  * Add fuzzers for garbage collected arrays
  * clang-format fuzzer code
  * Fix linking issues
  * Upgrade LLVM, older version are not in Nix anymore
  * Fix nix upgrade
  * Remove noop operations
  * Revert "Only link libgc with the necessary fuzzers"
  * Only link libgc with the necessary fuzzers
  * Use LIB_FUZZING_ENGINE when provided
  * Build and run fuzzers on CI
  * Add simple way to build the fuzzers
  * Upgrade the way we set up the toolchain
  * Damn you Travis!
  * Remove over constraining assertion, fixes #134
  * Add Emacs dir-locals
  * Added set::find
  * Mention Lager in README
  * Improve to-do information for map and set transients...
  * Reorganize documentation
  * Format everything with clang-format
  * Add clang-format file
  * Fix iterator facade not properly exposing iterator traits
  * FIX: MSVC static analysis warnings
  * Minimal changes to support inclusion via add_subdirectory()
  * Fix issues with array capacity
  * Fix position.hpp integer shift warnings on 64-bit systems
  * Add test that array_transient default constructor compiles
  * Fix compilation error when default-initializing array_transient
  * Get some extra list-initialised tuples missed by 7d930f8
  * Replace list-initialised tuples with std::make_tuple
  * Create FUNDING.yml
  * Ooops!
  * remove dead code, fix var naming, rewrite loops
  * add fuzzers for array, map and set
  * Add method to get a mutable reference from a transient array
  * add missing include in flex-vector fuzzer
  * rename macro
  * more macros
  * remove define in node.hpp
  * Make tagged nodes configurable
  * Add empty() methods for map and set
  * Fix array transient empty
  * Remove bogus submodule definition
  * Fix invalid access regarding storing unaligned types
  * Cleanup test
  * Disable Nix hardening flags, so we can see vars in gdb
  * Test to reproduce invalid write after allocated buffer with immer::set and a type without alignment requirements
  * Workaround internal compiler crash
  * Fix warning about capturing polymorphic exception by value
  * Fix warning about deperacted implicit copy contructor
  * Fix warning about unnecessary move
  * Fix issue #91
  * Upgrade nixpkgs
  * fixed typo in comment of set.hpp
  * MSVC: support 32bit builds
  * Update config.hpp
  * Update config.hpp
  * Fix warnings with msvc + [[nodiscard]] support
  * Add missing include call

-------------------------------------------------------------------
Mon Oct 25 19:15:41 UTC 2021 - marec@detebe.org

- Update to version 0.6.2:
  * Bump version
  * Fix array::empty
  * Expand macros in the documentation
  * Bump version
  * Remove unnecessary tools that cause warnings on Fossology
  * Bump version
  * Remove unnecessary tool
  * Fix license headers
  * Actually fix issues found by [nodiscard]
  * Add minimal Bazel support

-------------------------------------------------------------------
Mon Oct 25 18:46:01 UTC 2021 - marec <marec@detebe.org>

- initial package build
openSUSE Build Service is sponsored by