Skip to content

Commit d91e29a

Browse files
authored
Merge pull request #15 from elixir-lang/moo/min-version
[chore] Drop support for Elixir 1.13, 1.14, and OTP 24
2 parents 2898cdd + 7f799f6 commit d91e29a

File tree

25 files changed

+53
-66
lines changed

25 files changed

+53
-66
lines changed

.github/workflows/elixir.yml

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ env:
1818
# so keeping credo, dialyzer and formatting checks in the matrix
1919
# would create an impossible situation, as different versions would have
2020
# different rules
21-
DEFAULT_ELIXIR: 1.14.3-otp-25
21+
DEFAULT_ELIXIR: 1.15.8-otp-25
2222
DEFAULT_OTP: 25.3.2.4
2323

2424
permissions:
@@ -162,13 +162,9 @@ jobs:
162162
otp: "26"
163163
- elixir: "1.16"
164164
otp: "25"
165-
- elixir: "1.15.6"
165+
- elixir: "1.15.8"
166166
otp: "26"
167-
- elixir: "1.15.6"
168-
otp: "25"
169-
- elixir: "1.14"
170-
otp: "25"
171-
- elixir: "1.13"
167+
- elixir: "1.15.8"
172168
otp: "25"
173169
steps:
174170
# Step: Check out the code.

.github/workflows/release.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ jobs:
1414
- name: Set up Elixir
1515
uses: erlef/setup-beam@v1
1616
with:
17-
otp-version: "24.3.4.12"
18-
elixir-version: "1.13.4-otp-24"
17+
otp-version: "25.0"
18+
elixir-version: "1.15.8-otp-25"
1919
version-type: strict
2020

2121
- name: Checkout code

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,9 @@ Lexical will be available in `/path/to/lexical`.
8484

8585
## Development
8686

87-
Lexical is intended to run on any version of Erlang 24+ and Elixir
88-
1.13+. Before beginning development, you should install Erlang
89-
`24.3.4.12` and Elixir `1.13.4` and use those versions when you're
87+
Lexical is intended to run on any version of Erlang 25+ and Elixir
88+
1.15+. Before beginning development, you should install Erlang
89+
`25.0` and Elixir `1.15.8` and use those versions when you're
9090
building code.
9191

9292
You should also look at the [complete compatibility

apps/common/lib/lexical/document/lines.ex

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -147,11 +147,7 @@ defimpl Enumerable, for: Lexical.Document.Lines do
147147

148148
def slice(%Lines{} = document) do
149149
slicing_function =
150-
if Version.match?(System.version(), ">= 1.14.0") do
151-
fn start, len, step -> do_slice(document, start, len, step) end
152-
else
153-
fn start, len -> do_slice(document, start, len, 1) end
154-
end
150+
fn start, len, step -> do_slice(document, start, len, step) end
155151

156152
{:ok, Lines.size(document), slicing_function}
157153
end

apps/common/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule Common.MixProject do
66
[
77
app: :common,
88
version: "0.7.2",
9-
elixir: "~> 1.13",
9+
elixir: "~> 1.15",
1010
elixirc_paths: elixirc_paths(Mix.env()),
1111
start_permanent: Mix.env() == :prod,
1212
deps: deps(),

apps/common/test/lexical/ast/tokens_test.exs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -63,23 +63,23 @@ defmodule Lexical.Ast.TokensTest do
6363
tokens = Tokens.prefix_stream(document, position)
6464

6565
assert Enum.to_list(tokens) == [
66-
{:eol, '\n', []},
67-
{:eol, '\n', []},
68-
{:eol, '\n', []},
69-
{:eol, '\n', []},
66+
{:eol, ~c"\n", []},
67+
{:eol, ~c"\n", []},
68+
{:eol, ~c"\n", []},
69+
{:eol, ~c"\n", []},
7070
{
7171
:interpolated_string,
7272
[
7373
{:literal, "foo«", {{1, 1}, {1, 5}}},
7474
{:interpolation,
75-
[{:eol, {3, 18, 1}}, {:int, {4, 13, 2}, '2'}, {:eol, {4, 14, 1}}],
75+
[{:eol, {3, 18, 1}}, {:int, {4, 13, 2}, ~c"2"}, {:eol, {4, 14, 1}}],
7676
{{3, 18}, {5, 11}}},
7777
{:literal, "»bar", {{5, 11}, {5, 15}}}
7878
],
7979
{3, 11}
8080
},
81-
{:eol, '\n', []},
82-
{:eol, '\n', []}
81+
{:eol, ~c"\n", []},
82+
{:eol, ~c"\n", []}
8383
]
8484
end
8585
end

apps/common/test/lexical/vm/versions_test.exs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -85,29 +85,29 @@ defmodule Lexical.VM.VersionTest do
8585

8686
describe "compatible?/1" do
8787
test "lower major versions of erlang are compatible with later major versions" do
88-
patch_system_versions("1.14.5", "26.0")
89-
patch_tagged_versions("1.14.5", "25.0")
88+
patch_system_versions("1.15.8", "26.0")
89+
patch_tagged_versions("1.15.8", "25.0")
9090

9191
assert compatible?("/foo/bar/baz")
9292
end
9393

9494
test "higher major versions are not compatible with lower major versions" do
95-
patch_system_versions("1.14.5", "25.0")
96-
patch_tagged_versions("1.14.5", "26.0")
95+
patch_system_versions("1.15.8", "25.0")
96+
patch_tagged_versions("1.15.8", "26.0")
9797

9898
refute compatible?("/foo/bar/baz")
9999
end
100100

101101
test "the same versions are compatible with each other" do
102-
patch_system_versions("1.14.5", "25.3.3")
103-
patch_tagged_versions("1.14.5", "25.0")
102+
patch_system_versions("1.15.8", "25.3.3")
103+
patch_tagged_versions("1.15.8", "25.0")
104104

105105
assert compatible?("/foo/bar/baz")
106106
end
107107

108108
test "higher minor versions are compatible" do
109-
patch_system_versions("1.14.5", "25.3.0")
110-
patch_tagged_versions("1.14.5", "25.0")
109+
patch_system_versions("1.15.8", "25.3.0")
110+
patch_tagged_versions("1.15.8", "25.0")
111111

112112
assert compatible?("/foo/bar/baz")
113113
end

apps/lexical_credo/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ defmodule LexicalCredo.MixProject do
88
[
99
app: :lexical_credo,
1010
version: @version,
11-
elixir: "~> 1.13",
11+
elixir: "~> 1.15",
1212
start_permanent: Mix.env() == :prod,
1313
deps: deps(),
1414
docs: docs(),

apps/proto/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ defmodule Proto.MixProject do
66
[
77
app: :proto,
88
version: "0.7.2",
9-
elixir: "~> 1.13",
9+
elixir: "~> 1.15",
1010
start_permanent: Mix.env() == :prod,
1111
deps: deps(),
1212
dialyzer: Mix.Dialyzer.config(add_apps: [:jason])

apps/protocol/mix.exs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ defmodule Lexical.Protocol.MixProject do
77
app: :protocol,
88
env: Mix.env(),
99
version: "0.7.2",
10-
elixir: "~> 1.13",
10+
elixir: "~> 1.15",
1111
start_permanent: Mix.env() == :prod,
1212
deps: deps(),
1313
dialyzer: Mix.Dialyzer.config(add_apps: [:jason]),

0 commit comments

Comments
 (0)