Releases: mirage/irmin
Releases · mirage/irmin
3.5.0
CHANGES:
Added
- irmin-pack
- Add
Irmin_pack_unix.Stats.Latest_gc
which is now the parameter of GC's
finished
callback (#2089, @Ngoguey42) - Add
Gc.oldest_live_commit
which returns the key of the commit on which the
latest gc was called on. (#2110, @icristescu) - Add
split
to create a new suffix chunk. Subsequent writes will append to
this chunk untilsplit
is called again. (#2118, @icristescu) - Add
create_one_commit_store
to create a new store from the existing one,
containing only one commit. (#2125, @icristescu)
- Add
Changed
- irmin-pack
- Upgraded on-disk format to version 4. (#2110, @icristescu)
- Detecting control file corruption with a checksum (#2119, @art-w)
- Change on-disk layout of the suffix from a single file to a multiple,
chunked file design (#2115, @metanivek) - Modify GC to work with new chunked suffix. See
examples/gc.ml
for a
demonstration of how it works with the newsplit
function. (#2126,
@metanivek)
Fixed
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,