Skip to content

Tags: mirage/irmin

Tags

3.10.0

Release 3.10.0

CHANGES:

- **irmin-git**
  - Expose `Content_addressable` type (#2329, @art-w)

- **irmin**
  - Rename `Node.S.effect` to `read_effect` for OCaml 5.3 compatibility (#2347, @art-w)

- **irmin-client**
  - Fix a fd leak when using `clone` (#2322, @samoht)
- **irmin-git**
  - Fix git sync example (#2327, @art-w)
  - Fixed issue with two subsequent `Irmin-git` repos, where one
    repo would lose the ability to find its root path (#2326, @zazedd)
- **irmin**
  - Fix CI, update dependencies (#2321, @smorimoto)
  - Update documentation (#2323, #2324, #2325, @christinerose)
- **irmin-cli**
  - Fix uncaught exception (#2326, @art-w)

- **irmin**
  - Removed `?allow_duplicate` parameter from the `Conf.key` function (#2326, @zazedd)

3.9.0

Release 3.9.0

CHANGES:

- **irmin-server**
  - Added `irmin-server` package (#2031, @zshipko)
- **irmin-client**
  - Added `irmin-client` package to connect to `irmin-server` instances (#2031,
    @zshipko)
- **irmin**
  - Add pretty printers for `Commit`, `Tree`, `Info`, `Status`, `Branch` when
    using `utop` (@metanivek, #1839)

- **irmin-pack**
  - Fix index integrity check for v3 stores (#2267, @metanivek)

- **irmin-http**
  - Removed `irmin-http` since it is not compatible with generic keys.
    `irmin-grapqhl` or `irmin-server` should be used instead. (#1902, @zshipko)
- **irmin**
  - Removed stream proofs. We now only have Merkle tree proofs. This simplifies
    the maintenance of that part of the code, as ensuring the correct order of
    cached IO operations was tricky for stream proofs (#2275, @samoht)

- **irmin-git**
  - Moved lower bounds to `git.3.14.0` to use new function (#2277, @metanivek)

3.8.0

Release 3.8.0

CHANGES:

- **irmin**
  - Change behavior of `Irmin.Conf.key` to disallow duplicate key names by
    default. Add `allow_duplicate` optional argument to override. (#2252,
    @metanivek)

- **irmin-pack**
  - Add maximum memory as an alternative configuration option, `lru_max_memory`,
    for setting LRU capacity. (@metanivek, #2254)

- **irmin**
  - Lower bound for `mtime` is now `2.0.0` (#2166, @patricoferris)

- **irmin-mirage-git**
  - Lower bound for `mirage-kv` is now `6.0.0` (#2256, @metanivek)

- **irmin-cli**
  - Changed `--store irf` to `--store fs` to align the CLI with what is
    published on the Irmin website (#2243, @wyn)

3.7.2

Release 3.7.2

CHANGES:

- **irmin**
  - Fix performance issue in `Tree.length` (#2258, @art-w)

- **irmin-pack**
  - Fix snapshot export when using lower layer (#2257, @metanivek)

3.7.1

Release 3.7.1

CHANGES:

- **irmin-pack**
  - Fix issue when migrating v2 stores to use lower layer (@metanivek, #2241)
  - Fix issue when calling GC for a commit in the lower after migration
    (@metanivek, #2242)

3.7.0

Release 3.7.0

CHANGES:

- **irmin**
  - Add `Conf.pp` and `Conf.equal` to print and compare configuration values
    (#2227, @samoht)
  - Add a `clear` optional arguments to all function that adds a new commit:
    `Commit.v`, `set`, `set_tree`, `remove`, `test_and_set`,
    `test_and_set_tree`, `test_set_and_get`, `test_set_and_get_tree`, `merge`,
    `merge_tree` and `with_tree`. This new argument allows to control whether
    the tree caches are cleared up after objects are exported to disk during
    the commit. (#2225, @samoht)

- **irmin-pack**
  - Add configuration option, `lower_root`, to specify a path for archiving data
    during a GC. (#2177, @metanivek)
  - Add `is_split_allowed` to check if a store allows split. (#2175, @metanivek)
  - Add `add_volume` to allow creating new empty volume in lower layer. (#2188,
    @metanivek)
  - Add a `behaviour` function to the GC to check wether the GC will archive or
    delete data. (#2190, @Firobe)
  - Add a migration on `open_rw` to move the data to the `lower_root` if
    the configuration was enabled (#2205, @art-w)

- **irmin**
  - Expose type equality for `Schema.Info` to avoid defining the `info` function
    multiple times when using similar stores (#2189, #2193, @samoht)
- **irmin-pack**
  - GC now changes its behaviour depending on the presence of a lower layer.
    (#2190, @Firobe)
  - Split now raises an exception if it is not allowed. It is not allowed on
    stores that do not allow GC. (#2175, @metanivek)
  - GC now supports stores imported V1/V2 stores, in presence of a lower layer
    only. (#2190, @art-w, @Firobe)
  - Upgrade on-disk format to version 5. (#2184, @metanivek)
  - Archive to lower volume does not copy orphaned commits. (#2215, @art-w)

- **irmin-pack**
  - Unhandled exceptions in GC worker process are now reported as a failure
    (#2163, @metanivek)
  - Fix the silent mode for the integrity checks. (#2179, @icristescu)
  - Fix file descriptor leak caused by `mmap`. (#2232, @art-w)

3.6.1

Release 3.6.1

CHANGES:

- **irmin-pack**
  - Clear LRU when calling `reload` after a GC (#2200, @metanivek)

3.5.2

Release 3.5.2

CHANGES:

- **irmin-pack**
  - Clear LRU when calling `reload` after a GC (#2200, @metanivek)

3.6.0

Release 3.6.0

CHANGES:

- **irmin-pack**
  - Improve GC reachability traversal to optimize memory, speed and remove
    the need for temporary files. (#2085, @art-w)

3.5.1

Release 3.5.1

CHANGES:

- **irmin-pack**
  - Integrity check of a commit works on stores using the minimal indexing
    strategy. (#2160, @icristescu)