michalmuskala

michalmuskala

Erlfmt 1.0 release candidate

I’m very happy to announce that recently we’ve released erlfmt 0.13.0 that we consider first release candidate for the 1.0 release.

What is erlfmt

erlfmt is an opinionated Erlang code formatter. By automating the process of formatting the code, it frees your team up to focus on what the code does, instead of what it looks like. erlfmt works with any Erlang file: .erl , .hrl , rebar.config , escripts, and more. It can be used both in rebar3 projects and standalone as a precompiled escript.

In it’s design approach erlfmt is very similar to the Elixir formatter - it should feel very familiar for most Elixir users. The formatter never changes the semantics or structure of the code. It provides as little configuration as possible. It also avoids special cases as much as possible. Elixir users will also find the familiar behaviour of preserving newlines and respecting some other elements of the original format.

What does the 1.0 release mean

With the 1.0 release we intend to stabilise the format — this means that changes that cause the formatter to re-format the code won’t happen, outside of fixing critical bugs. This offers increased stability and confidence to the users.

We’d like your feedback

We intend to release the final 1.0 version on May 17. Now is the final opportunity for feedback, if you’d like to influence the format erlfmt produces. In general, though, we won’t consider major changes, in particular those around major choices we’ve been documenting in formatting decision documents, without a very compelling argument.

It’s now great time to try out erlfmt on your project. If you do have any feedback we haven’t addressed before, we would appreciate you sharing your remarks on github issues with examples.

Links

Most Liked

olafura

olafura

Congratulations this was one of the things always bothered me when I was getting into Erlang, before Elixir was a thing. I feel like it’s going to help people experiment with Erlang.

Where Next?

Popular in Erlang News Top

Devtalk
A new Erlang news item has been posted! Link: Release OTP-22.3.4.12.1 · erlang/otp · GitHub Posted via Devtalk.
New
kennethL
HiPE is the runtime and compiler support for native code generation of Erlang modules that some of you might have tried, it is part of th...
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
erlangforums
A new Erlang announcement has been posted: Original announcement:
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.0.6 · erlang/otp · GitHub Posted via Devtalk.
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 23.3.4.4 · erlang/otp · GitHub Posted via Devtalk.
New
garazdawi
Patch Package: OTP 27.3.4.1 Git Tag: OTP-27.3.4.1 Date: 2025-06-16 Trouble Report Id: ...
New
Devtalk
A new Erlang news item has been posted! Link: Release OTP 24.0.2 · erlang/otp · GitHub Link: Release OTP 21.3.8.24 · erlang/otp · Git...
New
New
jhogberg
maint was accidentally hard-reset to master about an hour ago and pushed upstream, and a few of our own commits were then based on incorr...
New

Other popular topics Top

shahryarjb
Hello, I get Persian date from my client and convert it to normal calendar like this: def jalali_string_to_miladi_english_number(persi...
New
srinivasu
How to handle excepions in elixir? Suppose i have A, B, C ,D, E modules. and each module has get() function. A.get() method will call th...
New
pmjoe
I have a relationship of love and hate with Elixir. Lots of things are just absolutely right, but there are some things that are kind of ...
New
albydarned
Hello all! I am typing this post from my new MacBook Pro with the M1 chip. I’m loving it so far, and will probably use it as my daily dr...
New
grych
Hi folks, Few months ago I have announced the proof-of-concept of the library to manipulate the browsers DOM objects directly from Elixi...
639 49522 488
New
jononomo
I am trying to figure out how Mix knows whether the environment is test, dev, or prod -- where is this set? Thanks.
New
freewebwithme
Using vs code and installed ElixirLS: support and debugger. And I got an error popped up on start up says Failed to run ‘elixir’ comma...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
alice
Hey, Just curious what are the main benefits of Elixir compared to Clojure? When is Elixir more useful than Clojure and vice versa? Th...
New
ovidiubadita
Hey all, I discovered Elixir and I love it. I always wanted to learn a functional programming and I intended to go for Haskell, but afte...
New

We're in Beta

About us Mission Statement