OCaml's Avatar

OCaml

@ocaml.org

https://ocaml.org

1,269
Followers
15
Following
546
Posts
07.02.2024
Joined
Posts Following

Latest posts by OCaml @ocaml.org

Preview
Release of OCaml 5.4.1 and 4.14.3 We have the pleasure of announcing the dual releases of OCaml 4.14.3 and OCaml 5.4.1, dedicated to the memory of Nicolaas Govert de Bruijn on the anniversary of his death. Those releases are a collection of safe and valuable runtime bugfixes. The OCaml 5.4.1 release also contains a fix for the -pack mode for macOs and various TSAN fixes. More importantly, those new versions harden the Marshal module against malicious inputs as described in the security announcement OSEC-2026-01. We are encouraging you to switch to those new releases whenever possible. Don't hesitate to report any bugs on the OCaml issue tracker and to leave comments on the discuss announcement. See the list of changes below for more details. Happy hacking, -- Florian Angeletti for the OCaml team. --- Installation Instructions The base compiler can be installed as an opam switch with the following commands: opam update opam switch create 4.14.3 opam switch create 5.4.1 The source code for the release is also directly available on: * GitHub: * https://github.com/ocaml/ocaml/archive/4.14.3.tar.gz * https://github.com/ocaml/ocaml/archive/5.4.1.tar.gz * Inria archive: * https://caml.inria.fr/pub/distrib/ocaml-4.14/ocaml-4.14.3.tar.gz * https://caml.inria.fr/pub/distrib/ocaml-5.4/ocaml-5.4.1.tar.gz
25.02.2026 13:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Dune 3.21.1 The Dune team announces the release of dune 3.21.1. This is a small patch release consisting of a few bug fixes. See the full changelog for all the changes. If you encounter a problem with this release, please report it in our issue tracker. You can also leave comments on the discuss announcement.
25.02.2026 13:12 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Grants Available for Improving Security Across the OCaml Ecosystem Building a more secure OCaml ecosystem is a community-wide effort, and now there's a major opportunity to get funded for it. The OCaml Security Team, in partnership with the OCSF, has just announced a new Security Grant program with up to €100.000 available for projects that strengthen the OCaml ecosystem's security. Whether your expertise is in building robust tooling, writing in-depth security documentation, or creating developer guides to prevent common pitfalls, the team wants to hear from you. What and How * Focus: Tooling, documentation, security guides, and infrastructure improvements. * Funding: Grants available up to 100.000€. * Deadline: Proposals must be submitted by March 1st, 2026. * Reviewers: The OCaml Security Team will evaluate all submissions. How to Apply If you have an idea that makes OCaml safer for everyone, check out the full announcement and submission instructions on the OCaml Discuss forum: Read the full announcement & apply here Let’s work together to make OCaml a more secure choice for functional programming!
05.02.2026 18:16 πŸ‘ 2 πŸ” 1 πŸ’¬ 0 πŸ“Œ 0
Preview
My (very) fast zero-allocation webserver using OxCaml Building httpz, a high-performance HTTP/1.1 parser with zero heap allocation using OxCaml's unboxed types, local allocations, and mutable local variables.

The parser achieves zero allocation by leveraging OxCaml's unboxed types and local allocation features to avoid heap pressure during request parsing.

https://anil.recoil.org/notes/oxcaml-httpz

05.02.2026 08:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

[OCaml Planet] Building httpz: a high-performance HTTP/1.1 parser with zero heap allocation using OxCaml's unboxed types, local allocations, and mutable local variables.

