axelson

axelson

Scenic Core Team

How many Elixir versions should libraries support?

I’m curious how many minor Elixir versions library authors generally try to support. I’m thinking that a good default is 3 minor versions which will equate to roughly 1.5 years (and is the approach mentioned in Library builders: What versions of Elixir to support? When to stop supporting older Elixir versions? - #3 by Qqwy). And of course the previous versions of a library are still available for users that are unable to upgrade elixir for some reason.

Most Liked Switch mode

benwilson512

benwilson512

Author of Craft GraphQL APIs in Elixir with Absinthe

@axelson I’m also a fan of supporting basically 2 major versions of a lib that have different Elixir version reqs. Eg: some library named Foo that has:

Foo v1.5.X supports Elixir 1.10 and 1.11, will receive bug fixes but no new features.
Foo v1.6.X supports Elixir 1.12, gets new features.

It depends a bit on how important new Elixir features are to your app.

dimitarvp

dimitarvp

I’d support anything I could but it depends how easy it would be to just copy-paste the functions from newer Elixir releases to a dedicated Compat module namespace. I am entertaining the idea for a long time and I think it can work out fine.

Having said that, I’d aim for current version plus 2 versions behind, e.g. 1.12, 1.11 and 1.10.

Last Post!

stratacast

stratacast

Mind if I hijack the thread to get some clarity? Say 1.9-1.11 your library works, but 1.12 breaks it. In your example, I could create a 1.6.x branch and specify it as tested for 1.12, but how would that work for something like hex.pm? It would only display the latest version of my lib, wouldn’t it? And would that be left up to the developer to see that they’d have to downgrade their version?

Where Next?

Trending in Discussions Top

AstonJ
As the title says, please share what you’ve been up to with Elixir. Whether that’s been learning it, looking into it, making stuff with i...
2976 91332 914
New
byu
@chrismccord : I just saw the Extract AGENTS.md from Phoenix.new into phx.new generator commit to the phoenix project. My initial shotgu...
New
arcanemachine
I was working on an Ecto migration and I needed a timestamp. So, for the nth time, I looked up the different data types for timestamps, a...
New
AstonJ
Just a general thread to post chat/news/info relating to AI/ML stuff that may be relevant for Nx now or in the future. Got anything to sh...
New
type1fool
I just stumbled on a newly redesigned elixir-lang.org. :tada: It looks like @Software_Mansion did the work, and I think it is generally a...
New
juhalehtonen
There has been a thread to discuss the Stack Overflow Developer Survey on this forum every year since 2018, so here’s yet another one for...
New
alexslade
Fly’s CEO posted this recently - Turn And Face The Strange · The Fly Blog It says that Fly is going all-in on sprites, which is a worry ...
New

Other Trending Topics Top

JesseHerrick
Hey, I’m Jesse and I’m the main contributor behind Dexter, a full-featured, lightning-fast Elixir LSP optimized for large codebases. It s...
New
jimsynz
Beam Bots (or just BB for short) is a framework for building fault-tolerant robotics applications in Elixir using familiar OTP patterns. ...
New
Damirados
Hello everyone. After busy few months I am happy to announce v0.1.0 of Emerge & Solve. They are GUI (Emerge) and State management (S...
New
ausimian
Emily is an Elixir library that runs Nx computations on Apple’s MLX. Install it as the default Nx backend and Nx, defn, Axon, Nx.Serving,...
New
akoutmos
@hugobarauna and I (Alex Koutmos) have been hard at work on writing a book on Nerves that takes you from simply blinking LEDs to building...
New
bjorng
We want to introduce a new native datatype to Erlang: native records. Although replacing all tuple records with native records is not our...
New

We're in Beta

About us Mission Statement