opam 2.1.3 is released!
Feedback on this post is welcomed on Discuss!
We are pleased to announce the minor release of opam 2.1.3.
This opam release consists of backported fixes:
- Fix
opam init
andopam init --reinit
when thejobs
variable has been set in the opamrc or the current config. (#5056) opam var
no longer fails if no switch is set (#5025)- Setting a variable with option
--switch <sw>
fails instead of writing an invalidswitch-config
file (#5027) - Handle external dependencies when updating switch state pin status (all pins), instead as a post pin action (only when called with
opam pin
(#5046) - Remove windows double printing on commands and their output (#4940)
- Stop Zypper from upgrading packages on updates on OpenSUSE (#4978)
- Clearer error message if a command doesn't exist (#4112)
- Actually allow multiple state caches to co-exist (#4554)
- Fix some empty conflict explanations (#4373)
- Fix an internal error on admin repository upgrade from OPAM 1.2 (#4965)
and improvements:
- When inferring a 2.1+ switch invariant from 2.0 base packages, don't filter out pinned packages as that causes very wide invariants for pinned compiler packages (#4501)
- Some optimisations to
opam list --installable
queries combined with other filters (#4311) - Improve performance of some opam list combinations (e.g.
--available
,--installable
) (#4999) - Improve performance of
opam list --conflicts-with
when combined with other filters (#4999) - Improve performance of
opam show
by as much as 300% when the package to show is given explicitly or is unique (#4997)(#4172) - When a field is defined in switch and global scope, try to determine the scope also by checking switch selection (#5027)
You can also find API changes in the release note.
Opam installation instructions (unchanged):
-
From binaries: run
$ bash -c "sh <(curl -fsSL https://raw.githubusercontent.com/ocaml/opam/master/shell/install.sh) --version 2.1.3"
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
- opam 2.3.0 release!
- Optimisation de Geneweb, 1er logiciel français de Généalogie depuis près 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