opam 2.0.9 release
Feedback on this post is welcomed on Discuss!
We are pleased to announce the minor release of opam 2.0.9.
This new version contains some back-ported fixes.
New features
- Back-ported ability to load upgraded roots read-only; allows applications compiled with opam-state 2.0.9 to load a root which has been upgraded to opam 2.1 [#4636]
- macOS sandbox now supports
OPAM_USER_PATH_RO
for adding a custom read-only directory to the sandbox [#4589, #4609] OPAMROOT
andOPAMSWITCH
now reflect the--root
and--switch
parameters in the package build [#4668]- When built with opam-file-format 2.1.3+, opam-format 2.0.x displays better errors for newer opam files [#4394]
Bug fixes
- Linux sandbox now mounts host
$TMPDIR
read-only, then sets the sandbox$TMPDIR
to a new separate tmpfs. Hardcoded/tmp
access no longer works ifTMPDIR
points to another directory [#4589] - Stop clobbering
DUNE_CACHE
in the sandbox script [#4535, fixing ocaml/dune#4166] - Ctrl-C now correctly terminates builds with bubblewrap; sandbox now requires bubblewrap 0.1.8 or later [#4400]
- Linux sandbox script no longer makes
PWD
read-write on remove actions [#4589] - Lint W59 and E60 no longer trigger for packages flagged
conf
[#4549] - Reduce the length of temporary file names for pin caching to ease pressure on Windows [#4590]
- Security: correct quoting of arguments when removing switches [#4707]
- Stop advertising the removed option
--compiler
when creating local switches [#4718] - Pinning no longer fails if the archive's opam file is malformed [#4580]
- Fish: stop using deprecated
^
syntax to fix support for Fish 3.3.0+ [#4736]
Installation instructions (unchanged):
- From binaries: run
bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh) --version 2.0.9"
or download manually from the Github "Releases" page to your PATH. In this case, don't forget to run opam init --reinit -ni
to enable sandboxing if you had version 2.0.0~rc manually installed or to update you sandbox script.
- From source, using opam:
opam update; opam install opam-devel
(then copy the opam binary to your PATH as explained, and don't forget to run opam init --reinit -ni
to enable sandboxing if you had version 2.0.0~rc manually installed or to update your sandbox script)
- From source, manually: see the instructions in the README.
We hope you enjoy this new minor version, and remain open to bug reports and suggestions.
About OCamlPro:
OCamlPro is a R&D lab founded in 2011, with the mission to help industrial users benefit from experts with a state-of-the-art knowledge of programming languages theory and practice.
- We provide audit, support, custom developer tools and training for both the most modern languages, such as Rust, Wasm and OCaml, and for legacy languages, such as COBOL or even home-made domain-specific languages;
- We design, create and implement software with great added-value for our clients. High complexity is not a problem for our PhD-level experts. For example, we helped the French Income Tax Administration re-adapt and improve their internally kept M language, we designed a DSL to model and express revenue streams in the Cinema Industry, codename Niagara, and we also developed the prototype of the Tezos proof-of-stake blockchain from 2014 to 2018.
- We have a long history of creating open-source projects, such as the Opam package manager, the LearnOCaml web platform, and contributing to other ones, such as the Flambda optimizing compiler, or the GnuCOBOL compiler.
- We are also experts of Formal Methods, developing tools such as our SMT Solver Alt-Ergo (check our Alt-Ergo Users' Club) and using them to prove safety or security properties of programs.
Please reach out, we'll be delighted to discuss your challenges: contact@ocamlpro.com or book a quick discussion.
Most Recent Articles
2024
- Archéologie de la Généalogie: prise en main et optimisation d’un logiciel vieux de 30 ans
- Alt-Ergo 2.6 is Out!
- Flambda2 Ep. 3: Speculative Inlining
- opam 2.2.0 release!
- Flambda2 Ep. 2: Loopifying Tail-Recursive Functions
- Fixing and Optimizing the GnuCOBOL Preprocessor
- OCaml Backtraces on Uncaught Exceptions
- Opam 102: Pinning Packages
- Flambda2 Ep. 1: Foundational Design Decisions
- Behind the Scenes of the OCaml Optimising Compiler Flambda2: Introduction and Roadmap
- Lean 4: When Sound Programs become a Choice
- Opam 101: The First Steps
2023
- Maturing Learn-OCaml to version 1.0: Gateway to the OCaml World
- The latest release of Alt-Ergo version 2.5.1 is out, with improved SMT-LIB and bitvector support!
- 2022 at OCamlPro
- Autofonce, GNU Autotests Revisited
- Sub-single-instruction Peano to machine integer conversion
- Statically guaranteeing security properties on Java bytecode: Paper presentation at VMCAI 23
- Release of ocplib-simplex, version 0.5
- The Growth of the OCaml Distribution