The latest release of Gleam, version 1.5, brings several improvements to the statically typed language designed for the Erlang virtual machine and JavaScript runtimes. This release, launched on September 19, enhances the development experience by introducing key productivity features, most notably upgraded compile-time error messages. The improved error messages now provide more clarity when dealing with inexhaustive pattern matching. Developers can easily view unmatched values in the exact syntax used in their code, including aliases and imported modules, making it simpler to understand and fix errors. In fact, missing patterns can now be copied directly from the error message into the source code, speeding up debugging.
Another significant addition in Gleam 1.5 is implicit todo formatting. If a developer writes a “use” expression but leaves the code block incomplete, the compiler will now automatically insert a “todo” expression. This change, along with updates to the Gleam code formatter, makes it clearer to developers that a block of code is still pending completion, enhancing readability and reducing confusion.
Version 1.5 also continues the momentum built by the March release of Gleam 1.0, followed by a series of point releases that have steadily improved the language. Positioned as a tool for building type-safe systems that scale, Gleam continues to refine its offerings. In this release, the language server gains new features such as code actions, including auto-completion for local variables and function arguments. These enhancements simplify development workflows, reducing the amount of manual input required from developers.
For those running Gleam in their development environment, the 1.5 release introduces silent compilation. When commands like “gleam run” or “gleam test” are executed, developers now have the option to silence progress information using a new flag. This minimizes unnecessary output, letting developers focus on the results of tests or programs. Additionally, compilation progress information is now directed to standard error, providing more flexibility to manage output in a developer’s command-line shell. These improvements reflect Gleam’s ongoing commitment to making the development process smoother and more efficient.