Qqwy

Qqwy

TypeCheck Core Team

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?

Showing Posts 1 to 4

hauleth

hauleth

In general I support the version from time I have created library and do not update minimal version as long as it do not interfere with what I am trying to do. It would be helpful though if there would be a tool to detect minimal supported version which I could add to my CI pipeline to prevent versions mismatches.

Qqwy

Qqwy OP

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
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?

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.

— All posts loaded —

Where Next? Top

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...
2977 94592 917
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
mudasobwa
I am happy to introduce the very α version of the new programming language compiled to BEAM. Welcome Cure. It has literally three kille...
New
heathen
Quite interesting article Google brought me. Didn’t find any mentions about it here. What do you think in general? Would you use togethe...
New
mhanberg
Hi everyone! The first release candidate for the Expert language server project is now available! We’ve published a press release detai...
New
AstonJ
Since we have deprecated our Erlang sections (as we have dedicated Erlang Forums now) let’s add this thread for those who’d like to post ...
New
maennchen
:warning: Security advisory: Decimal DoS vulnerability A vulnerability has been published for decimal where very large exponents can cau...
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
marciok
Hi there! We created Gust: A task orchestrator inspired by Airflow. For those who have never heard about Aiflow, it’s a Python-based wor...
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
Dmk
Xamal is a deployment tool for Elixir apps that deploys native releases to bare metal servers over SSH. It’s a port of GitHub - basecamp/...
New
netoum
Corex is an accessible, unstyled UI component library for Phoenix that integrates Zag.js state machines using Vanilla JavaScript and Live...
New
webofbits
With AI doing more of the implementation work, I’ve been wondering how much coding I should deliberately keep doing myself. My main conc...
#ai
New

We're in Beta

About us Mission Statement

Options

Thread Display Mode




Thread Preview

Skip Thread Previews