Recent tar releases (2.5.0, 2.4.0, ...)

I’m pleased to announce the release of tar.2.5.0 earlier this week.

This release and the previous release improves PAX support, mirage key-value write support and bug fixes:

  • in 2.4.0 the pax global header is properly skipped when reading - previous releases did not skip the header properly which would result in a corrupt read. In a future release the global header will be read and used. More on that later.
  • in 2.5.0 the file name and link name are used from per-file pax headers, if present.
  • in 2.4.0 the ustar version is correctly encoded while writing. This did not seem to cause any issues with other implementations. Unfortunately, this is a breaking change, and may break reproducibility of archives written with prior versions of ocaml-tar.
  • earlier releases the past year have been focused on adding write support to the tar-backed mirage key-value store tar-mirage.

Future release

I am working on the next release which will support the global PAX header. This introduces additional global state in the reader, and will be a breaking change. Additionally, old and (mostly) unused modules and functions will be removed. If you use any of the bits being removed please feel free to chime in and comment on what you’d like to see kept. The work in progress can be viewed at: Some major changes by reynir · Pull Request #127 · mirage/ocaml-tar · GitHub


Tar 2.5.1. was released recently. It contains a backward compatibility fix. “Normal” files ending in a slash are treated as directories. See mirage/ocamltar#129 for a discussion.

1 Like