05.02.2026 08:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Dune-release 2.2.0 We are excited to announce the release of dune-release 2.2.0 which brings full compatibility with cmdliner 2.0.0! Please note that this release introduces a change in user-facing behavior: following the stricter requirements of Cmdliner 2.0, prefix-matching for command options is no longer supported. Users must now provide the full wording for all flags (for example, --skip-tests instead of --skip-test). We recommend that all users update their automation scripts to use explicit, full-length options to ensure a smooth transition.
04.02.2026 15:42 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
OCaml-LSP 1.25.0 This release of ocaml-lsp-server introduces support for .mlx files, new custom requests, and configuration updates for code-lens. Features * .mlx Support: Added support for .mlx files, including diagnostics, code actions, hover, and formatting via ocamlformat-mlx. * New Custom Requests: Added typeExpression, locate, and phrase requests to the server. * Code-Lens Configuration: code-lens for nested let bindings is now configurable. Fixes and Improvements * Configuration Fallback: The server now falls back to .merlin configuration if a dune-project file is missing, provided dot-merlin-reader is installed. * Metrics: Improved the precision of timestamps for collected metrics.
02.02.2026 19:27 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 1
Preview
5.6.1-504 We're happy to announce the release of merlin v5.6.1-504! This latest release brings performance optimizations, refined editor behavior, and improved stability to your OCaml development environment. Key Improvements * Smarter Signature Help: Now triggers correctly on unfinished let ... in bindings and no longer appears redundantly on function names. * More Reliable Completion: Fixed issues with completion for inlined record labels. * Improved Performance: Optimized buffer indexing and path calculations to ensure Merlin remains fast and responsive during heavy editing. * Bug Fixes: * Resolved a bug where the document command concatenated labels and variants incorrectly. * Fixed various minor issues in the underlying C code and added regression tests to prevent previous crashes from returning.
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
4.7.1-413 We're happy to announce the release of merlin v4.7.1-413, which fixes an issue in the merlin binary that prevented installation!
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
2.5.0 Hi everyone, We’re happy to announce the release of opam 2.5.0 and encourage all users to upgrade. Note: the following section will recap the various major changes in opam 2.5.0 for anyone who haven’t already read the previous pre-release announcements. For those who did, note that nothing changed between 2.5.0~beta1 and the final 2.5.0. What’s new? Some highlights: * Speedup opam update up to 70%. Thanks to @arozovyk, opam update now load opam file incrementally, only parsing the files that have changed since the last time you called opam update. Before that, opam files in opam repositories were all loaded after an update if there was any change. The performance improvement of this change thus depends on how often you call opam update and what type of repository and OS you are using. (#5824) * Improved shell integration. A number of users have been hitting issues with opam’s shell integration where parts of a previous environment was kept in the current environment, causing a number of issues. These can be triggered by, for example, nuking your opam root directory (by default ~/.opam or %LocalAppData%\opam). For this particular case we are still working on a fix, but many other users have reported similar issues without nuking their root directory and in that case we believe to have fixed the majority of issues. (dbuenzli/topkg#142, #4649, #5761) * Β² We’ve also changed the default file to which opam init writes the opam shell integration to be .bashrc instead of the previous .profile or .bash_profile when bash is detected. Doing it this way prevents some issues with existing .profile files that source the .bashrc file and causing an infinity loop when opam asks users to make sure to source their .bashrc file into their .profile file. (#5819, #4201, #3990) * The opam install script now installs an appropriate apparmor profile on systems configured with apparmor (this is enabled by default on Ubuntu). This change is not strictly speaking related to this release as it is deployed for every versions. (#5968). * Many more UI additions and improvements, bug fixes, … You can read our blog post for more information about these changes and more, and for even more details you can take a look at the release note or the changelog. --- Try it! The upgrade instructions are unchanged: For Unix systems bash -c "sh
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
2.7.1 We announce the release of opam-publish 2.7.1, whose full release notes can be seen here. Changes in opam-publish 2.7.1 In 2.7.0, opam-publish changed the way user’s branches are pushed to their GitHub forks before opening a PR, switching from using SSH keys to using the GitHub API token that opam-publish already requires. 2.7.1 fixes a couple of bugs related to that where opam-publish stopped working if the GitHub Action workflow files of upstream opam-repository are changed, owing to the way GitHub token permissions work. Thanks to @filipeom both for the original contribution in 2.7.0 and for subsequent work on it in 2.7.1. Read our blog post for more details. Please report any issues to the opam-publish bug-tracker.
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
0.28.1 We're happy to announce the release of OCamlFormat 0.28.1! Highlight * * Support for OCaml 5.4 (#2717, #2720, #2732, #2733, #2735, @Julow, @Octachron, @cod1r, @EmileTrotignon) OCamlformat now supports OCaml 5.4 syntax. Module packing of the form ((module M) : (module S)) are no longer rewritten to (module M : S) because these are now two different syntaxes. * * Reduce indentation after |> map (fun (#2694, @EmileTrotignon) Notably, the indentation no longer depends on the length of the infix operator, for example: (* before *) v |>>>>>> map (fun x -> x ) (* after *) v |>>>>>> map (fun x -> x ) @@ match can now also be on one line.
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
Release 0.28.0 Note: Release was retracted in favor of 0.28.1.
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
0.37.0 We are pleased to announce the release of ppxlib 0.37.0. This version introduces initial support for the OCaml 5.4 compiler and provides several enhancements to AST handling and code generation. Key Highlights * OCaml 5.4 Support: This release includes initial support for OCaml 5.4. * Module Derivers: Users can now derive code from module bindings and module declarations, expanding the scope of automated code generation. * New Context-Free Rules: A new rule type has been added to replace AST nodes that have specific registered attributes attached to them. * Astlib Enhancements: Added Longident.to/of_compiler to astlib to simplify the maintenance of PPXs that interact with compiler-libs components like the type checker. Bug Fixes and Improvements * Printer Fixes: Resolved an issue where infix operators (e.g., mod) were incorrectly printed as raw identifiers in Pprintast. * Migration Accuracy: Fixed 5.2 to 5.3 migration for constants to ensure correct location data, improving the quality of error messages. * AST Cleanup: The AST is now automatically cleaned of ppxlib migration attributes when using Pretty_print mode with the use_compiler_pp flag. * Custom Printing: Added a ?printer configuration parameter to pp_ast functions to support custom printers. Deprecations and API Changes * Inline Tags: Added @@@ppxlib.inline.end and formally deprecated @@@deriving.end. * Error Exposure: Ppxlib.Location.Error.t is now explicitly exposed as an alias for Astlib.Location.Error.t.
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
2.5.1 We're happy to announce the release of mdx 2.5.1, which brings support for OCaml 5.4, as well as improvements to the handling of skipped blocks in .mli/.mld files.
02.02.2026 19:27 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
3.21.0~alpha5 We're happy to announce the sixth alpha release of Dune!
02.02.2026 17:23 πŸ‘ 4 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
3.21.0~alpha4 we're happy to announce the fifth alpha release of Dune!
02.02.2026 17:23 πŸ‘ 3 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
3.21.0~alpha3 We're happy to announce the fourth alpha release of Dune!
02.02.2026 17:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
3.21.0~alpha2 We're happy to announce the third alpha release of Dune!
02.02.2026 17:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
3.21.0~alpha1 We're happy to announce the second alpha release of Dune!
02.02.2026 17:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
3.21.0~alpha0 We're happy to announce the first alpha release of Dune!
02.02.2026 17:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
2.5.0~rc1 Hi everyone, We are happy to announce the first release candidate of opam 2.5.0, which boasts a grand total of zero (0) changes compared to 2.5.0~beta1! Try the new opam 2.5.0 release candidate: The upgrade instructions are unchanged: For Unix systems bash -c "sh
02.02.2026 17:23 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0
Preview
opam 2.5.0~beta1 Feedback on this post is welcomed on Discuss! We are happy to announce the first beta release of opam 2.5.0. You can view the full list of changes in the release note. This version is a beta, we invite users to test it to spot previously unnoticed bugs as we head towards the stable release. Try it! The upgrade instructions are unchanged: * Either from binaries: run For Unix systems bash -c "sh
02.02.2026 17:23 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

odoc 3 improves documentation quality by introducing type search, source code views, and more!

https://tarides.com/blog/2026-01-29-ocaml-org-now-uses-odoc-3-what-s-new

01.02.2026 08:00 πŸ‘ 1 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

[OCaml Planet] The OCaml.org platform has now been running odoc 3 for a while. This affects how all package documentation is generated and rendered for the OCaml ecosystem. 🐫

01.02.2026 08:00 πŸ‘ 1 πŸ” 1 πŸ’¬ 1 πŸ“Œ 0

The implementation uses a log-structured merge tree approach, balancing write throughput with read performance through background compaction processes.

31.01.2026 10:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

[OCaml Planet] 🐫 Robur released Bancos, a pure OCaml persistent KV-store. No C bindings, no external dependencies, just OCaml.
https://blog.robur.coop/articles/2025-18-12-bancos.html

31.01.2026 10:00 πŸ‘ 2 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0
Preview
Extending RPC capabilities in OCurrent As our workflows become more agentic, CLI tools are becoming preferred over web GUIs; OCurrent pipelines are no exceptions.

The implementation enables programmatic access to OCurrent pipelines, making them more suitable for agentic workflows and automation scenarios.

https://www.tunbury.org/2026/01/26/ocurrent-rpc/

31.01.2026 08:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0

[OCaml Planet] OCurrent is getting extended RPC capabilities. The shift from web GUIs to CLI tools reflects broader changes in how developers interact with workflows.

31.01.2026 08:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 1 πŸ“Œ 0

🐫 This extends Mollymawk's alerting capabilities beyond the existing monitoring dashboard interface.

30.01.2026 10:00 πŸ‘ 0 πŸ” 0 πŸ’¬ 0 πŸ“Œ 0