Skip to content

Commit a5caf4b

Browse files
committed
Require Erlang/OTP 22+
1 parent 767e347 commit a5caf4b

File tree

6 files changed

+12
-11
lines changed

6 files changed

+12
-11
lines changed

.cirrus.yml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,21 @@ test_template: &DEFAULT_TEST_SETTINGS
1212
test_freebsd_task:
1313
<<: *DEFAULT_TEST_SETTINGS
1414

15-
name: FreeBSD 12.2
15+
name: FreeBSD 13.0
1616
alias: FreeBSD Stable
1717

1818
freebsd_instance:
19-
image_family: freebsd-12-2
19+
image_family: freebsd-13-0
2020
cpu: 8
2121
memory: 7424Mi
2222

2323
env:
2424
CHECK_REPRODUCIBLE: true
2525
LC_ALL: en_US.UTF-8
26+
PATH: $PATH:/usr/local/lib/erlang22/bin
2627

2728
install_script:
28-
- pkg install -y erlang git gmake
29+
- pkg install -y erlang-runtime22 git gmake
2930
- rm -rf .git
3031
- gmake compile
3132

.github/workflows/ci.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
strategy:
1616
fail-fast: false
1717
matrix:
18-
otp_release: ['OTP-23.0', 'OTP-22.3', 'OTP-22.0', 'OTP-21.3.8', 'OTP-21.0']
18+
otp_release: ['OTP-23.3', 'OTP-23.0', 'OTP-22.3', 'OTP-22.0']
1919
development: [false]
2020
include:
2121
- otp_release: master

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
Elixir v1.12 is out with improvements to scripting, tighter Erlang/OTP 24 integration, stepped ranges, and dozen of new functions across the standard library. Overall this is a small release, which continues our tradition of bringing Elixir developers quality of life improvements every 6 months.
44

5-
This is the last release to support Erlang/OTP 21.
5+
Elixir v1.12 requires Erlang/OTP 22+.
66

77
## Scripting improvements: `Mix.install/2` and `System.trap_signal/3`
88

Makefile

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ SOURCE_DATE_EPOCH_FILE = $(SOURCE_DATE_EPOCH_PATH)/SOURCE_DATE_EPOCH
2828
#==> Functions
2929

3030
define CHECK_ERLANG_RELEASE
31-
erl -noshell -eval '{V,_} = string:to_integer(erlang:system_info(otp_release)), io:fwrite("~s", [is_integer(V) and (V >= 21)])' -s erlang halt | grep -q '^true'; \
31+
erl -noshell -eval '{V,_} = string:to_integer(erlang:system_info(otp_release)), io:fwrite("~s", [is_integer(V) and (V >= 22)])' -s erlang halt | grep -q '^true'; \
3232
if [ $$? != 0 ]; then \
33-
echo "At least Erlang/OTP 21.0 is required to build Elixir"; \
33+
echo "At least Erlang/OTP 22.0 is required to build Elixir"; \
3434
exit 1; \
3535
fi
3636
endef

lib/elixir/pages/compatibility-and-deprecations.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,8 @@ Erlang/OTP versioning is independent from the versioning of Elixir. Each version
4343

4444
Elixir version | Supported Erlang/OTP versions
4545
:------------- | :-------------------------------
46-
1.12 | 21 - 24
47-
1.11 | 21 - 23
46+
1.12 | 22 - 24
47+
1.11 | 21 - 23 (and Erlang/OTP 24 from v1.11.4)
4848
1.10 | 21 - 22 (and Erlang/OTP 23 from v1.10.3)
4949
1.9 | 20 - 22
5050
1.8 | 20 - 22

lib/elixir/src/elixir.erl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,10 +111,10 @@ preload_common_modules() ->
111111
parse_otp_release() ->
112112
%% Whenever we change this check, we should also change Makefile.
113113
case string:to_integer(erlang:system_info(otp_release)) of
114-
{Num, _} when Num >= 21 ->
114+
{Num, _} when Num >= 22 ->
115115
Num;
116116
_ ->
117-
io:format(standard_error, "ERROR! Unsupported Erlang/OTP version, expected Erlang/OTP 21+~n", []),
117+
io:format(standard_error, "ERROR! Unsupported Erlang/OTP version, expected Erlang/OTP 22+~n", []),
118118
erlang:halt(1)
119119
end.
120120

0 commit comments

Comments
 (0)