Skip to content

Releases: mirage/irmin

3.9.0

09 Oct 09:38
Compare
Choose a tag to compare

CHANGES:

Added

  • irmin-server
  • 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)

Fixed

Removed

  • 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)

Changed

  • irmin-git

3.8.0

04 Jul 19:40
c3daafb
Compare
Choose a tag to compare

CHANGES:

Added

  • 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)

Changed

Fixed

  • 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

15 Jun 20:03
c76e1c5
Compare
Choose a tag to compare

CHANGES:

Fixed

  • irmin

  • irmin-pack

3.7.1

03 May 17:40
6851cba
Compare
Choose a tag to compare

CHANGES:

Fixed

  • 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

21 Apr 19:01
3a1649a
Compare
Choose a tag to compare

CHANGES:

Added

  • 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)

Changed

  • 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)

Fixed

  • 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

07 Mar 17:56
0d241e6
Compare
Choose a tag to compare

CHANGES:

Fixed

3.5.2

28 Feb 18:50
fb0f332
Compare
Choose a tag to compare

CHANGES:

Fixed

3.6.0

10 Feb 19:55
4669194
Compare
Choose a tag to compare

CHANGES:

Changed

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

3.5.1

05 Jan 19:04
10da10e
Compare
Choose a tag to compare

CHANGES:

Fixed

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

3.5.0

14 Dec 18:59
f3ca299
Compare
Choose a tag to compare

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 until split 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)

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 new split function. (#2126,
      @metanivek)

Fixed