Releases: mirage/irmin
Releases · mirage/irmin
3.4.3
CHANGES:
Fixed
- irmin-pack
- Fix read-only opening flags of mapping for read-only opening of stores that
do not have read-write rights on the files. (#2121, @Ngoguey42)
- Fix read-only opening flags of mapping for read-only opening of stores that
3.4.2
CHANGES:
Added
-
irmin
- Add
test_set_and_get*
functions to retrieve commit associated with an update to the store (#2075, @patricoferris)
- Add
-
irmin-graphql
- Expose
test_set_and_get
function as a new mutation (#2075, @patricoferris) - Add
contents_hash
function to get a value's hash (#2099, @patricoferris)
- Expose
-
irmin-pack
-
irmin-tezos-utils
Changed
- irmin-pack
irmin_pack_mem
no longer exposes disk specifics functions (#2081,
@icristescu)- Move unix specific details for
Pack_key
andPack_value
fromirmin-pack
toirmin-pack.unix
(#2084, @metanivek) - Remove unnecessary files at
open_rw
and after a failed GC (#2095, @art-w)
Fixed
- irmin-pack
- Fix data race in RO instances when reading control file (#2100, @Ngoguey42)
- Fix bugs in gc related to commits that share the same tree. (#2106,
@icristescu) - Fix the traverse pack files commands in the
irmin-tezos
CLI to work with
gced stores. (#1919, @icristescu)
3.4.1
CHANGES:
Added
-
irmin
- Add
Storage
module for creating custom storage layers (#2047, @metanivek)
- Add
-
irmin-pack
- Add
Gc.is_allowed
(#2076, @icristescu) - Add a
weight
parameter in the LRU implementation to bound
memory usage (#2050, @samoht)
- Add
Changed
Fixed
- irmin-pack
- Fix the behaviour of irmin-pack regarding hashes and keys to GCed objects.
It used to not correctly ignore these entries, which could have resulted in
various bugs. E.g. the impossibility to append an object that used to be
dead and that has its hash in index. (#2070, @Ngoguey42)
- Fix the behaviour of irmin-pack regarding hashes and keys to GCed objects.
3.4.0
CHANGES:
Added
-
irmin
- Add
Tree.seq
toTree
's public API (#1923, @metanivek)
- Add
-
irmin-fs
- Add unix subpackage,
irmin-fs.unix
(#1948, @metanivek)
- Add unix subpackage,
-
irmin-git
- Add unix subpackage,
irmin-git.unix
(#1948, @metanivek)
- Add unix subpackage,
-
irmin-graphql
- Add unix subpackage,
irmin-graphql.unix
(#1948, @metanivek)
- Add unix subpackage,
-
irmin-http
- Add unix subpackage,
irmin-http.unix
(#1948, @metanivek)
- Add unix subpackage,
-
irmin-cli
- Add new package for
irmin
command-line tool (#1951, @metanivek)
- Add new package for
-
irmin-pack
- Add a garbage collection feature, allowing a user to discard commits older
than a specified commit. This feature is only enabled for stores that use
Indexing_strategy.minimal
. The primary API isStore.Gc.run
,
Store.Gc.wait
, andStore.Gc.is_finished
. Seeexamples/gc.ml
for a
demonstration of usage. - Add a consistency check for the files on disk when opening store (#2004,
@icristescu)
- Add a garbage collection feature, allowing a user to discard commits older
Changed
-
irmin
- Replaced
Tree.node_fn
type with more generalTree.folder
type to
represent the different ways to useTree.fold
(#1918, @metanivek)
- Replaced
-
irmin-unix
- Removed the
irmin-unix
package. Unix backends are now subpackages of their
relevant backend (seeirmin-fs.unix
andirmin-git.unix
). The CLI tool is
inirmin-cli
. For common unix utilities, seeirmin.unix
. (#1953, @metanivek)
- Removed the
-
irmin-graphql
- Updated to
graphql.0.14.0
(#1843, @patricoferris, @zshipko)
- Updated to
Fixed
3.3.2
CHANGES:
Fixed
- Add a consistency check for the files on disk when opening store
(#2004, #2007, #@icristescu) - Fix
irmin-tezos
CLI and./tezos-node storage
to work with
v2 inodes (#1903, @icristescu, @Ngoguey42)
3.3.1
CHANGES:
Fixed
- irmin-pack
- Fix topology irregularities on disk which may lead to post-gc crashes.
(#1925, @Ngoguey42, @icristescu)
- Fix topology irregularities on disk which may lead to post-gc crashes.
3.3.0
CHANGES:
Added
-
irmin
-
irmin-unix
-
irmin-pack
- Add
use_fsync
,dict_auto_flush_threshold
and suffix_auto_flush_threshold
in store configuration. (#1865, @Ngoguey42)- Add
no_migrate
in store configuration. (#1893, @zshipko)
- Add
Changed
- irmin-pack
- Move
Irmin_pack.Pack_store.Indexing_strategy
to
Irmin_pack.Indexing_strategy
and the rest ofPack_store
toIrmin_pack_unix
(#1833, @Ngoguey42) - Different repos opened using the same store module no longer share caches
and file descriptors (#1852, @Ngoguey42) Snapshot.Import.close
requires a repo as additional argument (#1872,
@icristescu)- Upgraded on-disk format to version 3 to support better synchronisation
mechanism between readwrite and readonly instances. This change is not
backwards-compatible with existing stores usingirmin-pack.x.x < 3.3.0
versions. A migration done by the readwrite instance is necessary to open
older stores withirmin-pack.3.3.0
. It is not forwards compatible. (#1865) - Rename
Store.sync
toStore.reload
(#1900, @Ngoguey42). - Add
Pack_error
exception that centralizes many error cases alongside
RO_not_allowed
andUnix.Unix_error
(#1899, @Ngoguey42)
- Move
Fixed
-
irmin-pack
- Allow snapshot export to work on indexed root nodes (#1845, @icristescu)
-
irmin
- Fix Tree.export for nodes exported twice using different repos. (#1795,
@Ngoguey42)
- Fix Tree.export for nodes exported twice using different repos. (#1795,
3.2.2
3.2.1
3.2.0
CHANGES:
Added
- irmin-pack
- Add
forbid_empty_dir_persistence
in store configuration. (#1789,
@Ngoguey42) - Add
Store.Snapshot
to expose the inodes for tezos snapshots (#1757,
@icristescu).
- Add
Changed
- irmin
- Add error types in the API or proof verifiers. (#1791, @icristescu)
- Reduced the memory footprint of
Tree.fold ~uniq:`True
by a factor of 2.
(#1770, @craigfe)