AdaCore libraries 26.0 information

Hi there!

If for some reason you have been following the Alire index recently, you may have noticed me publishing the 26.0 release of various AdaCore libraries. I wanted to give a little more information about that, what the major changes are for users, etc.

  • GNATCOLL has been split into three crates:

    • gnatcoll_minimal, the base crate, meant to be a lightweight crate without dependencies on the OS
    • gnatcoll now corresponds the core subproject of the GNATCOLL repo; built on top of gnatcoll_minimal, it has everything the old gnatcoll used to have, except for the libgpr interfacing parts;
    • and finally, gnatcoll_projects depends on gnatcoll, and has the libgpr dependency for managing projects.

    gnatcoll_core has specializations for performance sensitive algorithms on certain platforms (notably, XXHASH and BLAKE3 hashes), but Alire cannot currently enable those automatically. If you want to benefit from them on your target, set the corresponding externals (documented in the crate manifest) in your alire.toml.

  • VSS has been split into two crates:

    • vss_text, library for Unicode text processing
    • vss_extra, libraries for handling JSON, Regexp, XML and other features based on vss-text. This crate might evolve and be split further in the future.
  • GNATtest has been extracted from libadalang_tools and now has its own crate.

  • SPARKlib got published as its own crate, under version 15.1.0 to match the versioning scheme of GNATprove FSF. It needs a version of gnatprove >= 15, but can also be used on its own. The GNATprove crate does not expose the bundled SPARKlib gpr files anymore, but those were broken anyway.

Further down the line, we also plan to release *-bin version of several tools, including gnatformat and gnatdoc. This would allow easier setup (notably in CI) of these tools, instead of having to compile them yourself.

10 Likes

I’m glad to see GNATtest and SPARKlib moved to their own crates, and I look forward to the *-bin releases.

Outstanding work! Thank you César!!