Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
66c5908619 | ||
|
|
31d8da6c77 | ||
|
|
3bdf5a912c | ||
|
|
0e9b5ec070 |
+3
-3
@@ -10,7 +10,7 @@ The most exciting change in Elixir v1.18 is type checking of function calls, alo
|
|||||||
defmodule User do
|
defmodule User do
|
||||||
defstruct [:age, :car_choice]
|
defstruct [:age, :car_choice]
|
||||||
|
|
||||||
def drive(%User{age: age, car_choice: car}, cars_choices) when age >= 18 do
|
def drive(%User{age: age, car_choice: car}, car_choices) when age >= 18 do
|
||||||
if car in car_choices do
|
if car in car_choices do
|
||||||
{:ok, car}
|
{:ok, car}
|
||||||
else
|
else
|
||||||
@@ -182,7 +182,7 @@ If you have a struct, you can derive the implementation of the `JSON.Encoder`
|
|||||||
by specifying which fields should be encoded to JSON:
|
by specifying which fields should be encoded to JSON:
|
||||||
|
|
||||||
```elixir
|
```elixir
|
||||||
@derive {JSON.Encoder, only: [....]}
|
@derive {JSON.Encoder, only: [...]}
|
||||||
defstruct ...
|
defstruct ...
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -219,7 +219,7 @@ You may also prefer to write using guards:
|
|||||||
|
|
||||||
def foo(x, y, z) when x == y and y == z
|
def foo(x, y, z) when x == y and y == z
|
||||||
|
|
||||||
## v1.18.0-dev
|
## v1.18.0-rc.0 (2024-12-10)
|
||||||
|
|
||||||
### 1. Enhancements
|
### 1. Enhancements
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ PREFIX ?= /usr/local
|
|||||||
TEST_FILES ?= "*_test.exs"
|
TEST_FILES ?= "*_test.exs"
|
||||||
SHARE_PREFIX ?= $(PREFIX)/share
|
SHARE_PREFIX ?= $(PREFIX)/share
|
||||||
MAN_PREFIX ?= $(SHARE_PREFIX)/man
|
MAN_PREFIX ?= $(SHARE_PREFIX)/man
|
||||||
CANONICAL := main/
|
CANONICAL := v1.18/
|
||||||
ELIXIRC := bin/elixirc --ignore-module-conflict $(ELIXIRC_OPTS)
|
ELIXIRC := bin/elixirc --ignore-module-conflict $(ELIXIRC_OPTS)
|
||||||
ERLC := erlc -I lib/elixir/include
|
ERLC := erlc -I lib/elixir/include
|
||||||
ERL_MAKE := erl -make
|
ERL_MAKE := erl -make
|
||||||
|
|||||||
+2
-3
@@ -6,12 +6,11 @@ Elixir applies bug fixes only to the latest minor branch. Security patches are a
|
|||||||
|
|
||||||
Elixir version | Support
|
Elixir version | Support
|
||||||
:------------- | :-----------------------------
|
:------------- | :-----------------------------
|
||||||
1.18 | Development
|
1.18 | Bug fixes and security patches
|
||||||
1.17 | Bug fixes and security patches
|
1.17 | Security patches only
|
||||||
1.16 | Security patches only
|
1.16 | Security patches only
|
||||||
1.15 | Security patches only
|
1.15 | Security patches only
|
||||||
1.14 | Security patches only
|
1.14 | Security patches only
|
||||||
1.13 | Security patches only
|
|
||||||
|
|
||||||
## Announcements
|
## Announcements
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -1,7 +1,7 @@
|
|||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
set -e
|
set -e
|
||||||
|
|
||||||
ELIXIR_VERSION=1.18.0-dev
|
ELIXIR_VERSION=1.18.0-rc.0
|
||||||
|
|
||||||
if [ $# -eq 0 ] || { [ $# -eq 1 ] && { [ "$1" = "--help" ] || [ "$1" = "-h" ]; }; }; then
|
if [ $# -eq 0 ] || { [ $# -eq 1 ] && { [ "$1" = "--help" ] || [ "$1" = "-h" ]; }; }; then
|
||||||
cat <<USAGE >&2
|
cat <<USAGE >&2
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
|
||||||
set ELIXIR_VERSION=1.18.0-dev
|
set ELIXIR_VERSION=1.18.0-rc.0
|
||||||
|
|
||||||
if ""%1""=="""" if ""%2""=="""" goto documentation
|
if ""%1""=="""" if ""%2""=="""" goto documentation
|
||||||
if /I ""%1""==""--help"" if ""%2""=="""" goto documentation
|
if /I ""%1""==""--help"" if ""%2""=="""" goto documentation
|
||||||
|
|||||||
+1
-1
@@ -1,6 +1,6 @@
|
|||||||
#!/usr/bin/env pwsh
|
#!/usr/bin/env pwsh
|
||||||
|
|
||||||
$ELIXIR_VERSION = "1.18.0-dev"
|
$ELIXIR_VERSION = "1.18.0-rc.0"
|
||||||
|
|
||||||
$scriptPath = Split-Path -Parent $PSCommandPath
|
$scriptPath = Split-Path -Parent $PSCommandPath
|
||||||
$erlExec = "erl"
|
$erlExec = "erl"
|
||||||
|
|||||||
@@ -8,12 +8,11 @@ Elixir applies bug fixes only to the latest minor branch. Security patches are a
|
|||||||
|
|
||||||
Elixir version | Support
|
Elixir version | Support
|
||||||
:------------- | :-----------------------------
|
:------------- | :-----------------------------
|
||||||
1.18 | Development
|
1.18 | Bug fixes and security patches
|
||||||
1.17 | Bug fixes and security patches
|
1.17 | Security patches only
|
||||||
1.16 | Security patches only
|
1.16 | Security patches only
|
||||||
1.15 | Security patches only
|
1.15 | Security patches only
|
||||||
1.14 | Security patches only
|
1.14 | Security patches only
|
||||||
1.13 | Security patches only
|
|
||||||
|
|
||||||
New releases are announced in the read-only [announcements mailing list](https://groups.google.com/group/elixir-lang-ann). All security releases [will be tagged with `[security]`](https://groups.google.com/forum/#!searchin/elixir-lang-ann/%5Bsecurity%5D%7Csort:date).
|
New releases are announced in the read-only [announcements mailing list](https://groups.google.com/group/elixir-lang-ann). All security releases [will be tagged with `[security]`](https://groups.google.com/forum/#!searchin/elixir-lang-ann/%5Bsecurity%5D%7Csort:date).
|
||||||
|
|
||||||
@@ -43,6 +42,7 @@ Erlang/OTP versioning is independent from the versioning of Elixir. Erlang relea
|
|||||||
|
|
||||||
Elixir version | Supported Erlang/OTP versions
|
Elixir version | Supported Erlang/OTP versions
|
||||||
:------------- | :-------------------------------
|
:------------- | :-------------------------------
|
||||||
|
1.18 | 25 - 27
|
||||||
1.17 | 25 - 27
|
1.17 | 25 - 27
|
||||||
1.16 | 24 - 26
|
1.16 | 24 - 26
|
||||||
1.15 | 24 - 26
|
1.15 | 24 - 26
|
||||||
|
|||||||
@@ -256,6 +256,8 @@ defmodule Mix.Tasks.Compile.AppTest do
|
|||||||
test ".app contains description and registered (as required by systools)" do
|
test ".app contains description and registered (as required by systools)" do
|
||||||
in_fixture("no_mixfile", fn ->
|
in_fixture("no_mixfile", fn ->
|
||||||
Mix.Project.push(MixTest.Case.Sample)
|
Mix.Project.push(MixTest.Case.Sample)
|
||||||
|
# Pre-create the compilation path to avoid mtime races
|
||||||
|
File.mkdir_p(Mix.Project.compile_path())
|
||||||
|
|
||||||
Mix.Tasks.Compile.Elixir.run([])
|
Mix.Tasks.Compile.Elixir.run([])
|
||||||
assert Mix.Tasks.Compile.App.run([]) == {:ok, []}
|
assert Mix.Tasks.Compile.App.run([]) == {:ok, []}
|
||||||
|
|||||||
Reference in New Issue
Block a user