Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: elixir-lang/elixir
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.14.4
Choose a base ref
...
head repository: elixir-lang/elixir
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.14.5
Choose a head ref
  • 9 commits
  • 12 files changed
  • 3 contributors

Commits on Apr 3, 2023

  1. Update CHANGELOG.md (#12509)

    Fix typo
    markovicmarko authored Apr 3, 2023
    Copy the full SHA
    dbfdedf View commit details

Commits on Apr 7, 2023

  1. Copy the full SHA
    1b3f9f8 View commit details

Commits on May 18, 2023

  1. Copy the full SHA
    0c1395c View commit details

Commits on May 19, 2023

  1. Copy the full SHA
    2d71e71 View commit details

Commits on May 22, 2023

  1. Release v1.14.5

    josevalim committed May 22, 2023
    Copy the full SHA
    ce8f0ac View commit details
  2. Bump ubuntu to 20.04 (#12062)

    The ubuntu-18.04 nows deprecated today [1]. This changes start moving it
    to version 20.04 instead.
    
    [1] actions/runner-images#6002
    wingyplus authored and josevalim committed May 22, 2023
    Copy the full SHA
    29067a0 View commit details
  3. Release v1.14.5

    josevalim committed May 22, 2023
    Copy the full SHA
    a5958e3 View commit details
  4. Update Ubuntu instance

    josevalim committed May 22, 2023
    Copy the full SHA
    be9fd49 View commit details
  5. Release v1.14.5

    josevalim committed May 22, 2023

    Verified

    This commit was created on GitHub.com and signed with GitHub’s verified signature. The key has expired.
    Copy the full SHA
    81d6007 View commit details
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -13,7 +13,7 @@ permissions:

jobs:
test_linux:
name: Linux, ${{ matrix.otp_release }}, Ubuntu 18.04
name: Linux, ${{ matrix.otp_release }}, Ubuntu 20.04
strategy:
fail-fast: false
matrix:
@@ -28,15 +28,15 @@ jobs:
development: true
- otp_release: maint
development: true
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- name: Install Erlang/OTP
run: |
cd $RUNNER_TEMP
wget -O otp.tar.gz https://repo.hex.pm/builds/otp/ubuntu-18.04/${{ matrix.otp_release }}.tar.gz
wget -O otp.tar.gz https://repo.hex.pm/builds/otp/ubuntu-20.04/${{ matrix.otp_release }}.tar.gz
mkdir -p otp
tar zxf otp.tar.gz -C otp --strip-components=1
otp/Install -minimal $(pwd)/otp
@@ -113,7 +113,7 @@ jobs:
check_posix_compliant:
name: Check POSIX-compliant
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
6 changes: 3 additions & 3 deletions .github/workflows/notify.yml
Original file line number Diff line number Diff line change
@@ -10,16 +10,16 @@ permissions:

jobs:
notify:
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
name: Notify
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 50
- uses: erlef/setup-beam@v1
with:
otp-version: 24.3
elixir-version: 1.13.4
otp-version: '25.0'
elixir-version: '1.14.0'
- name: Run Elixir script
env:
ELIXIR_FORUM_TOKEN: ${{ secrets.ELIXIR_FORUM_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
@@ -14,7 +14,7 @@ jobs:
create_draft_release:
permissions:
contents: write
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
steps:
@@ -39,7 +39,7 @@ jobs:
- otp: 25
otp_version: 25.0
build_docs: build_docs
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
16 changes: 15 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -241,6 +241,20 @@ protocol, giving developers more control over the struct representation.
See the updated documentation for `Inspect` for a general rundown on
the approaches and options available.

## v1.14.5 (2023-05-22)

This release contains fixes for Erlang/OTP 26.

### Bug fixes

#### Elixir

* [CLI] Fix a bug where stdout would block when there was no attached terminal on Windows when running on Erlang/OTP 26

#### Mix

* [Mix] Properly set SSL configuration for Mix downloads when running on Erlang/OTP 26

## v1.14.4 (2023-04-03)

This release adds basic support for Erlang/OTP 26. When migrating
@@ -278,7 +292,7 @@ custom options, in case you want to sort them before inspection:

#### Mix

* [mix fomrat] Don't call formatter on directories
* [mix format] Don't call formatter on directories

## v1.14.3 (2023-01-14)

2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -228,7 +228,7 @@ Docs.zip: docs

Precompiled.zip: build_man compile
rm -f Precompiled.zip
zip -9 -r Precompiled.zip bin CHANGELOG.md lib/*/ebin lib/*/lib LICENSE man NOTICE README.md VERSION
zip -9 -r Precompiled.zip bin CHANGELOG.md lib/*/ebin lib/*/lib LICENSE Makefile man NOTICE README.md VERSION
@ echo "Precompiled file created $(CURDIR)/Precompiled.zip"

#==> Test tasks
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.14.4
1.14.5
2 changes: 1 addition & 1 deletion bin/elixir
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
#!/bin/sh
set -e

ELIXIR_VERSION=1.14.4
ELIXIR_VERSION=1.14.5

if [ $# -eq 0 ] || { [ $# -eq 1 ] && { [ "$1" = "--help" ] || [ "$1" = "-h" ]; }; }; then
cat <<USAGE >&2
2 changes: 1 addition & 1 deletion bin/elixir.bat
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
@if defined ELIXIR_CLI_ECHO (@echo on) else (@echo off)

set ELIXIR_VERSION=1.14.4
set ELIXIR_VERSION=1.14.5

setlocal enabledelayedexpansion
if ""%1""=="""" if ""%2""=="""" goto documentation
2 changes: 1 addition & 1 deletion lib/elixir/pages/compatibility-and-deprecations.md
Original file line number Diff line number Diff line change
@@ -42,7 +42,7 @@ Erlang/OTP versioning is independent from the versioning of Elixir. Erlang relea

Elixir version | Supported Erlang/OTP versions
:------------- | :-------------------------------
1.14 | 23 - 25 (and Erlang/OTP 26 from v1.14.4)
1.14 | 23 - 25 (and Erlang/OTP 26 from v1.14.5)
1.13 | 22 - 24 (and Erlang/OTP 25 from v1.13.4)
1.12 | 22 - 24
1.11 | 21 - 23 (and Erlang/OTP 24 from v1.11.4)
9 changes: 6 additions & 3 deletions lib/elixir/src/elixir.erl
Original file line number Diff line number Diff line change
@@ -25,9 +25,9 @@
-export([start/2, stop/1, config_change/3]).

start(_Type, _Args) ->
_ = parse_otp_release(),
OTP = parse_otp_release(),
preload_common_modules(),
set_stdio_and_stderr_to_binary_and_maybe_utf8(),
set_stdio_and_stderr_to_binary_and_maybe_utf8(OTP),
check_file_encoding(file:native_name_encoding()),

case application:get_env(elixir, check_endianness, true) of
@@ -87,7 +87,10 @@ stop(Tab) ->
config_change(_Changed, _New, _Remove) ->
ok.

set_stdio_and_stderr_to_binary_and_maybe_utf8() ->
set_stdio_and_stderr_to_binary_and_maybe_utf8(OTP) when OTP >= 26 ->
ok = io:setopts(standard_io, [binary]),
ok;
set_stdio_and_stderr_to_binary_and_maybe_utf8(_OTP) ->
%% In case there is a shell, we can't really change its
%% encoding, so we just set binary to true. Otherwise
%% we must set the encoding as the user with no shell
3 changes: 2 additions & 1 deletion lib/elixir/src/elixir_erl.erl
Original file line number Diff line number Diff line change
@@ -65,7 +65,8 @@ elixir_to_erl([], Ann) ->
elixir_to_erl(<<>>, Ann) ->
{bin, Ann, []};
elixir_to_erl(#{} = Map, Ann) ->
Assocs = [{map_field_assoc, Ann, elixir_to_erl(K, Ann), elixir_to_erl(V, Ann)} || {K, V} <- maps:to_list(Map)],
Assocs = [{map_field_assoc, Ann, elixir_to_erl(K, Ann), elixir_to_erl(V, Ann)}
|| {K, V} <- lists:sort(maps:to_list(Map))],
{map, Ann, Assocs};
elixir_to_erl(Tree, Ann) when is_list(Tree) ->
elixir_to_erl_cons(Tree, Ann);
6 changes: 3 additions & 3 deletions lib/mix/lib/mix/utils.ex
Original file line number Diff line number Diff line change
@@ -655,11 +655,11 @@ defmodule Mix.Utils do
request = {:binary.bin_to_list(path), headers}

# Use the system certificates if available, otherwise skip peer verification
# TODO: Always use system certificates when OTP >= 25 is required
# TODO: Always use system certificates when OTP >= 25.1 is required
ssl_options =
if Code.ensure_loaded?(:public_key) and function_exported?(:public_key, :cacerts_get, 0) do
if Code.ensure_loaded?(:httpc) and function_exported?(:httpc, :ssl_verify_host_options, 1) do
try do
[cacerts: apply(:public_key, :cacerts_get, [])]
apply(:httpc, :ssl_verify_host_options, [true])
rescue
_ ->
Mix.shell().error(