Qqwy

Qqwy

TypeCheck Core Team

Library builders: What versions of Elixir to support? When to stop supporting older Elixir versions?

Hey everone! Recently I’ve started updating the dependencies of my Elixir packages, to ensure they all are up-to-date. Some of these were still written in the time of Elixir v1.2.x.
Currently, we are of course at version 1.8.1.

So here are two question to you, dear community:

  1. Are you still stuck on older Elixir versions? If so, why and which one(s)?

  2. When building a library, what versions of Elixir should be supported at least? Is it okay to only support the latest Elixir version? If not, how long should we keep supporting earlier versions? Or should we strive to, if at all possible, support all earlier versions?

Most Liked

PragTob

PragTob

A lot of libraries seem to only support the last 3 minors (so 1.6 1.7 and 1.8). Upgrades of elixir versions are usually very easy so I think that’s fine. Iirc the formatter was also introduced in 1.6 so that was a huge leap. I also see a lot of libraries that require OTP 20+ or 19+ (esp. Dev tooling related ones). From that point 1.6+ seems reasonable. Phoenix currently supports 1.4 but the new version seems to require 1.5.1+ so that seems safe to support (assuming a lot of users need Phoenix)

I’m a big fan though of taking semver seriously which means not dropping support without a major version release - most libraries don’t seem to honor that but with the easy upgrade path I can see why.

I haven’t heard of people being stuck on old elixir versions but having data would be nice. Maybe hex could optionally get data about the elixir versions its clients run?

Qqwy

Qqwy

TypeCheck Core Team

in Travis you can run your test suite on many different Elixir versions.
This is how I found out that I am now, while upgrading dependencies, often no longer able to support elixir v1.2 (but I personally think that that version is now old enough to leave behind).

Currently, my plain test .travis.yml configuration looks like this:

language: elixir
elixir:
  - 1.3.2
  - 1.4.5
  - 1.5.3
  - 1.6.6
  - 1.7.4
  - 1.8.0
kip

kip

ex_cldr Core Team

I’ve kept support at elixir 1.5 so far. But it’s gettingk harder since lots of good additions to Calendar and Date in 1.8 make me think about a big bump. Elixir upgrades tend to be very straight forward I’m finding it harder to justify back more than maybe two minor release.

It’s a great question though and I’m curious what other lib Writers do too.

Where Next?

Popular in Discussions Top

arcanemachine
https://nitter.net/josevalim/status/1744395345872683471 https://twitter.com/josevalim/status/1744395345872683471
New
vans163
So useless benchmarks aside, Its possible to write a webserver that can serve 300k requests per second (perhaps more with optimizations)....
New
WildYorkies
It seems that the more I read, the more I find Elixir users speaking about all the ways that Elixir is not good for x, y, and z use cases...
New
AngeloChecked
What learn first? Rust or Elixir Hi Elixir community! I’m here because i want learn a new language. I’m a junior developer and mainly i ...
New
chuck
Let me start by stating an assumption: Phoenix is a great approach to building REST APIs. There are many reasons for this, but I will ass...
New
PragTob
Hey everyone, this has been on my mind for some time and I’d love your input on it! TLDR: I feel like maps are superioer for storing and...
New
eteeselink
Hi all, In the last days, two things happened: A blog post titled “They might never tell you it’s broken” made the rounds. It’s about ...
New
cblavier
Hey there, It’s been more than a year since we started using LiveView as our main UI library and building a whole library of UI componen...
New
100phlecs
Are there any downsides, like perf issues, to putting all functional components in CoreComponents as long as you prefix it with the conte...
New
Markusxmr
Since Drab has been developed for a while in the open, introducing the Liveview functionality in a way it happend appears to undermine th...
New

Other popular topics Top

New
sorentwo
Hello! tl;dr Announcing Oban, an Ecto based job processing library with a focus on reliability and historical observability. After spen...
985 43487 311
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
jay1
Why is it that the mnesia database isn’t the most preferred database for use in Elixir/Phoenix?
New
vonH
When I run the Plug and I recompile I wind up having to use Ctrl C to quit iex and start again. Witht the help of rlwrap I can use the cu...
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 52673 488
New
bsollish-terakeet
Credo is smart enough to check for (something like) this: assert length(the_list) == 0 with this response: Checking if an enum is empt...
New
jononomo
For some reason my phoenix channels are working for me in my local dev environment, but as soon as I deploy via Docker, I get a 403 error...
New
dokuzbir
I want to highlight html closing tags when i click a html tag. That works in .html files but doesnt work for html.eex templates. How can...
New
svb
Hi! Currently I want to submit a form by pressing the Enter key. However, since my input field is of type “textarea” this is just adds a...
New

Latest on Elixir Forum

Elixir Forum

We're in Beta

About us Mission Statement