aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yaml141
-rw-r--r--.github/workflows/unix-ci.yaml104
-rw-r--r--early-plugins.mk190
-rw-r--r--release-notes/OTP-18.3.4.1.1.README.txt88
-rw-r--r--release-notes/OTP-20.3.2.1.README.txt44
-rw-r--r--release-notes/OTP-21.3.8.18.README.txt103
-rw-r--r--release-notes/OTP-21.3.8.19.README.txt81
-rw-r--r--release-notes/OTP-21.3.8.20.README.txt49
-rw-r--r--release-notes/OTP-21.3.8.21.README.txt95
-rw-r--r--release-notes/OTP-21.3.8.22.README.txt94
-rw-r--r--release-notes/OTP-21.3.8.23.README.txt149
-rw-r--r--release-notes/OTP-21.3.8.24.README.txt61
-rw-r--r--release-notes/OTP-22.3.4.10.README.txt40
-rw-r--r--release-notes/OTP-22.3.4.11.README.txt174
-rw-r--r--release-notes/OTP-22.3.4.12.1.README.txt39
-rw-r--r--release-notes/OTP-22.3.4.12.README.txt80
-rw-r--r--release-notes/OTP-22.3.4.13.README.txt138
-rw-r--r--release-notes/OTP-22.3.4.14.README.txt73
-rw-r--r--release-notes/OTP-22.3.4.15.README.txt38
-rw-r--r--release-notes/OTP-22.3.4.16.README.txt93
-rw-r--r--release-notes/OTP-22.3.4.17.README.txt150
-rw-r--r--release-notes/OTP-22.3.4.18.README.txt148
-rw-r--r--release-notes/OTP-22.3.4.19.README.txt236
-rw-r--r--release-notes/OTP-22.3.4.20.README.txt125
-rw-r--r--release-notes/OTP-22.3.4.21.README.txt182
-rw-r--r--release-notes/OTP-22.3.4.22.README.txt147
-rw-r--r--release-notes/OTP-22.3.4.23.README.txt67
-rw-r--r--release-notes/OTP-22.3.4.24.README.txt101
-rw-r--r--release-notes/OTP-22.3.4.25.README.txt229
-rw-r--r--release-notes/OTP-22.3.4.26.README.txt67
-rw-r--r--release-notes/OTP-22.3.4.27.README.txt145
-rw-r--r--release-notes/OTP-22.3.4.5.README.txt40
-rw-r--r--release-notes/OTP-22.3.4.6.README.txt63
-rw-r--r--release-notes/OTP-22.3.4.7.README.txt41
-rw-r--r--release-notes/OTP-22.3.4.8.README.txt40
-rw-r--r--release-notes/OTP-22.3.4.9.README.txt56
-rw-r--r--release-notes/OTP-23.0.4.README.txt85
-rw-r--r--release-notes/OTP-23.1.1.README.txt193
-rw-r--r--release-notes/OTP-23.1.2.README.txt93
-rw-r--r--release-notes/OTP-23.1.3.README.txt62
-rw-r--r--release-notes/OTP-23.1.4.1.README.txt40
-rw-r--r--release-notes/OTP-23.1.4.README.txt40
-rw-r--r--release-notes/OTP-23.1.5.README.txt44
-rw-r--r--release-notes/OTP-23.1.README.txt1210
-rw-r--r--release-notes/OTP-23.2.1.README.txt43
-rw-r--r--release-notes/OTP-23.2.2.README.txt221
-rw-r--r--release-notes/OTP-23.2.3.README.txt102
-rw-r--r--release-notes/OTP-23.2.4.README.txt80
-rw-r--r--release-notes/OTP-23.2.5.README.txt116
-rw-r--r--release-notes/OTP-23.2.6.README.txt66
-rw-r--r--release-notes/OTP-23.2.7.1.README.txt51
-rw-r--r--release-notes/OTP-23.2.7.2.README.txt46
-rw-r--r--release-notes/OTP-23.2.7.3.README.txt39
-rw-r--r--release-notes/OTP-23.2.7.4.README.txt40
-rw-r--r--release-notes/OTP-23.2.7.5.README.txt40
-rw-r--r--release-notes/OTP-23.2.7.README.txt66
-rw-r--r--release-notes/OTP-23.2.README.txt945
-rw-r--r--release-notes/OTP-23.3.1.README.txt47
-rw-r--r--release-notes/OTP-23.3.2.README.txt249
-rw-r--r--release-notes/OTP-23.3.3.README.txt144
-rw-r--r--release-notes/OTP-23.3.4.1.README.txt240
-rw-r--r--release-notes/OTP-23.3.4.10.README.txt104
-rw-r--r--release-notes/OTP-23.3.4.11.README.txt61
-rw-r--r--release-notes/OTP-23.3.4.12.README.txt244
-rw-r--r--release-notes/OTP-23.3.4.13.README.txt49
-rw-r--r--release-notes/OTP-23.3.4.14.README.txt112
-rw-r--r--release-notes/OTP-23.3.4.15.README.txt145
-rw-r--r--release-notes/OTP-23.3.4.16.README.txt205
-rw-r--r--release-notes/OTP-23.3.4.17.README.txt230
-rw-r--r--release-notes/OTP-23.3.4.18.README.txt98
-rw-r--r--release-notes/OTP-23.3.4.19.README.txt217
-rw-r--r--release-notes/OTP-23.3.4.2.README.txt179
-rw-r--r--release-notes/OTP-23.3.4.20.README.txt78
-rw-r--r--release-notes/OTP-23.3.4.3.README.txt104
-rw-r--r--release-notes/OTP-23.3.4.4.README.txt60
-rw-r--r--release-notes/OTP-23.3.4.5.README.txt211
-rw-r--r--release-notes/OTP-23.3.4.6.README.txt87
-rw-r--r--release-notes/OTP-23.3.4.7.README.txt85
-rw-r--r--release-notes/OTP-23.3.4.8.README.txt140
-rw-r--r--release-notes/OTP-23.3.4.9.README.txt61
-rw-r--r--release-notes/OTP-23.3.4.README.txt93
-rw-r--r--release-notes/OTP-23.3.README.txt803
-rw-r--r--release-notes/OTP-24.0-rc1.README.txt2658
-rw-r--r--release-notes/OTP-24.0-rc2.README.txt2965
-rw-r--r--release-notes/OTP-24.0-rc3.README.txt3215
-rw-r--r--release-notes/OTP-24.0.1.README.txt249
-rw-r--r--release-notes/OTP-24.0.2.README.txt325
-rw-r--r--release-notes/OTP-24.0.3.README.txt167
-rw-r--r--release-notes/OTP-24.0.4.README.txt144
-rw-r--r--release-notes/OTP-24.0.5.README.txt49
-rw-r--r--release-notes/OTP-24.0.6.README.txt76
-rw-r--r--release-notes/OTP-24.0.README.txt3569
-rw-r--r--release-notes/OTP-24.1.1.README.txt152
-rw-r--r--release-notes/OTP-24.1.2.README.txt167
-rw-r--r--release-notes/OTP-24.1.3.README.txt163
-rw-r--r--release-notes/OTP-24.1.4.README.txt49
-rw-r--r--release-notes/OTP-24.1.5.README.txt156
-rw-r--r--release-notes/OTP-24.1.6.README.txt54
-rw-r--r--release-notes/OTP-24.1.7.README.txt42
-rw-r--r--release-notes/OTP-24.1.README.txt1416
-rw-r--r--release-notes/OTP-24.2.1.README.txt104
-rw-r--r--release-notes/OTP-24.2.2.README.txt60
-rw-r--r--release-notes/OTP-24.2.README.txt1046
-rw-r--r--release-notes/OTP-24.3.1.README.txt68
-rw-r--r--release-notes/OTP-24.3.2.README.txt70
-rw-r--r--release-notes/OTP-24.3.3.README.txt207
-rw-r--r--release-notes/OTP-24.3.4.1.README.txt188
-rw-r--r--release-notes/OTP-24.3.4.10.README.txt87
-rw-r--r--release-notes/OTP-24.3.4.11.README.txt136
-rw-r--r--release-notes/OTP-24.3.4.12.README.txt181
-rw-r--r--release-notes/OTP-24.3.4.13.README.txt185
-rw-r--r--release-notes/OTP-24.3.4.14.README.txt205
-rw-r--r--release-notes/OTP-24.3.4.15.README.txt218
-rw-r--r--release-notes/OTP-24.3.4.16.README.txt99
-rw-r--r--release-notes/OTP-24.3.4.2.README.txt92
-rw-r--r--release-notes/OTP-24.3.4.3.README.txt445
-rw-r--r--release-notes/OTP-24.3.4.4.README.txt47
-rw-r--r--release-notes/OTP-24.3.4.5.README.txt143
-rw-r--r--release-notes/OTP-24.3.4.6.README.txt144
-rw-r--r--release-notes/OTP-24.3.4.7.README.txt248
-rw-r--r--release-notes/OTP-24.3.4.8.README.txt73
-rw-r--r--release-notes/OTP-24.3.4.9.README.txt170
-rw-r--r--release-notes/OTP-24.3.4.README.txt298
-rw-r--r--release-notes/OTP-24.3.README.txt1078
-rw-r--r--release-notes/OTP-25.0-rc1.README.txt2206
-rw-r--r--release-notes/OTP-25.0-rc2.README.txt2708
-rw-r--r--release-notes/OTP-25.0-rc3.README.txt2981
-rw-r--r--release-notes/OTP-25.0.1.README.txt317
-rw-r--r--release-notes/OTP-25.0.2.README.txt68
-rw-r--r--release-notes/OTP-25.0.3.README.txt157
-rw-r--r--release-notes/OTP-25.0.4.README.txt84
-rw-r--r--release-notes/OTP-25.0.README.txt3182
-rw-r--r--release-notes/OTP-25.1.1.README.txt222
-rw-r--r--release-notes/OTP-25.1.2.1.README.txt74
-rw-r--r--release-notes/OTP-25.1.2.README.txt72
-rw-r--r--release-notes/OTP-25.1.README.txt1364
-rw-r--r--release-notes/OTP-25.2.1.README.txt182
-rw-r--r--release-notes/OTP-25.2.2.README.txt40
-rw-r--r--release-notes/OTP-25.2.3.README.txt150
-rw-r--r--release-notes/OTP-25.2.README.txt782
-rw-r--r--release-notes/OTP-25.3.1.README.txt313
-rw-r--r--release-notes/OTP-25.3.2.1.README.txt174
-rw-r--r--release-notes/OTP-25.3.2.10.README.txt155
-rw-r--r--release-notes/OTP-25.3.2.2.README.txt40
-rw-r--r--release-notes/OTP-25.3.2.3.README.txt211
-rw-r--r--release-notes/OTP-25.3.2.4.README.txt42
-rw-r--r--release-notes/OTP-25.3.2.5.README.txt42
-rw-r--r--release-notes/OTP-25.3.2.6.README.txt278
-rw-r--r--release-notes/OTP-25.3.2.7.README.txt106
-rw-r--r--release-notes/OTP-25.3.2.8.README.txt348
-rw-r--r--release-notes/OTP-25.3.2.9.README.txt108
-rw-r--r--release-notes/OTP-25.3.2.README.txt101
-rw-r--r--release-notes/OTP-25.3.README.txt1150
-rw-r--r--release-notes/OTP-26.0-rc1.README.txt2475
-rw-r--r--release-notes/OTP-26.0-rc2.README.txt3216
-rw-r--r--release-notes/OTP-26.0-rc3.README.txt3592
-rw-r--r--release-notes/OTP-26.0.1.README.txt318
-rw-r--r--release-notes/OTP-26.0.2.README.txt355
-rw-r--r--release-notes/OTP-26.0.README.txt3962
-rw-r--r--release-notes/OTP-26.1.1.README.txt80
-rw-r--r--release-notes/OTP-26.1.2.README.txt101
-rw-r--r--release-notes/OTP-26.1.README.txt1212
-rw-r--r--release-notes/OTP-26.2.1.README.txt101
-rw-r--r--release-notes/OTP-26.2.2.README.txt178
-rw-r--r--release-notes/OTP-26.2.3.README.txt436
-rw-r--r--release-notes/OTP-26.2.README.txt1134
-rw-r--r--release-notes/OTP-27.0-rc1.README.txt2307
-rw-r--r--release-notes/OTP-27.0-rc2.README.txt3075
-rwxr-xr-xupdate.sh30
169 files changed, 72761 insertions, 55 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000..b70f507
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,141 @@
+## @todo Describe.
+
+name: Check a ci.erlang.mk project
+
+on:
+ workflow_call:
+
+env:
+ CI_ERLANG_MK: 1
+ AUTO_CI_MASTER: weekly
+
+jobs:
+
+ prepare-unix:
+ name: Prepare Unix
+ runs-on: ubuntu-latest
+ outputs:
+ erlang: ${{ steps.versions.outputs.erlang }}
+ latest: ${{ steps.latest_version.outputs.latest }}
+ steps:
+
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Checkout ci.erlang.mk repository
+ uses: actions/checkout@v4
+ with:
+ repository: ninenines/ci.erlang.mk
+ path: deps/ci.erlang.mk
+
+ - name: Output Erlang/OTP versions
+ id: versions
+ run: |
+ {
+ echo "erlang<<EOF"
+ make ci-list | jq -Rn '[inputs]'
+ echo EOF
+ } >> "$GITHUB_OUTPUT"
+
+ - name: Output latest Erlang/OTP version
+ id: latest_version
+ run: |
+ {
+ echo "latest<<EOF"
+ make ci-list | grep -v rc | grep -v master | tail -n1
+ echo EOF
+ } >> "$GITHUB_OUTPUT"
+
+ check:
+ name: Unix
+ needs: prepare-unix
+ strategy:
+ fail-fast: false
+ matrix:
+ erlang: ${{ fromJson(needs.prepare-unix.outputs.erlang) }}
+ os: [ubuntu-latest, macos-latest]
+ uses: ./.github/workflows/unix-ci.yaml
+ with:
+ latest: ${{ needs.prepare-unix.outputs.latest }}
+ erlang: ${{ matrix.erlang }}
+ os: ${{ matrix.os }}
+
+ prepare-windows:
+ name: Prepare Windows
+ runs-on: windows-latest
+ outputs:
+ erlang: ${{ steps.versions.outputs.erlang }}
+ steps:
+
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Checkout ci.erlang.mk repository
+ uses: actions/checkout@v4
+ with:
+ repository: ninenines/ci.erlang.mk
+ path: deps/ci.erlang.mk
+
+ - name: Setup MSYS2
+ uses: msys2/setup-msys2@v2
+ with:
+ msystem: mingw64
+ update: true
+ install: >-
+ git
+ make
+ mingw-w64-x86_64-jq
+
+ - name: Output Erlang/OTP versions
+ id: versions
+ shell: msys2 {0}
+ run: |
+ {
+ echo "erlang<<EOF"
+ make ci-windows-list | jq -Rn '[inputs]'
+ echo EOF
+ } >> "$GITHUB_OUTPUT"
+
+ test-windows:
+ name: Windows
+ needs: prepare-windows
+ strategy:
+ fail-fast: false
+ matrix:
+ erlang: ${{ fromJson(needs.prepare-windows.outputs.erlang) }}
+ runs-on: windows-latest
+ env:
+ COWBOY_QUICER: 0
+ GUN_QUICER: 0
+ steps:
+
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Install Erlang/OTP
+ uses: erlef/setup-beam@v1
+ with:
+ otp-version: '${{ matrix.erlang }}'
+ version-type: loose
+
+ - name: Setup MSYS2
+ uses: msys2/setup-msys2@v2
+ with:
+ msystem: mingw64
+ update: true
+ install: >-
+ git
+ make
+
+ - name: Run tests
+ shell: msys2 {0}
+ run: PATH=$INSTALL_DIR_FOR_OTP/bin:$PATH make -k ci-windows-${{ matrix.erlang }}
+
+ - name: Upload logs
+ uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: Common Test logs (${{ matrix.erlang }} ${{ runner.os }})
+ path: |
+ logs/
+ !logs/**/log_private
diff --git a/.github/workflows/unix-ci.yaml b/.github/workflows/unix-ci.yaml
new file mode 100644
index 0000000..6a4d92f
--- /dev/null
+++ b/.github/workflows/unix-ci.yaml
@@ -0,0 +1,104 @@
+name: Reusable Unix jobs
+
+## @todo Self-hosted runners for
+## - archlinux
+## - alpine
+## - debian
+## - freebsd
+
+on:
+ workflow_call:
+ inputs:
+ latest:
+ required: true
+ type: string
+ erlang:
+ required: true
+ type: string
+ os:
+ required: true
+ type: string
+
+env:
+ CI_ERLANG_MK: 1
+ AUTO_CI_MASTER: weekly
+ COWBOY_QUICER: ${{ vars.COWBOY_QUICER || 0 }}
+ GUN_QUICER: ${{ vars.GUN_QUICER || 0 }}
+
+jobs:
+
+ build-erlang:
+ name: Build Erlang ${{ inputs.erlang }} on ${{ inputs.os }}
+ runs-on: ${{ inputs.os }}
+ steps:
+
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Manage CI cache
+ id: cache
+ uses: actions/cache@v4
+ with:
+ path: |
+ ~/erlang/
+ key: ${{ runner.os }}-${{ runner.arch }}-Erlang-${{ inputs.erlang }}
+
+ - name: Run ci-prepare
+ if: steps.cache.outputs.cache-hit != 'true'
+ run: make -k ci-prepare CI_OTP=${{ inputs.erlang }}
+
+ test:
+ name: Run tests using ${{ inputs.erlang }} on ${{ inputs.os }}
+ needs: build-erlang
+ runs-on: ${{ inputs.os }}
+ steps:
+
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Restore CI cache
+ uses: actions/cache/restore@v4
+ with:
+ path: |
+ ~/erlang/
+ key: ${{ runner.os }}-${{ runner.arch }}-Erlang-${{ inputs.erlang }}
+
+ - name: Run tests (macOS)
+ if: runner.os == 'macOS'
+ run: >
+ brew install coreutils make &&
+ gmake -k ci-${{ inputs.erlang }}
+
+ - name: Run tests (Unix)
+ if: runner.os != 'macOS'
+ run: make -k ci-${{ inputs.erlang }}
+
+ - name: Upload logs
+ uses: actions/upload-artifact@v4
+ if: always()
+ with:
+ name: Common Test logs (${{ inputs.erlang }} ${{ runner.os }})
+ path: |
+ logs/
+ !logs/**/log_private
+
+ dialyze:
+ name: Run Dialyzer using ${{ inputs.erlang }}
+ needs: build-erlang
+ runs-on: ${{ inputs.os }}
+ if: inputs.erlang == inputs.latest && inputs.os == 'ubuntu-latest'
+ continue-on-error: true
+ steps:
+
+ - name: Checkout repository
+ uses: actions/checkout@v4
+
+ - name: Restore CI cache
+ uses: actions/cache/restore@v4
+ with:
+ path: |
+ ~/erlang/
+ key: ${{ runner.os }}-${{ runner.arch }}-Erlang-${{ inputs.latest }}
+
+ - name: Run Dialyzer
+ run: make dialyze LATEST_ERLANG_OTP=1
diff --git a/early-plugins.mk b/early-plugins.mk
index 978ae70..88b63f6 100644
--- a/early-plugins.mk
+++ b/early-plugins.mk
@@ -1,4 +1,4 @@
-# Copyright (c) 2017-2020, Loïc Hoguin <[email protected]>
+# Copyright (c) 2017-2023, Loïc Hoguin <[email protected]>
#
# Permission to use, copy, modify, and/or distribute this software for any
# purpose with or without fee is hereby granted, provided that the above
@@ -12,41 +12,53 @@
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-# We do not keep track of anything below patch releases.
-# They are meant for OTP customers, are not announced
-# and do not come with an easy to read changelog. They
-# are also unlikely to be used by anyone other than
-# OTP customers.
-#
-# Patch releases are announced on erlang-questions,
-# and add a third component to the version number.
-# A fourth component is also added once the next
-# major release is out.
-
OTP-18 := OTP-18.0.3 OTP-18.1.5 OTP-18.2.4 OTP-18.3.4.11
OTP-19 := OTP-19.0.7 OTP-19.1.6 OTP-19.2.3 OTP-19.3.6.13
OTP-20 := OTP-20.0.5 OTP-20.1.7 OTP-20.2.4 OTP-20.3.8.26
-OTP-21 := OTP-21.0.9 OTP-21.1.4 OTP-21.2.7 OTP-21.3.8.17
-OTP-22 := OTP-22.0.7 OTP-22.1.8 OTP-22.2.8 OTP-22.3.4.4
-OTP-23 := OTP-23.0.3
-
-OTP-18+ := $(OTP-18) $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23)
-OTP-19+ := $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23)
-OTP-20+ := $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23)
-OTP-21+ := $(OTP-21) $(OTP-22) $(OTP-23)
-OTP-22+ := $(OTP-22) $(OTP-23)
-OTP-23+ := $(OTP-23)
+OTP-21 := OTP-21.0.9 OTP-21.1.4 OTP-21.2.7 OTP-21.3.8.24
+OTP-22 := OTP-22.0.7 OTP-22.1.8 OTP-22.2.8 OTP-22.3.4.27
+OTP-23 := OTP-23.0.4 OTP-23.1.5 OTP-23.2.7.3 OTP-23.3.4.20
+OTP-24 := OTP-24.0.6 OTP-24.1.7 OTP-24.2.2 OTP-24.3.4.16
+OTP-25 := OTP-25.0.4 OTP-25.1.2.1 OTP-25.2.3 OTP-25.3.2.10
+OTP-26 := OTP-26.0.2 OTP-26.1.2 OTP-26.2.3
+OTP-27 := OTP-27.0-rc2
+
+OTP-18+ := $(OTP-18) $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-19+ := $(OTP-19) $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-20+ := $(OTP-20) $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-21+ := $(OTP-21) $(OTP-22) $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-22+ := $(OTP-22) $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-23+ := $(OTP-23) $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-24+ := $(OTP-24) $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-25+ := $(OTP-25) $(OTP-26) $(OTP-27)
+OTP-26+ := $(OTP-26) $(OTP-27)
+OTP-27+ := $(OTP-27)
OTP-LATEST-18+ := $(lastword $(OTP-18)) $(lastword $(OTP-19)) \
$(lastword $(OTP-20)) $(lastword $(OTP-21)) $(lastword $(OTP-22)) \
- $(lastword $(OTP-23))
+ $(lastword $(OTP-23)) $(lastword $(OTP-24)) $(lastword $(OTP-25)) \
+ $(lastword $(OTP-26)) $(lastword $(OTP-27))
OTP-LATEST-19+ := $(lastword $(OTP-19)) $(lastword $(OTP-20)) \
- $(lastword $(OTP-21)) $(lastword $(OTP-22)) $(lastword $(OTP-23))
+ $(lastword $(OTP-21)) $(lastword $(OTP-22)) $(lastword $(OTP-23)) \
+ $(lastword $(OTP-24)) $(lastword $(OTP-25)) $(lastword $(OTP-26)) \
+ $(lastword $(OTP-27))
OTP-LATEST-20+ := $(lastword $(OTP-20)) $(lastword $(OTP-21)) \
- $(lastword $(OTP-22)) $(lastword $(OTP-23))
-OTP-LATEST-21+ := $(lastword $(OTP-21)) $(lastword $(OTP-22)) $(lastword $(OTP-23))
-OTP-LATEST-22+ := $(lastword $(OTP-22)) $(lastword $(OTP-23))
-OTP-LATEST-23+ := $(lastword $(OTP-23))
+ $(lastword $(OTP-22)) $(lastword $(OTP-23)) $(lastword $(OTP-24)) \
+ $(lastword $(OTP-25)) $(lastword $(OTP-26)) $(lastword $(OTP-27))
+OTP-LATEST-21+ := $(lastword $(OTP-21)) $(lastword $(OTP-22)) \
+ $(lastword $(OTP-23)) $(lastword $(OTP-24)) $(lastword $(OTP-25)) \
+ $(lastword $(OTP-26)) $(lastword $(OTP-27))
+OTP-LATEST-22+ := $(lastword $(OTP-22)) $(lastword $(OTP-23)) \
+ $(lastword $(OTP-24)) $(lastword $(OTP-25)) $(lastword $(OTP-26)) \
+ $(lastword $(OTP-27))
+OTP-LATEST-23+ := $(lastword $(OTP-23)) $(lastword $(OTP-24)) \
+ $(lastword $(OTP-25)) $(lastword $(OTP-26)) $(lastword $(OTP-27))
+OTP-LATEST-24+ := $(lastword $(OTP-24)) $(lastword $(OTP-25)) \
+ $(lastword $(OTP-26)) $(lastword $(OTP-27))
+OTP-LATEST-25+ := $(lastword $(OTP-25)) $(lastword $(OTP-26)) \
+ $(lastword $(OTP-27))
+OTP-LATEST-26+ := $(lastword $(OTP-26)) $(lastword $(OTP-27))
+OTP-LATEST-27+ := $(lastword $(OTP-27))
# We exclude release candidates here because they are not
# the latest release, they are the *next* one.
@@ -78,27 +90,47 @@ OTP-21-DROPPED := OTP-21.0-rc1 OTP-21.0-rc2 OTP-21.0 OTP-21.0.1 OTP-21.0.2 \
OTP-21.3.7 OTP-21.3.8 OTP-21.3.8.1 OTP-21.3.8.2 OTP-21.3.8.3 OTP-21.3.8.4 \
OTP-21.3.8.5 OTP-21.3.8.6 OTP-21.3.8.7 OTP-21.3.8.8 OTP-21.3.8.10 \
OTP-21.3.8.11 OTP-21.3.8.12 OTP-21.3.8.13 OTP-21.3.8.14 OTP-21.3.8.15 \
- OTP-21.3.8.16
+ OTP-21.3.8.16 OTP-21.3.8.17 OTP-21.3.8.18 OTP-21.3.8.19 OTP-21.3.8.20 \
+ OTP-21.3.8.22 OTP-21.3.8.23
OTP-22-DROPPED := OTP-22.0-rc1 OTP-22.0-rc2 OTP-22.0-rc3 OTP-22.0 \
OTP-22.0.1 OTP-22.0.2 OTP-22.0.3 OTP-22.0.4 OTP-22.0.5 OTP-22.0.6 \
OTP-22.1 OTP-22.1.1 OTP-22.1.2 OTP-22.1.3 OTP-22.1.4 OTP-22.1.5 \
OTP-22.1.6 OTP-22.1.7 OTP-22.2 OTP-22.2.1 OTP-22.2.2 OTP-22.2.3 \
OTP-22.2.4 OTP-22.2.6 OTP-22.2.7 OTP-22.3 OTP-22.3.1 OTP-22.3.2 \
- OTP-22.3.3 OTP-22.3.4 OTP-22.3.4.1 OTP-22.3.4.2 OTP-22.3.4.3
+ OTP-22.3.3 OTP-22.3.4 OTP-22.3.4.1 OTP-22.3.4.2 OTP-22.3.4.3 \
+ OTP-22.3.4.4 OTP-22.3.4.5 OTP-22.3.4.8 OTP-22.3.4.9 OTP-22.3.4.10 \
+ OTP-22.3.4.11 OTP-22.3.4.12 OTP-22.3.4.13 OTP-22.3.4.15 OTP-22.3.4.17 \
+ OTP-22.3.4.18 OTP-22.3.4.19 OTP-22.3.4.20 OTP-22.3.4.21 OTP-22.3.4.22 \
+ OTP-22.3.4.23 OTP-22.3.4.24 OTP-22.3.4.25 OTP-22.3.4.26
OTP-23-DROPPED := OTP-23.0-rc1 OTP-23.0-rc2 OTP-23.0-rc3 OTP-23.0 OTP-23.0.1 \
- OTP-23.0.2
+ OTP-23.0.2 OTP-23.0.3 OTP-23.1 OTP-23.1.1 OTP-23.1.2 OTP-23.1.3 OTP-23.1.4 \
+ OTP-23.2 OTP-23.2.1 OTP-23.2.3 OTP-23.2.4 OTP-23.3.1 OTP-23.3.2 OTP-23.2.7.2 \
+ OTP-23.3.3 OTP-23.3.4 OTP-23.3.4.1 OTP-23.3.4.5 OTP-23.3.4.6 OTP-23.3.4.7 \
+ OTP-23.3.4.8 OTP-23.3.4.9 OTP-23.3.4.10 OTP-23.3.4.11 OTP-23.3.4.12 \
+ OTP-23.3.4.13 OTP-23.3.4.14 OTP-23.3.4.15 OTP-23.3.4.16 OTP-23.3.4.17 OTP-23.3.4.18 OTP-23.3.4.19
+OTP-24-DROPPED := OTP-24.0-rc2 OTP-24.0-rc3 OTP-24.0 OTP-24.0.1 OTP-24.0.5 \
+ OTP-24.1 OTP-24.1.1 OTP-24.1.2 OTP-24.1.3 OTP-24.1.4 OTP-24.1.5 OTP-24.1.6 \
+ OTP-24.2 OTP-24.2.1 OTP-24.3 OTP-24.3.1 OTP-24.3.2 OTP-24.3.3 OTP-24.3.4 \
+ OTP-24.3.4.1 OTP-24.3.4.2 OTP-24.3.4.3 OTP-24.3.4.4 OTP-24.3.4.5 OTP-24.3.4.6 \
+ OTP-24.3.4.7 OTP-24.3.4.8 OTP-24.3.4.9 OTP-24.3.4.10 OTP-24.3.4.11 OTP-24.3.4.12 \
+ OTP-24.3.4.13 OTP-24.3.4.14 OTP-24.3.4.15
+OTP-25-DROPPED := OTP-25.0-rc1 OTP-25.0-rc2 OTP-25.0-rc3 OTP-25.0 \
+ OTP-25.0.1 OTP-25.0.2 OTP-25.0.3 OTP-25.1 OTP-25.1.1 OTP-25.1.2 OTP-25.2 \
+ OTP-25.2.1 OTP-25.2.2 OTP-25.3 OTP-25.3.1 OTP-25.3.2 OTP-25.3.2.1 OTP-25.3.2.2 \
+ OTP-25.3.2.3 OTP-25.3.2.4 OTP-25.3.2.5 OTP-25.3.2.6 OTP-25.3.2.7 OTP-25.3.2.8 OTP-25.3.2.9
+OTP-26-DROPPED := OTP-26.0-rc3 \
+ OTP-26.0 OTP-26.0.1 OTP-26.1 OTP-26.1.1 OTP-26.2 OTP-26.2.1 OTP-26.2.2
+OTP-27-DROPPED := OTP-27.0-rc1
OTP-DROPPED := $(OTP-18-DROPPED) $(OTP-19-DROPPED) $(OTP-20-DROPPED) \
- $(OTP-21-DROPPED) $(OTP-22-DROPPED) $(OTP-23-DROPPED)
+ $(OTP-21-DROPPED) $(OTP-22-DROPPED) $(OTP-23-DROPPED) $(OTP-24-DROPPED)
# Configure Erlang.mk's CI plugin.
CI_OTP := $(foreach otp,$(AUTO_CI_OTP),$($(otp))) $(if $(AUTO_CI_MASTER),master)
-# Disable HiPE builds; Erlang/OTP's HiPE support is broken
-# starting from Erlang/OTP 22.0.6. Use explicit versions instead.
-#CI_HIPE := $(foreach otp,$(AUTO_CI_HIPE),$($(otp)))
-#CI_ERLLVM := $(foreach otp,$(AUTO_CI_ERLLVM),$($(otp)))
+ci-list:
+ $(verbose) printf "%s\n" $(CI_OTP)
# Remove the existing master if necessary.
@@ -117,7 +149,10 @@ endif
endif
ifdef AUTO_CI_MASTER_MINS
-ci:: $(KERL)
+ci::
+ $(verbose) $(MAKE) --no-print-directory ci-auto-master
+
+ci-auto-master: $(KERL)
ifneq ($(wildcard $(KERL_INSTALL_DIR)/master),)
$(verbose) if find $(KERL_INSTALL_DIR)/master/activate \
-mmin +$(AUTO_CI_MASTER_MINS) | grep -q master; then \
@@ -139,10 +174,6 @@ define ci_auto_cleanup_target
ci-auto-cleanup-$1: $(KERL)
$(verbose) $(KERL) list builds | grep -q "^git,$1$$$$" && $(KERL) delete build $1 || true
$(verbose) $(KERL) list installations | grep -q "^$1 " && $(KERL) delete installation $1 || true
- $(verbose) $(KERL) list builds | grep -q "^git,$1-native$$$$" && $(KERL) delete build $1-native || true
- $(verbose) $(KERL) list installations | grep -q "^$1-native " && $(KERL) delete installation $1-native || true
- $(verbose) $(KERL) list builds | grep -q "^git,$1-erllvm$$$$" && $(KERL) delete build $1-erllvm || true
- $(verbose) $(KERL) list installations | grep -q "^$1-erllvm " && $(KERL) delete installation $1-erllvm || true
endef
$(foreach t,$(OTP-DROPPED),$(eval $(call ci_auto_cleanup_target,$t)))
@@ -156,6 +187,8 @@ ci-auto-cleanup: $(CI_AUTO_CLEANUP_TARGETS)
# Right now we assume that the versions are already installed on
# the test machines. In the future we may want to also automate
# the installation.
+#
+# We only track main releases for simplicity's sake.
ifeq ($(PLATFORM),msys2)
@@ -164,28 +197,55 @@ WINDOWS-OTP-19 := 19.0 19.1 19.2 19.3
WINDOWS-OTP-20 := 20.0 20.1 20.2 20.3
WINDOWS-OTP-21 := 21.0.1 21.1 21.2 21.3
WINDOWS-OTP-22 := 22.0 22.1 22.2 22.3
-WINDOWS-OTP-23 := 23.0
+WINDOWS-OTP-23 := 23.0 23.1 23.2 23.3
+WINDOWS-OTP-24 := 24.0 24.1 24.2 24.3
+WINDOWS-OTP-25 := 25.0 25.1 25.2 25.3
+WINDOWS-OTP-26 := 26.0 26.1 26.2
+WINDOWS-OTP-27 :=
WINDOWS-OTP-18+ := $(WINDOWS-OTP-18) $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) \
- $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
+ $(WINDOWS-OTP-22) $(WINDOWS-OTP-23) $(WINDOWS-OTP-24) $(WINDOWS-OTP-25) $(WINDOWS-OTP-26) \
+ $(WINDOWS-OTP-27)
WINDOWS-OTP-19+ := $(WINDOWS-OTP-19) $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) \
- $(WINDOWS-OTP-23)
-WINDOWS-OTP-20+ := $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
-WINDOWS-OTP-21+ := $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
-WINDOWS-OTP-22+ := $(WINDOWS-OTP-22) $(WINDOWS-OTP-23)
-WINDOWS-OTP-23+ := $(WINDOWS-OTP-23)
+ $(WINDOWS-OTP-23) $(WINDOWS-OTP-24) $(WINDOWS-OTP-25) $(WINDOWS-OTP-26) $(WINDOWS-OTP-27)
+WINDOWS-OTP-20+ := $(WINDOWS-OTP-20) $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) $(WINDOWS-OTP-23) \
+ $(WINDOWS-OTP-24) $(WINDOWS-OTP-25) $(WINDOWS-OTP-26) $(WINDOWS-OTP-27)
+WINDOWS-OTP-21+ := $(WINDOWS-OTP-21) $(WINDOWS-OTP-22) $(WINDOWS-OTP-23) $(WINDOWS-OTP-24) \
+ $(WINDOWS-OTP-25) $(WINDOWS-OTP-26) $(WINDOWS-OTP-27)
+WINDOWS-OTP-22+ := $(WINDOWS-OTP-22) $(WINDOWS-OTP-23) $(WINDOWS-OTP-24) $(WINDOWS-OTP-25) \
+ $(WINDOWS-OTP-26) $(WINDOWS-OTP-27)
+WINDOWS-OTP-23+ := $(WINDOWS-OTP-23) $(WINDOWS-OTP-24) $(WINDOWS-OTP-25) $(WINDOWS-OTP-26) \
+ $(WINDOWS-OTP-27)
+WINDOWS-OTP-24+ := $(WINDOWS-OTP-24) $(WINDOWS-OTP-25) $(WINDOWS-OTP-26) $(WINDOWS-OTP-27)
+WINDOWS-OTP-25+ := $(WINDOWS-OTP-25) $(WINDOWS-OTP-26) $(WINDOWS-OTP-27)
+WINDOWS-OTP-26+ := $(WINDOWS-OTP-26) $(WINDOWS-OTP-27)
+WINDOWS-OTP-27+ := $(WINDOWS-OTP-27)
WINDOWS-OTP-LATEST-18+ := $(lastword $(WINDOWS-OTP-18)) $(lastword $(WINDOWS-OTP-19)) \
$(lastword $(WINDOWS-OTP-20)) $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22)) \
- $(lastword $(WINDOWS-OTP-23))
+ $(lastword $(WINDOWS-OTP-23)) $(lastword $(WINDOWS-OTP-24)) $(lastword $(WINDOWS-OTP-25)) \
+ $(lastword $(WINDOWS-OTP-26)) $(lastword $(WINDOWS-OTP-27))
WINDOWS-OTP-LATEST-19+ := $(lastword $(WINDOWS-OTP-19)) $(lastword $(WINDOWS-OTP-20)) \
- $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23))
+ $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23)) \
+ $(lastword $(WINDOWS-OTP-24)) $(lastword $(WINDOWS-OTP-25)) $(lastword $(WINDOWS-OTP-26)) \
+ $(lastword $(WINDOWS-OTP-27))
WINDOWS-OTP-LATEST-20+ := $(lastword $(WINDOWS-OTP-20)) $(lastword $(WINDOWS-OTP-21)) \
- $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23))
+ $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23)) $(lastword $(WINDOWS-OTP-24)) \
+ $(lastword $(WINDOWS-OTP-25)) $(lastword $(WINDOWS-OTP-26)) $(lastword $(WINDOWS-OTP-27))
WINDOWS-OTP-LATEST-21+ := $(lastword $(WINDOWS-OTP-21)) $(lastword $(WINDOWS-OTP-22)) \
- $(lastword $(WINDOWS-OTP-23))
-WINDOWS-OTP-LATEST-22+ := $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23))
-WINDOWS-OTP-LATEST-23+ := $(lastword $(WINDOWS-OTP-23))
+ $(lastword $(WINDOWS-OTP-23)) $(lastword $(WINDOWS-OTP-24)) $(lastword $(WINDOWS-OTP-25)) \
+ $(lastword $(WINDOWS-OTP-26)) $(lastword $(WINDOWS-OTP-27))
+WINDOWS-OTP-LATEST-22+ := $(lastword $(WINDOWS-OTP-22)) $(lastword $(WINDOWS-OTP-23)) \
+ $(lastword $(WINDOWS-OTP-24)) $(lastword $(WINDOWS-OTP-25)) $(lastword $(WINDOWS-OTP-26)) \
+ $(lastword $(WINDOWS-OTP-27))
+WINDOWS-OTP-LATEST-23+ := $(lastword $(WINDOWS-OTP-23)) $(lastword $(WINDOWS-OTP-24)) \
+ $(lastword $(WINDOWS-OTP-25)) $(lastword $(WINDOWS-OTP-26)) $(lastword $(WINDOWS-OTP-27))
+WINDOWS-OTP-LATEST-24+ := $(lastword $(WINDOWS-OTP-24)) $(lastword $(WINDOWS-OTP-25)) \
+ $(lastword $(WINDOWS-OTP-26)) $(lastword $(WINDOWS-OTP-27))
+WINDOWS-OTP-LATEST-25+ := $(lastword $(WINDOWS-OTP-25)) $(lastword $(WINDOWS-OTP-26)) \
+ $(lastword $(WINDOWS-OTP-27))
+WINDOWS-OTP-LATEST-26+ := $(lastword $(WINDOWS-OTP-26)) $(lastword $(WINDOWS-OTP-27))
+WINDOWS-OTP-LATEST-27+ := $(lastword $(WINDOWS-OTP-27))
# @todo Add support for release candidates (we don't want them as the "latest").
WINDOWS-OTP-LATEST := $(lastword $(WINDOWS-OTP-18+))
@@ -217,7 +277,24 @@ WINDOWS-OTP-22.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl10.5/bin)
WINDOWS-OTP-22.2-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl10.6/bin)
WINDOWS-OTP-22.3-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl10.7/bin)
-WINDOWS-OTP-23.0-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl11.0/bin)
+WINDOWS-OTP-23.0-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-23.0/bin)
+WINDOWS-OTP-23.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-23.1/bin)
+WINDOWS-OTP-23.2-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-23.2/bin)
+WINDOWS-OTP-23.3-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-23.3/bin)
+
+WINDOWS-OTP-24.0-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-24.0/bin)
+WINDOWS-OTP-24.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-24.1/bin)
+WINDOWS-OTP-24.2-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-24.2/bin)
+WINDOWS-OTP-24.3-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-24.3/bin)
+
+WINDOWS-OTP-25.0-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-25.0/bin)
+WINDOWS-OTP-25.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-25.1/bin)
+WINDOWS-OTP-25.2-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-25.2/bin)
+WINDOWS-OTP-25.3-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-25.3/bin)
+
+WINDOWS-OTP-26.0-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-26.0/bin)
+WINDOWS-OTP-26.1-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-26.1/bin)
+WINDOWS-OTP-26.2-INSTALL-DIR := $(call msys2_path,$(PROGRAMFILES)/erl-26.2/bin)
# We have to duplicate this for it to work as
# it is not yet defined when we define this.
@@ -238,6 +315,9 @@ endef
CI_WINDOWS := $(foreach otp,$(AUTO_CI_WINDOWS),$(WINDOWS-$(otp)))
+ci-windows-list:
+ $(verbose) printf "%s\n" $(CI_WINDOWS)
+
$(foreach otp,$(CI_WINDOWS),$(eval $(call ci_windows_target,$(otp))))
ci-windows:: $(addprefix ci-windows-,$(CI_WINDOWS))
diff --git a/release-notes/OTP-18.3.4.1.1.README.txt b/release-notes/OTP-18.3.4.1.1.README.txt
new file mode 100644
index 0000000..b98ba1c
--- /dev/null
+++ b/release-notes/OTP-18.3.4.1.1.README.txt
@@ -0,0 +1,88 @@
+Patch Package: OTP 18.3.4.1.1
+Git Tag: OTP-18.3.4.1.1
+Date: 2017-11-22
+Trouble Report Id: OTP-14748
+Seq num:
+System: OTP
+Release: 18
+Application: ssl-7.3.3.0.1
+Predecessor: OTP 18.3.4.1
+
+ Check out the git tag OTP-18.3.4.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-7.3.3.0.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-7.3.3.0.1 application can be applied independently of other
+ applications on a full OTP 18 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14748 Application(s): ssl
+
+ An erlang TLS server configured with cipher suites
+ using rsa key exchange, may be vulnerable to an
+ Adaptive Chosen Ciphertext attack (AKA Bleichenbacher
+ attack) against RSA, which when exploited, may result
+ in plaintext recovery of encrypted messages and/or a
+ Man-in-the-middle (MiTM) attack, despite the attacker
+ not having gained access to the server’s private key
+ itself. CVE-2017-1000385
+
+ Exploiting this vulnerability to perform plaintext
+ recovery of encrypted messages will, in most practical
+ cases, allow an attacker to read the plaintext only
+ after the session has completed. Only TLS sessions
+ established using RSA key exchange are vulnerable to
+ this attack.
+
+ Exploiting this vulnerability to conduct a MiTM attack
+ requires the attacker to complete the initial attack,
+ which may require thousands of server requests, during
+ the handshake phase of the targeted session within the
+ window of the configured handshake timeout. This attack
+ may be conducted against any TLS session using RSA
+ signatures, but only if cipher suites using RSA key
+ exchange are also enabled on the server. The limited
+ window of opportunity, limitations in bandwidth, and
+ latency make this attack significantly more difficult
+ to execute.
+
+ RSA key exchange is enabled by default although least
+ prioritized if server order is honored. For such a
+ cipher suite to be chosen it must also be supported by
+ the client and probably the only shared cipher suite.
+
+ Captured TLS sessions encrypted with ephemeral cipher
+ suites (DHE or ECDHE) are not at risk for subsequent
+ decryption due to this vulnerability.
+
+ As a workaround if default cipher suite configuration
+ was used you can configure the server to not use
+ vulnerable suites with the ciphers option like this:
+
+ {ciphers, [Suite || Suite <- ssl:cipher_suites(),
+ element(1,Suite) =/= rsa]}
+
+ that is your code will look somethingh like this:
+
+ ssl:listen(Port, [{ciphers, [Suite || Suite <-
+ ssl:cipher_suites(), element(1,S) =/= rsa]} |
+ Options]).
+
+ Thanks to Hanno Böck, Juraj Somorovsky and Craig Young
+ for reporting this vulnerability.
+
+
+ Full runtime dependencies of ssl-7.3.3.0.1: crypto-3.3, erts-6.0,
+ inets-5.10.7, kernel-3.0, public_key-1.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
diff --git a/release-notes/OTP-20.3.2.1.README.txt b/release-notes/OTP-20.3.2.1.README.txt
new file mode 100644
index 0000000..f6c051d
--- /dev/null
+++ b/release-notes/OTP-20.3.2.1.README.txt
@@ -0,0 +1,44 @@
+Patch Package: OTP 20.3.2.1
+Git Tag: OTP-20.3.2.1
+Date: 2019-02-18
+Trouble Report Id: OTP-15584
+Seq num: ERIERL-282
+System: OTP
+Release: 20
+Application: common_test-1.15.4.0.1
+Predecessor: OTP 20.3.2
+
+ Check out the git tag OTP-20.3.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.15.4.0.1 ------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.15.4.0.1 application can be applied independently
+ of other applications on a full OTP 20 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15584 Application(s): common_test
+ Related Id(s): ERIERL-282
+
+ The status of a test case which failed with timetrap
+ timeout in end_per_testcase could not be modified by
+ returning {fail,Reason} from a post_end_per_testcase
+ hook function. This is now corrected.
+
+
+ Full runtime dependencies of common_test-1.15.4.0.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.4, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.3.8.18.README.txt b/release-notes/OTP-21.3.8.18.README.txt
new file mode 100644
index 0000000..40a0a12
--- /dev/null
+++ b/release-notes/OTP-21.3.8.18.README.txt
@@ -0,0 +1,103 @@
+Patch Package: OTP 21.3.8.18
+Git Tag: OTP-21.3.8.18
+Date: 2020-10-02
+Trouble Report Id: OTP-16780, OTP-16866, OTP-16870, OTP-16874,
+ OTP-16904
+Seq num: ERL-1355, ERL-1356
+System: OTP
+Release: 21
+Application: erts-10.3.5.14, ssh-4.7.6.5
+Predecessor: OTP 21.3.8.17
+
+ Check out the git tag OTP-21.3.8.18, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.3.5.14 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.3.5.14 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 21
+ installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-6.1 (first satisfied in OTP 21.1)
+ -- sasl-3.3 (first satisfied in OTP 21.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16780 Application(s): erts
+ Related Id(s): PR-2701
+
+ The ERTS internal I/O poll implementation could get
+ into an inconsistent state causing input events to be
+ ignored.
+
+
+ OTP-16866 Application(s): erts
+ Related Id(s): ERL-1355
+
+ The documentation of statistics(run_queue) erroneously
+ stated that it returns the total length of all normal
+ run queues when it is the total length of all normal
+ and dirty CPU run queues that is returned. The
+ documentation has been updated to reflect the actual
+ behavior.
+
+
+ OTP-16870 Application(s): erts
+
+ Two bugs in the ERTS internal thread wakeup
+ functionality have been fixed. These bugs mainly hit
+ when all threads in the system tried to go to sleep.
+ When the bugs were triggered, certain operations were
+ delayed until a thread woke up due to some other
+ reason. Most important operations effected were code
+ loading, persistent term updates, and memory
+ deallocation.
+
+
+ OTP-16874 Application(s): erts
+ Related Id(s): ERL-1356, PR-2763
+
+ Fixed bug in ets:select_replace/2 on compressed tables
+ that could produce faulty results or VM crash. Bug
+ exists since OTP 20.
+
+
+ Full runtime dependencies of erts-10.3.5.14: kernel-6.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.7.6.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.7.6.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 21 installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-4.4.2.2 (first satisfied in OTP 21.3.8.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16904 Application(s): ssh
+
+ Fix decoder bug.
+
+
+ Full runtime dependencies of ssh-4.7.6.5: crypto-4.4.2.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.3.8.19.README.txt b/release-notes/OTP-21.3.8.19.README.txt
new file mode 100644
index 0000000..039d072
--- /dev/null
+++ b/release-notes/OTP-21.3.8.19.README.txt
@@ -0,0 +1,81 @@
+Patch Package: OTP 21.3.8.19
+Git Tag: OTP-21.3.8.19
+Date: 2021-01-20
+Trouble Report Id: OTP-16869, OTP-17080, OTP-17088, OTP-17107
+Seq num: ERIERL-580, ERL-1337
+System: OTP
+Release: 21
+Application: crypto-4.4.2.3, erts-10.3.5.15
+Predecessor: OTP 21.3.8.18
+
+ Check out the git tag OTP-21.3.8.19, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-4.4.2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.4.2.3 application can be applied independently of other
+ applications on a full OTP 21 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17107 Application(s): crypto
+
+ Adding missing flag in BN-calls in SRP.
+
+
+ Full runtime dependencies of crypto-4.4.2.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.3.5.15 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.3.5.15 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 21
+ installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-6.1 (first satisfied in OTP 21.1)
+ -- sasl-3.3 (first satisfied in OTP 21.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16869 Application(s): erts
+ Related Id(s): ERL-1337
+
+ Fixed rare distribution bug in race between received
+ signal (link/monitor/spawn_request/spawn_reply) and
+ disconnection. Symptom: VM crash. Since: OTP 21.0.
+
+
+ OTP-17080 Application(s): erts
+
+ The suspend_process() and resume_process() BIFs did not
+ check their arguments properly which could cause an
+ emulator crash.
+
+
+ OTP-17088 Application(s): erts
+ Related Id(s): ERIERL-580
+
+ The runtime system would get into an infinite loop if
+ the runtime system was started with more than 1023 file
+ descriptors already open.
+
+
+ Full runtime dependencies of erts-10.3.5.15: kernel-6.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.3.8.20.README.txt b/release-notes/OTP-21.3.8.20.README.txt
new file mode 100644
index 0000000..eddb518
--- /dev/null
+++ b/release-notes/OTP-21.3.8.20.README.txt
@@ -0,0 +1,49 @@
+Patch Package: OTP 21.3.8.20
+Git Tag: OTP-21.3.8.20
+Date: 2021-01-25
+Trouble Report Id: OTP-16412, OTP-16607
+Seq num:
+System: OTP
+Release: 21
+Application: erl_interface-3.11.3.1
+Predecessor: OTP 21.3.8.19
+
+ Check out the git tag OTP-21.3.8.20, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.11.3.1 ------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.11.3.1 application can be applied independently
+ of other applications on a full OTP 21 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16412 Application(s): erl_interface
+ Related Id(s): PR-2503
+
+ Fix link error "multiple definition of
+ `ei_default_socket_callbacks'" for gcc version 10 or
+ when built with gcc option -fno-common. Error exists
+ since OTP-21.3.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.3.8.21.README.txt b/release-notes/OTP-21.3.8.21.README.txt
new file mode 100644
index 0000000..272bc0c
--- /dev/null
+++ b/release-notes/OTP-21.3.8.21.README.txt
@@ -0,0 +1,95 @@
+Patch Package: OTP 21.3.8.21
+Git Tag: OTP-21.3.8.21
+Date: 2021-02-19
+Trouble Report Id: OTP-16779, OTP-17185
+Seq num: ERL-1305
+System: OTP
+Release: 21
+Application: erts-10.3.5.16
+Predecessor: OTP 21.3.8.20
+
+ Check out the git tag OTP-21.3.8.21, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-21.3.8.21 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16779 Application(s): otp
+ Related Id(s): ERL-1305, PR-2700
+
+ Changes in build system to make it build for macOS 11.0
+ with Apple Silicon. Also corrected execution of match
+ specs to work on Apple Silicon.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.3.5.16 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.3.5.16 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 21
+ installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-6.1 (first satisfied in OTP 21.1)
+ -- sasl-3.3 (first satisfied in OTP 21.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17185 Application(s): erts
+
+ Fixed a bug that could cause some work scheduled for
+ execution on scheduler threads to be delayed until
+ other similar work appeared. Beside delaying various
+ cleanup of internal data structures also the following
+ could be delayed:
+
+ -- Termination of a distribution controller process
+
+ -- Disabling of the distribution on a node
+
+ -- Gathering of memory allocator information using the
+ instrument module
+
+ -- Enabling, disabling, and gathering of msacc
+ information
+
+ -- Delivery of 'CHANGE' messages when time offset is
+ monitored
+
+ -- A call to erlang:cancel_timer()
+
+ -- A call to erlang:read_timer()
+
+ -- A call to erlang:statistics(io | garbage_collection
+ | scheduler_wall_time)
+
+ -- A call to ets:all()
+
+ -- A call to erlang:memory()
+
+ -- A call to erlang:system_info({allocator |
+ allocator_sizes, _})
+
+ -- A call to erlang:trace_delivered()
+
+ The bug existed on runtime systems running on all types
+ of hardware except for x86/x86_64.
+
+
+ Full runtime dependencies of erts-10.3.5.16: kernel-6.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.3.8.22.README.txt b/release-notes/OTP-21.3.8.22.README.txt
new file mode 100644
index 0000000..4ae39bb
--- /dev/null
+++ b/release-notes/OTP-21.3.8.22.README.txt
@@ -0,0 +1,94 @@
+Patch Package: OTP 21.3.8.22
+Git Tag: OTP-21.3.8.22
+Date: 2021-03-30
+Trouble Report Id: OTP-17244, OTP-17253, OTP-17279
+Seq num:
+System: OTP
+Release: 21
+Application: erts-10.3.5.17, ssh-4.7.6.6
+Predecessor: OTP 21.3.8.21
+
+ Check out the git tag OTP-21.3.8.22, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.3.5.17 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.3.5.17 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 21
+ installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-6.1 (first satisfied in OTP 21.1)
+ -- sasl-3.3 (first satisfied in OTP 21.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17253 Application(s): erts
+
+ Fixed a bug in the timer implementation which could
+ cause timers that were set to more than 37.25 hours in
+ the future to be delayed. This could occur if there
+ were multiple timers scheduled to be triggered very
+ close in time, but still at different times, and the
+ scheduler thread handling the timers was not able to
+ handle them quickly enough. Delayed timers were in this
+ case triggered when another unrelated timer was
+ triggered.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17244 Application(s): erts
+
+ Fix a file descriptor leak when using sendfile and the
+ remote side closes the connection. This bug has been
+ present since OTP-21.0.
+
+
+ Full runtime dependencies of erts-10.3.5.17: kernel-6.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.7.6.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.7.6.6 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 21 installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-4.4.2.2 (first satisfied in OTP 21.3.8.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17279 Application(s): ssh
+
+ The idle_time timer was not cancelled when a channel
+ was opened within the timeout time on an empty
+ connection that have had channels previously.
+
+
+ Full runtime dependencies of ssh-4.7.6.6: crypto-4.4.2.2, erts-6.0,
+ kernel-3.0, public_key-1.5.2, stdlib-3.3
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.3.8.23.README.txt b/release-notes/OTP-21.3.8.23.README.txt
new file mode 100644
index 0000000..2359994
--- /dev/null
+++ b/release-notes/OTP-21.3.8.23.README.txt
@@ -0,0 +1,149 @@
+Patch Package: OTP 21.3.8.23
+Git Tag: OTP-21.3.8.23
+Date: 2021-05-06
+Trouble Report Id: OTP-16607, OTP-16930, OTP-17291, OTP-17307,
+ OTP-17349, OTP-17358
+Seq num: ERL-1371, ERL-ERL-610, GH-4396
+System: OTP
+Release: 21
+Application: erl_interface-3.11.3.2, erts-10.3.5.18,
+ runtime_tools-1.13.2.1
+Predecessor: OTP 21.3.8.22
+
+ Check out the git tag OTP-21.3.8.23, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.11.3.2 ------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.11.3.2 application can be applied independently
+ of other applications on a full OTP 21 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17358 Application(s): erl_interface
+ Related Id(s): ERL-ERL-610
+
+ Fix bug where sending of large data with
+ ei_send_*/ei_rpc with infinite timeout could fail when
+ the tcp buffer becomes full.
+
+ Fault has existed since OTP-21.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.3.5.18 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.3.5.18 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 21
+ installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-6.1 (first satisfied in OTP 21.1)
+ -- sasl-3.3 (first satisfied in OTP 21.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17291 Application(s): erts
+
+ The following signals could pass before other signals
+ from the same sender to the same receiver. That is,
+ these signals could arrive too early.
+
+ -- garbage-collect request. Sent from one process to
+ another using one of the garbage_collect() BIFs.
+
+ -- check-process-code request. Sent from one process to
+ another using one of the check_process_code() BIFs.
+
+ -- is-process-alive reply. Sent as a response to a
+ process calling the is_process_alive() BIF.
+
+ -- process-info reply. Sent as a response to a process
+ calling one of the process_info() BIFs.
+
+ -- port-command reply. Sent as a response to a process
+ calling one of the port_command() BIFs.
+
+ -- port-connect reply. Sent as a response to a process
+ calling the port_connect() BIF.
+
+ -- port-close reply. Sent as a response to a process
+ calling the port_close() BIF.
+
+ -- port-control reply. Sent as a response to a process
+ calling the port_control() BIF.
+
+ -- port-call reply. Sent as a response to a process
+ calling the port_call() BIF.
+
+ -- port-info reply. Sent as a response to a process
+ calling one of the port_info() BIFs.
+
+
+ OTP-17307 Application(s): erts
+
+ A garbage collection of a literal area missed messages
+ that entirely consisted of a term in a literal area.
+ This could in turn lead to a crash of the runtime
+ system.
+
+
+ OTP-17349 Application(s): erts
+
+ A call to process_flag(message_queue_data, off_heap)
+ could cause a crash of the runtime system when
+ sequential tracing was enabled.
+
+
+ Full runtime dependencies of erts-10.3.5.18: kernel-6.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.13.2.1 ------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.13.2.1 application can be applied independently
+ of other applications on a full OTP 21 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16930 Application(s): runtime_tools
+ Related Id(s): ERL-1371, GH-4396
+
+ The function dbg:n/1 used a local fun to set up a
+ tracer on a remote node. This works fine as long as the
+ remote node is running exactly the same version of
+ Erlang/OTP but does not work at all otherwise. This is
+ fixed by exporting the relevant function and by calling
+ this function on the remote node to set up remote
+ tracing.
+
+
+ Full runtime dependencies of runtime_tools-1.13.2.1: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-21.3.8.24.README.txt b/release-notes/OTP-21.3.8.24.README.txt
new file mode 100644
index 0000000..0a692fd
--- /dev/null
+++ b/release-notes/OTP-21.3.8.24.README.txt
@@ -0,0 +1,61 @@
+Patch Package: OTP 21.3.8.24
+Git Tag: OTP-21.3.8.24
+Date: 2021-06-01
+Trouble Report Id: OTP-17379, OTP-17448
+Seq num: GH-4898
+System: OTP
+Release: 21
+Application: erts-10.3.5.19
+Predecessor: OTP 21.3.8.23
+
+ Check out the git tag OTP-21.3.8.24, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.3.5.19 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.3.5.19 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 21
+ installation.
+
+ On a full OTP 21 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-6.1 (first satisfied in OTP 21.1)
+ -- sasl-3.3 (first satisfied in OTP 21.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17379 Application(s): erts
+ Related Id(s): PR-4804
+
+ Fix bug in match spec compilator seen to cause a stack
+ overflow crash on debug VM for certain match specs.
+ Could potentially cause problems for standard VM, but
+ has not been verified. Match specs are used by
+ ets:match/select functions and erlang:trace_pattern.
+
+
+ OTP-17448 Application(s): erts
+ Related Id(s): GH-4898, OTP-17291, PR-4903
+
+ A call to port_command() could cause a scheduler to end
+ up in an eternal loop if the port was busy and the
+ calling process had incoming signals at the time of the
+ call. This bug was introduced in OTP 23.3.2 (ERTS
+ version 11.2.1), OTP 22.3.4.18 (ERTS version
+ 10.7.2.10), and OTP 21.3.8.23 (ERTS version 10.3.5.18).
+
+
+ Full runtime dependencies of erts-10.3.5.19: kernel-6.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.10.README.txt b/release-notes/OTP-22.3.4.10.README.txt
new file mode 100644
index 0000000..3486ab6
--- /dev/null
+++ b/release-notes/OTP-22.3.4.10.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 22.3.4.10
+Git Tag: OTP-22.3.4.10
+Date: 2020-08-28
+Trouble Report Id: OTP-16818
+Seq num: ERIERL-526
+System: OTP
+Release: 22
+Application: megaco-3.18.8.2
+Predecessor: OTP 22.3.4.9
+
+ Check out the git tag OTP-22.3.4.10, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.8.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.18.8.2 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16818 Application(s): megaco
+ Related Id(s): ERIERL-526
+
+ The v2 and v3 parsers could not properly decode some
+ IPv6 addresses.
+
+
+ Full runtime dependencies of megaco-3.18.8.2: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.11.README.txt b/release-notes/OTP-22.3.4.11.README.txt
new file mode 100644
index 0000000..f743c6b
--- /dev/null
+++ b/release-notes/OTP-22.3.4.11.README.txt
@@ -0,0 +1,174 @@
+Patch Package: OTP 22.3.4.11
+Git Tag: OTP-22.3.4.11
+Date: 2020-10-02
+Trouble Report Id: OTP-16815, OTP-16847, OTP-16856, OTP-16866,
+ OTP-16870, OTP-16874, OTP-16904, OTP-16906
+Seq num: ERIERL-500, ERIERL-532, ERL-1301, ERL-1355,
+ ERL-1356
+System: OTP
+Release: 22
+Application: erts-10.7.2.4, mnesia-4.16.3.1,
+ os_mon-2.5.1.1, ssh-4.9.1.2
+Predecessor: OTP 22.3.4.10
+
+ Check out the git tag OTP-22.3.4.11, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16847 Application(s): erts
+ Related Id(s): ERL-1301
+
+ inet:setopts([{active,once}]) wakes up IO polling
+ thread unnecessarily, leading to lock contention and
+ visibly higher CPU utilization.
+
+
+ OTP-16866 Application(s): erts
+ Related Id(s): ERL-1355
+
+ The documentation of statistics(run_queue) erroneously
+ stated that it returns the total length of all normal
+ run queues when it is the total length of all normal
+ and dirty CPU run queues that is returned. The
+ documentation has been updated to reflect the actual
+ behavior.
+
+
+ OTP-16870 Application(s): erts
+
+ Two bugs in the ERTS internal thread wakeup
+ functionality have been fixed. These bugs mainly hit
+ when all threads in the system tried to go to sleep.
+ When the bugs were triggered, certain operations were
+ delayed until a thread woke up due to some other
+ reason. Most important operations effected were code
+ loading, persistent term updates, and memory
+ deallocation.
+
+
+ OTP-16874 Application(s): erts
+ Related Id(s): ERL-1356, PR-2763
+
+ Fixed bug in ets:select_replace/2 on compressed tables
+ that could produce faulty results or VM crash. Bug
+ exists since OTP 20.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16856 Application(s): erts
+
+ As of OTP 22, the allocator specific memory carrier
+ pools were replaced by a node global carrier pool. This
+ unfortunately caused substantial memory fragmentation
+ in some cases due to long lived data being spread into
+ carriers used by allocators mainly handling short lived
+ data.
+
+ A new command line argument +M<S>cp has been introduced
+ with which one can enable the old behavior as well as
+ configuring other behaviors for the carrier pools. In
+ order to configure the old behavior, with allocator
+ specific carrier pools for all allocators, pass +Mucp :
+ (including the colon character) as a command line
+ argument to erl when starting the Erlang system.
+
+ The default configuration for carrier pools will be
+ changed to +Mucp : some time in the future, but not in
+ this patch.
+
+
+ Full runtime dependencies of erts-10.7.2.4: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.16.3.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.16.3.1 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16815 Application(s): mnesia
+ Related Id(s): ERIERL-500
+
+ Fixed crash during startup, which could happen if a
+ table was deleted on another node.
+
+
+ Full runtime dependencies of mnesia-4.16.3.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.5.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.5.1.1 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16906 Application(s): os_mon
+ Related Id(s): ERIERL-532
+
+ The configuration parameter
+ memsup_improved_system_memory_data has been introduced.
+ It can be used to modify the result returned by
+ memsup:get_system_memory_data(). For more information
+ see the memsup documentation.
+
+ Note that the configuration parameter is intended to be
+ removed in OTP 24 and the modified result is intended
+ to be used as of OTP 24.
+
+
+ Full runtime dependencies of os_mon-2.5.1.1: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.9.1.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.9.1.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-4.6.4 (first satisfied in OTP 22.2.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16904 Application(s): ssh
+
+ Fix decoder bug.
+
+
+ Full runtime dependencies of ssh-4.9.1.2: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.12.1.README.txt b/release-notes/OTP-22.3.4.12.1.README.txt
new file mode 100644
index 0000000..2112a11
--- /dev/null
+++ b/release-notes/OTP-22.3.4.12.1.README.txt
@@ -0,0 +1,39 @@
+Patch Package: OTP 22.3.4.12.1
+Git Tag: OTP-22.3.4.12.1
+Date: 2021-05-07
+Trouble Report Id: OTP-17358
+Seq num: ERIERL-610
+System: OTP
+Release: 22
+Application: erl_interface-3.13.2.0.1
+Predecessor: OTP 22.3.4.12
+
+ Check out the git tag OTP-22.3.4.12.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.13.2.0.1 ----------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.13.2.0.1 application can be applied independently
+ of other applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17358 Application(s): erl_interface
+ Related Id(s): ERIERL-610
+
+ Fix bug where sending of large data with
+ ei_send_*/ei_rpc with infinite timeout could fail when
+ the tcp buffer becomes full.
+
+ Fault has existed since OTP-21.
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.12.README.txt b/release-notes/OTP-22.3.4.12.README.txt
new file mode 100644
index 0000000..ff81c36
--- /dev/null
+++ b/release-notes/OTP-22.3.4.12.README.txt
@@ -0,0 +1,80 @@
+Patch Package: OTP 22.3.4.12
+Git Tag: OTP-22.3.4.12
+Date: 2020-10-20
+Trouble Report Id: OTP-16837, OTP-16921, OTP-16939
+Seq num: ERL-1319
+System: OTP
+Release: 22
+Application: erts-10.7.2.5, ssl-9.6.2.3
+Predecessor: OTP 22.3.4.11
+
+ Check out the git tag OTP-22.3.4.12, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.5 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16939 Application(s): erts
+
+ Fixed bugs causing issues when enabling the ERTS
+ internal allocators on a system built with the
+ undocumented and unsupported SMALL_MEMORY feature.
+
+
+ Full runtime dependencies of erts-10.7.2.5: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-9.6.2.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-9.6.2.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.7.2 (first satisfied in OTP 22.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16837 Application(s): ssl
+ Related Id(s): ERL-1319, OTP-16764
+
+ Correct flow ctrl checks from OTP-16764 to work as
+ intended. Probably will not have a noticeable affect
+ but will make connections more well behaved under some
+ circumstances.
+
+
+ OTP-16921 Application(s): ssl
+
+ Fix a bug that causes cross-build failure.
+
+ This change excludes the ssl.d dependency file from the
+ source tar balls.
+
+
+ Full runtime dependencies of ssl-9.6.2.3: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.7.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.13.README.txt b/release-notes/OTP-22.3.4.13.README.txt
new file mode 100644
index 0000000..3813420
--- /dev/null
+++ b/release-notes/OTP-22.3.4.13.README.txt
@@ -0,0 +1,138 @@
+Patch Package: OTP 22.3.4.13
+Git Tag: OTP-22.3.4.13
+Date: 2020-12-07
+Trouble Report Id: OTP-16869, OTP-16989, OTP-17012, OTP-17022,
+ OTP-17039
+Seq num: ERIERL-492, ERIERL-544, ERL-1337, ERL-1405,
+ ERL-1426
+System: OTP
+Release: 22
+Application: compiler-7.5.4.2, erts-10.7.2.6,
+ megaco-3.18.8.3, snmp-5.5.0.4
+Predecessor: OTP 22.3.4.12
+
+ Check out the git tag OTP-22.3.4.13, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17022 Application(s): snmp
+ Related Id(s): ERIERL-492
+
+ It is now possible to configure the agent in such a way
+ that the order of outgoing notifications are processed
+ in order in the agent. What happens after the
+ notification message has left the agent (been sent) is
+ of course still out of our control.
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.5.4.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.5.4.2 application can be applied independently of
+ other applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17039 Application(s): compiler
+ Related Id(s): ERL-1426
+
+ Fixed a bug in the validator that could cause it to
+ reject valid code
+
+
+ Full runtime dependencies of compiler-7.5.4.2: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.6 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.6 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16869 Application(s): erts
+ Related Id(s): ERL-1337
+
+ Fixed rare distribution bug in race between received
+ signal (link/monitor/spawn_request/spawn_reply) and
+ disconnection. Symptom: VM crash. Since: OTP 21.0.
+
+
+ Full runtime dependencies of erts-10.7.2.6: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.8.3 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.18.8.3 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17012 Application(s): megaco
+ Related Id(s): ERL-1405
+
+ Empty statistics descriptor (now) allowed in both
+ encode and decode for version 3.
+
+
+ Full runtime dependencies of megaco-3.18.8.3: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.5.0.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.5.0.4 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16989 Application(s): snmp
+ Related Id(s): ERIERL-544
+
+ The mib server cache handling has been improved. First,
+ the default gclimit has been changed from 100 to
+ infinity (in order to ensure the size is as small as
+ possible). Also the method of removing old elements has
+ been optimized.
+
+
+ OTP-17022 Application(s): snmp
+ Related Id(s): ERIERL-492
+
+ *** HIGHLIGHT ***
+
+ It is now possible to configure the agent in such a way
+ that the order of outgoing notifications are processed
+ in order in the agent. What happens after the
+ notification message has left the agent (been sent) is
+ of course still out of our control.
+
+
+ Full runtime dependencies of snmp-5.5.0.4: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.14.README.txt b/release-notes/OTP-22.3.4.14.README.txt
new file mode 100644
index 0000000..79304e8
--- /dev/null
+++ b/release-notes/OTP-22.3.4.14.README.txt
@@ -0,0 +1,73 @@
+Patch Package: OTP 22.3.4.14
+Git Tag: OTP-22.3.4.14
+Date: 2021-01-13
+Trouble Report Id: OTP-17073, OTP-17080, OTP-17088
+Seq num: ERIERL-580
+System: OTP
+Release: 22
+Application: compiler-7.5.4.3, erts-10.7.2.7
+Predecessor: OTP 22.3.4.13
+
+ Check out the git tag OTP-22.3.4.14, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.5.4.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.5.4.3 application can be applied independently of
+ other applications on a full OTP 22 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17073 Application(s): compiler
+
+ Fixed a bug in the type optimization pass that could
+ yield incorrect values or cause the wrong clauses to be
+ executed.
+
+
+ Full runtime dependencies of compiler-7.5.4.3: crypto-3.6, erts-9.0,
+ hipe-3.12, kernel-4.0, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.7 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.7 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17080 Application(s): erts
+
+ The suspend_process() and resume_process() BIFs did not
+ check their arguments properly which could cause an
+ emulator crash.
+
+
+ OTP-17088 Application(s): erts
+ Related Id(s): ERIERL-580
+
+ The runtime system would get into an infinite loop if
+ the runtime system was started with more than 1023 file
+ descriptors already open.
+
+
+ Full runtime dependencies of erts-10.7.2.7: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.15.README.txt b/release-notes/OTP-22.3.4.15.README.txt
new file mode 100644
index 0000000..49d648a
--- /dev/null
+++ b/release-notes/OTP-22.3.4.15.README.txt
@@ -0,0 +1,38 @@
+Patch Package: OTP 22.3.4.15
+Git Tag: OTP-22.3.4.15
+Date: 2021-01-20
+Trouble Report Id: OTP-17107
+Seq num:
+System: OTP
+Release: 22
+Application: crypto-4.6.5.2
+Predecessor: OTP 22.3.4.14
+
+ Check out the git tag OTP-22.3.4.15, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-4.6.5.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.6.5.2 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17107 Application(s): crypto
+
+ Adding missing flag in BN-calls in SRP.
+
+
+ Full runtime dependencies of crypto-4.6.5.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.16.README.txt b/release-notes/OTP-22.3.4.16.README.txt
new file mode 100644
index 0000000..fdb904a
--- /dev/null
+++ b/release-notes/OTP-22.3.4.16.README.txt
@@ -0,0 +1,93 @@
+Patch Package: OTP 22.3.4.16
+Git Tag: OTP-22.3.4.16
+Date: 2021-02-19
+Trouble Report Id: OTP-16779, OTP-17185
+Seq num: ERL-1305
+System: OTP
+Release: 22
+Application: erts-10.7.2.8
+Predecessor: OTP 22.3.4.15
+
+ Check out the git tag OTP-22.3.4.16, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-22.3.4.16 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16779 Application(s): otp
+ Related Id(s): ERL-1305, PR-2700
+
+ Changes in build system to make it build for macOS 11.0
+ with Apple Silicon. Also corrected execution of match
+ specs to work on Apple Silicon.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.8 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.8 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17185 Application(s): erts
+
+ Fixed a bug that could cause some work scheduled for
+ execution on scheduler threads to be delayed until
+ other similar work appeared. Beside delaying various
+ cleanup of internal data structures also the following
+ could be delayed:
+
+ -- Termination of a distribution controller process
+
+ -- Disabling of the distribution on a node
+
+ -- Gathering of memory allocator information using the
+ instrument module
+
+ -- Enabling, disabling, and gathering of msacc
+ information
+
+ -- Delivery of 'CHANGE' messages when time offset is
+ monitored
+
+ -- A call to erlang:cancel_timer()
+
+ -- A call to erlang:read_timer()
+
+ -- A call to erlang:statistics(io | garbage_collection
+ | scheduler_wall_time)
+
+ -- A call to ets:all()
+
+ -- A call to erlang:memory()
+
+ -- A call to erlang:system_info({allocator |
+ allocator_sizes, _})
+
+ -- A call to erlang:trace_delivered()
+
+ The bug existed on runtime systems running on all types
+ of hardware except for x86/x86_64.
+
+
+ Full runtime dependencies of erts-10.7.2.8: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.17.README.txt b/release-notes/OTP-22.3.4.17.README.txt
new file mode 100644
index 0000000..5e49d02
--- /dev/null
+++ b/release-notes/OTP-22.3.4.17.README.txt
@@ -0,0 +1,150 @@
+Patch Package: OTP 22.3.4.17
+Git Tag: OTP-22.3.4.17
+Date: 2021-04-06
+Trouble Report Id: OTP-17162, OTP-17223, OTP-17244, OTP-17253,
+ OTP-17279, OTP-17290
+Seq num: GH-4546, GH-4549, GH-4635
+System: OTP
+Release: 22
+Application: erts-10.7.2.9, kernel-6.5.2.2, ssh-4.9.1.3,
+ tools-3.3.1.1
+Predecessor: OTP 22.3.4.16
+
+ Check out the git tag OTP-22.3.4.17, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.9 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.9 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17253 Application(s): erts
+
+ Fixed a bug in the timer implementation which could
+ cause timers that were set to more than 37.25 hours in
+ the future to be delayed. This could occur if there
+ were multiple timers scheduled to be triggered very
+ close in time, but still at different times, and the
+ scheduler thread handling the timers was not able to
+ handle them quickly enough. Delayed timers were in this
+ case triggered when another unrelated timer was
+ triggered.
+
+
+ OTP-17290 Application(s): erts
+ Related Id(s): GH-4635
+
+ Fix bug in call_time tracing (used by eprof) that could
+ cause VM crash. Bug exists since OTP-22.2 (but not in
+ OTP-23).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17244 Application(s): erts
+
+ Fix a file descriptor leak when using sendfile and the
+ remote side closes the connection. This bug has been
+ present since OTP-21.0.
+
+
+ Full runtime dependencies of erts-10.7.2.9: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-6.5.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-6.5.2.2 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-10.6 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17223 Application(s): kernel
+ Related Id(s): GH-4546, PR-4554
+
+ When running Xref in the modules mode, the Debugger
+ application would show up as a depency for the Kernel
+ applications.
+
+
+ Full runtime dependencies of kernel-6.5.2.2: erts-10.6, sasl-3.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.9.1.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.9.1.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-4.6.4 (first satisfied in OTP 22.2.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17279 Application(s): ssh
+
+ The idle_time timer was not cancelled when a channel
+ was opened within the timeout time on an empty
+ connection that have had channels previously.
+
+
+ Full runtime dependencies of ssh-4.9.1.3: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.3.1.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-3.3.1.1 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17162 Application(s): tools
+ Related Id(s): GH-4549, PR-2997, PR-4555,
+ elixir-lang/elixir#10666
+
+ cover would crash when compiling a module having an
+ exported function named clauses.
+
+
+ Full runtime dependencies of tools-3.3.1.1: compiler-5.0, erts-9.1,
+ kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ José Valim
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.18.README.txt b/release-notes/OTP-22.3.4.18.README.txt
new file mode 100644
index 0000000..94ea916
--- /dev/null
+++ b/release-notes/OTP-22.3.4.18.README.txt
@@ -0,0 +1,148 @@
+Patch Package: OTP 22.3.4.18
+Git Tag: OTP-22.3.4.18
+Date: 2021-05-06
+Trouble Report Id: OTP-16607, OTP-16930, OTP-17291, OTP-17307,
+ OTP-17349, OTP-17358
+Seq num: ERL-1371, ERL-ERL-610, GH-4396
+System: OTP
+Release: 22
+Application: erl_interface-3.13.2.1, erts-10.7.2.10,
+ runtime_tools-1.14.0.1
+Predecessor: OTP 22.3.4.17
+
+ Check out the git tag OTP-22.3.4.18, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.13.2.1 ------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.13.2.1 application can be applied independently
+ of other applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17358 Application(s): erl_interface
+ Related Id(s): ERL-ERL-610
+
+ Fix bug where sending of large data with
+ ei_send_*/ei_rpc with infinite timeout could fail when
+ the tcp buffer becomes full.
+
+ Fault has existed since OTP-21.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.10 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.10 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17291 Application(s): erts
+
+ The following signals could pass before other signals
+ from the same sender to the same receiver. That is,
+ these signals could arrive too early.
+
+ -- garbage-collect request. Sent from one process to
+ another using one of the garbage_collect() BIFs.
+
+ -- check-process-code request. Sent from one process to
+ another using one of the check_process_code() BIFs.
+
+ -- is-process-alive reply. Sent as a response to a
+ process calling the is_process_alive() BIF.
+
+ -- process-info reply. Sent as a response to a process
+ calling one of the process_info() BIFs.
+
+ -- port-command reply. Sent as a response to a process
+ calling one of the port_command() BIFs.
+
+ -- port-connect reply. Sent as a response to a process
+ calling the port_connect() BIF.
+
+ -- port-close reply. Sent as a response to a process
+ calling the port_close() BIF.
+
+ -- port-control reply. Sent as a response to a process
+ calling the port_control() BIF.
+
+ -- port-call reply. Sent as a response to a process
+ calling the port_call() BIF.
+
+ -- port-info reply. Sent as a response to a process
+ calling one of the port_info() BIFs.
+
+
+ OTP-17307 Application(s): erts
+
+ A garbage collection of a literal area missed messages
+ that entirely consisted of a term in a literal area.
+ This could in turn lead to a crash of the runtime
+ system.
+
+
+ OTP-17349 Application(s): erts
+
+ A call to process_flag(message_queue_data, off_heap)
+ could cause a crash of the runtime system when
+ sequential tracing was enabled.
+
+
+ Full runtime dependencies of erts-10.7.2.10: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.14.0.1 ------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.14.0.1 application can be applied independently
+ of other applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16930 Application(s): runtime_tools
+ Related Id(s): ERL-1371, GH-4396
+
+ The function dbg:n/1 used a local fun to set up a
+ tracer on a remote node. This works fine as long as the
+ remote node is running exactly the same version of
+ Erlang/OTP but does not work at all otherwise. This is
+ fixed by exporting the relevant function and by calling
+ this function on the remote node to set up remote
+ tracing.
+
+
+ Full runtime dependencies of runtime_tools-1.14.0.1: erts-8.0,
+ kernel-5.0, mnesia-4.12, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.19.README.txt b/release-notes/OTP-22.3.4.19.README.txt
new file mode 100644
index 0000000..42e60b8
--- /dev/null
+++ b/release-notes/OTP-22.3.4.19.README.txt
@@ -0,0 +1,236 @@
+Patch Package: OTP 22.3.4.19
+Git Tag: OTP-22.3.4.19
+Date: 2021-05-20
+Trouble Report Id: OTP-16607, OTP-17379, OTP-17391, OTP-17398,
+ OTP-17420
+Seq num: GH-4810, GH-4821
+System: OTP
+Release: 22
+Application: common_test-1.18.2.1, crypto-4.6.5.3,
+ erl_interface-3.13.2.2, erts-10.7.2.11,
+ megaco-3.18.8.4, odbc-2.12.4.1, snmp-5.5.0.5,
+ wx-1.9.0.1
+Predecessor: OTP 22.3.4.18
+
+ Check out the git tag OTP-22.3.4.19, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-22.3.4.19 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17398 Application(s): otp
+ Related Id(s): GH-4821
+
+ The by autoconf generated configure scripts are now
+ commited into the git repository and will thus always
+ be available. This ensures that the scripts have been
+ generated by an autoconf version that has been tested
+ and by this preventing misconfiguration of OTP. The
+ ./otp_build autoconf build step is therefore no longer
+ necessary and will if executed only print a message and
+ then exit successfully. Currently the configure scripts
+ will be generated using the by Debian patched autoconf
+ version 2.69-11.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.18.2.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.18.2.1 application can be applied independently of
+ other applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of common_test-1.18.2.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.6.5.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.6.5.3 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17391 Application(s): crypto
+ Related Id(s): GH-4810
+
+ Removed a risk for coredump.
+
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of crypto-4.6.5.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-3.13.2.2 ------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-3.13.2.2 application can be applied independently
+ of other applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.11 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.11 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17379 Application(s): erts
+ Related Id(s): PR-4804
+
+ Fix bug in match spec compilator seen to cause a stack
+ overflow crash on debug VM for certain match specs.
+ Could potentially cause problems for standard VM, but
+ has not been verified. Match specs are used by
+ ets:match/select functions and erlang:trace_pattern.
+
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of erts-10.7.2.11: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.18.8.4 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.18.8.4 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of megaco-3.18.8.4: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.12.4.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.12.4.1 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of odbc-2.12.4.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.5.0.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.5.0.5 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of snmp-5.5.0.5: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.9.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.9.0.1 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of wx-1.9.0.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.20.README.txt b/release-notes/OTP-22.3.4.20.README.txt
new file mode 100644
index 0000000..2e203b2
--- /dev/null
+++ b/release-notes/OTP-22.3.4.20.README.txt
@@ -0,0 +1,125 @@
+Patch Package: OTP 22.3.4.20
+Git Tag: OTP-22.3.4.20
+Date: 2021-06-01
+Trouble Report Id: OTP-16033, OTP-17442, OTP-17448, OTP-17459
+Seq num: ERIERL-329, ERL-1414, ERL-885, GH-3923,
+ GH-4448, GH-4824, GH-4842, GH-4861, GH-4898
+System: OTP
+Release: 22
+Application: crypto-4.6.5.4, erts-10.7.2.12,
+ kernel-6.5.2.3, stdlib-3.12.1.1
+Predecessor: OTP 22.3.4.19
+
+ Check out the git tag OTP-22.3.4.20, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-4.6.5.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.6.5.4 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17442 Application(s): crypto
+ Related Id(s): GH-4861
+
+ EC keys are now zero-padded to the expected length if
+ needed.
+
+
+ Full runtime dependencies of crypto-4.6.5.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.12 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.12 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17448 Application(s): erts
+ Related Id(s): GH-4898, OTP-17291, PR-4903
+
+ A call to port_command() could cause a scheduler to end
+ up in an eternal loop if the port was busy and the
+ calling process had incoming signals at the time of the
+ call. This bug was introduced in OTP 23.3.2 (ERTS
+ version 11.2.1), OTP 22.3.4.18 (ERTS version
+ 10.7.2.10), and OTP 21.3.8.23 (ERTS version 10.3.5.18).
+
+
+ Full runtime dependencies of erts-10.7.2.12: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-6.5.2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-6.5.2.3 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-10.6 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16033 Application(s): kernel
+ Related Id(s): ERIERL-329, ERL-1414, ERL-885, GH-3923,
+ GH-4448
+
+ Fix a race condition in Global.
+
+
+ Full runtime dependencies of kernel-6.5.2.3: erts-10.6, sasl-3.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.12.1.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-3.12.1.1 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-10.7.1 (first satisfied in OTP 22.3.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17459 Application(s): stdlib
+ Related Id(s): GH-4824, GH-4842
+
+ Fix a bug that could cause a loop when formatting terms
+ using the control sequences p or P and limiting the
+ output with the option chars_limit.
+
+
+ Full runtime dependencies of stdlib-3.12.1.1: compiler-5.0,
+ crypto-3.3, erts-10.7.1, kernel-6.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.21.README.txt b/release-notes/OTP-22.3.4.21.README.txt
new file mode 100644
index 0000000..da043e4
--- /dev/null
+++ b/release-notes/OTP-22.3.4.21.README.txt
@@ -0,0 +1,182 @@
+Patch Package: OTP 22.3.4.21
+Git Tag: OTP-22.3.4.21
+Date: 2021-09-03
+Trouble Report Id: OTP-17470, OTP-17472, OTP-17476, OTP-17493,
+ OTP-17500, OTP-17513, OTP-17525, OTP-17560,
+ OTP-17568, OTP-17585, OTP-17594
+Seq num: ERIERL-657, GH-4809, GH-4931, GH-4964,
+ GH-5053, GH-5116, GH-5150
+System: OTP
+Release: 22
+Application: erts-10.7.2.13, kernel-6.5.2.4,
+ stdlib-3.12.1.2
+Predecessor: OTP 22.3.4.20
+
+ Check out the git tag OTP-22.3.4.21, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.13 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.13 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17470 Application(s): erts
+ Related Id(s): ERIERL-657
+
+ Fixed a bug in zlib where decompression would crash
+ with data_error on some valid inputs. The bug could
+ also cause extraction from a zip archive using
+ zip:extract() to fail.
+
+
+ OTP-17472 Application(s): erts
+ Related Id(s): PR-4932
+
+ A call to erlang:cancel_timer(_, [{info, false}]) could
+ cause the calling process to block forever in the call.
+ Note that only the synchronous version of the call
+ (that is, the async option is false) in combination
+ with the info option set to false was effected by this
+ bug.
+
+
+ OTP-17493 Application(s): erts
+
+ Microstate accounting (msacc) and os:perf_counter()
+ unintentionally used system time instead of monotonic
+ time for time measurements on a lot of systems. These
+ systems were all non x86/x86_64 systems or x86/x86_64
+ systems without a reliable and constant rdtsc
+ instruction.
+
+ The lock counting (lcnt) built runtime system also
+ unintentionally used system time instead of monotonic
+ time for time measurements on all systems.
+
+
+ OTP-17500 Application(s): erts
+ Related Id(s): GH-4809
+
+ Simultaneous calls to
+ erlang:system_flag(schedulers_online, _) could cause
+ callers to end up in a suspended state forever.
+
+
+ OTP-17513 Application(s): erts
+ Related Id(s): GH-4964, PR-5015
+
+ Fix rare race bug in memory management of distribution
+ entries. Have been seen to cause VM crash when massive
+ number of repeated concurrent failing connection
+ attempts.
+
+
+ OTP-17560 Application(s): erts
+ Related Id(s): GH-5116
+
+ Fix buffer overrun problem in the tty driver. The
+ problem happens on some platforms when using the CTRL+R
+ functionality of newshell with very long strings in the
+ history.
+
+
+ OTP-17568 Application(s): erts
+ Related Id(s): PR-4940
+
+ Fix race-condition that could cause a crash when
+ tracing scheduling or garbage collections on a process
+ that was running on a dirty scheduler.
+
+
+ OTP-17585 Application(s): erts
+ Related Id(s): GH-5150
+
+ Fix rare bug where re:run would crash/return invalid
+ results when given a subbinary as subject.
+
+ This bug has existed since Erlang/OTP 20.0.
+
+
+ OTP-17594 Application(s): erts
+
+ binary_to_term/1,2 is now more resilient against
+ corrupted binaries containing maps in the external
+ format.
+
+
+ Full runtime dependencies of erts-10.7.2.13: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-6.5.2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-6.5.2.4 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-10.6 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17476 Application(s): kernel
+ Related Id(s): GH-4931, PR-4934
+
+ Fixed rare bug that could cause net_kernel process to
+ hang for ever. Have seen to happen with massive number
+ of TLS connections while remote nodes are restarting.
+ Bug exists since OTP-22.0.
+
+
+ Full runtime dependencies of kernel-6.5.2.4: erts-10.6, sasl-3.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.12.1.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-3.12.1.2 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-10.7.1 (first satisfied in OTP 22.3.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17525 Application(s): stdlib
+ Related Id(s): GH-5053
+
+ Fix a bug that could cause a crash when formatting
+ tuples using the control sequences p or P and limiting
+ the output with the option chars_limit.
+
+
+ Full runtime dependencies of stdlib-3.12.1.2: compiler-5.0,
+ crypto-3.3, erts-10.7.1, kernel-6.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.22.README.txt b/release-notes/OTP-22.3.4.22.README.txt
new file mode 100644
index 0000000..bbd3bc6
--- /dev/null
+++ b/release-notes/OTP-22.3.4.22.README.txt
@@ -0,0 +1,147 @@
+Patch Package: OTP 22.3.4.22
+Git Tag: OTP-22.3.4.22
+Date: 2021-10-19
+Trouble Report Id: OTP-17604, OTP-17628, OTP-17642, OTP-17651,
+ OTP-17665, OTP-17677, OTP-17700, OTP-17707
+Seq num: ERIERL-706, GH-5235, GH-5271
+System: OTP
+Release: 22
+Application: erts-10.7.2.14, ssh-4.9.1.4
+Predecessor: OTP 22.3.4.21
+
+ Check out the git tag OTP-22.3.4.22, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.14 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.14 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17604 Application(s): erts
+
+ On 32-bit computers, binary_to_term/1,2 is now more
+ resilient against corrupted binaries containing maps in
+ the external format.
+
+
+ OTP-17628 Application(s): erts
+
+ A call to process_info(Pid, status) could erroneously
+ report the status running when it should have reported
+ waiting. This occurred when the calling process was
+ executing on a higher priority than the process being
+ inspected. This bug has been present since OTP 21.0
+ (erts version 10.0).
+
+
+ OTP-17642 Application(s): erts
+ Related Id(s): PR-5248
+
+ A race between an exiting port and handling of
+ simultaneously received signals to that port could
+ cause a runtime system crash. The effected signals are
+ link, monitor and demonitor. On OTP 22 a similiar race
+ could also cause a memory leak when receiving an unlink
+ signal.
+
+
+ OTP-17651 Application(s): erts
+ Related Id(s): GH-5235, PR-5244
+
+ The message queue of a process entered an inconsistent
+ state after a receive expression with an invalid
+ timeout value was executed. If the exception raised due
+ to the invalid timeout value was caught, the following
+ receive expression executed by the process could fail
+ to match messages already present in the message queue.
+
+ On OTP 24 this could also cause the whole runtime
+ system to crash.
+
+
+ OTP-17665 Application(s): erts
+ Related Id(s): PR-5248
+
+ Sending a Port ! {PortOwner, close} signal from a
+ process other than the port owner could erroneously
+ trigger a badsig exit signal being sent to the port
+ owner process even though the correct PortOwner had
+ been passed in the signal.
+
+
+ OTP-17677 Application(s): erts
+
+ This fixes a bug in erts_factory_undo that caused the
+ heap to not be reset correctly. The erts_factory_undo
+ function is, for example, called when a
+ binary_to_term/1 call fails to reset the heap to its
+ state before the binary_to_term/1 call. This can cause
+ the heap to contain invalid terms which potentially can
+ cause issues (e.g., crashes) when the whole heap is
+ scanned.
+
+
+ OTP-17700 Application(s): erts
+ Related Id(s): GH-5271, PR-5273
+
+ Fix bug in persistent_term when a key-value pair
+ contains a magic reference that is referred more than
+ once. Magic references are NIF resources or returned
+ from BIFs like ets:new, atomics:new. The bug could
+ cause the memory of the referred resource to be
+ prematurely deallocated.
+
+ The bug also apply to magic references in message
+ passing on a runtime built with configure option
+ --enable-sharing-preserving.
+
+ Bug exist for 64-bit since OTP-24.0 and for 32-bit
+ since OTP-20.0.
+
+
+ Full runtime dependencies of erts-10.7.2.14: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.9.1.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.9.1.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-4.6.4 (first satisfied in OTP 22.2.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17707 Application(s): ssh
+ Related Id(s): ERIERL-706
+
+ The value of the connect_timeout option is now used as
+ default value for the negotiation timeout.
+
+
+ Full runtime dependencies of ssh-4.9.1.4: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.23.README.txt b/release-notes/OTP-22.3.4.23.README.txt
new file mode 100644
index 0000000..279dcab
--- /dev/null
+++ b/release-notes/OTP-22.3.4.23.README.txt
@@ -0,0 +1,67 @@
+Patch Package: OTP 22.3.4.23
+Git Tag: OTP-22.3.4.23
+Date: 2021-11-11
+Trouble Report Id: OTP-17735, OTP-17737
+Seq num: GH-4989, GH-5339, GH-5346
+System: OTP
+Release: 22
+Application: erts-10.7.2.15
+Predecessor: OTP 22.3.4.22
+
+ Check out the git tag OTP-22.3.4.23, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.15 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.15 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17735 Application(s): erts
+ Related Id(s): GH-5339
+
+ The runtime system could call select() with a too large
+ timeout value when executing on MacOS. This could in
+ turn cause the runtime system to crash.
+
+
+ OTP-17737 Application(s): erts
+ Related Id(s): GH-4989, GH-5346
+
+ Certain distributed signals that for various reasons
+ must to be forced into the distribution buffer even
+ when it is full would instead be lost if the
+ distribution buffer was full when sent. The effected
+ signals:
+
+ -- EXIT signals with exit reasons of one word size.
+
+ -- DOWN signals with exit reasons of one word size.
+
+ -- demonitor signals from a terminating process.
+
+ -- unlink_ack signals on OTP 23 and 24.
+
+ -- spawn_reply signals on OTP 23 and 24.
+
+
+ Full runtime dependencies of erts-10.7.2.15: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.24.README.txt b/release-notes/OTP-22.3.4.24.README.txt
new file mode 100644
index 0000000..0acde48
--- /dev/null
+++ b/release-notes/OTP-22.3.4.24.README.txt
@@ -0,0 +1,101 @@
+Patch Package: OTP 22.3.4.24
+Git Tag: OTP-22.3.4.24
+Date: 2021-12-21
+Trouble Report Id: OTP-17796
+Seq num: ERIERL-729
+System: OTP
+Release: 22
+Application: erts-10.7.2.16
+Predecessor: OTP 22.3.4.23
+
+ Check out the git tag OTP-22.3.4.24, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17796 Application(s): erts
+ Related Id(s): ERIERL-729, PR-5473
+
+ Responsiveness of processes executing on normal or low
+ priority could suffer due to code purging or literal
+ area removal on systems with a huge amount of
+ processes. This since during these operations all
+ processes on the system were scheduled for execution at
+ once.
+
+ This problem has been fixed by introducing a limit on
+ outstanding purge and copy literal requests in the
+ system. By default this limit is set to twice the
+ amount of schedulers on the system. This will ensure
+ that schedulers will have enough work scheduled to
+ perform these operations as quickly as possible at the
+ same time as other work will be interleaved to a much
+ higher degree. Performance of these operations will
+ however be somewhat degraded due to the overhead of
+ enforcing this limit compared to when using a very
+ large limit.
+
+ This limit can be set by passing the +zosrl command
+ line argument to erl, or by calling
+ erlang:system_flag(outstanding_system_requests_limit,
+ NewLimit).
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.16 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.16 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Improvements and New Features ---
+
+ OTP-17796 Application(s): erts
+ Related Id(s): ERIERL-729, PR-5473
+
+ *** HIGHLIGHT ***
+
+ Responsiveness of processes executing on normal or low
+ priority could suffer due to code purging or literal
+ area removal on systems with a huge amount of
+ processes. This since during these operations all
+ processes on the system were scheduled for execution at
+ once.
+
+ This problem has been fixed by introducing a limit on
+ outstanding purge and copy literal requests in the
+ system. By default this limit is set to twice the
+ amount of schedulers on the system. This will ensure
+ that schedulers will have enough work scheduled to
+ perform these operations as quickly as possible at the
+ same time as other work will be interleaved to a much
+ higher degree. Performance of these operations will
+ however be somewhat degraded due to the overhead of
+ enforcing this limit compared to when using a very
+ large limit.
+
+ This limit can be set by passing the +zosrl command
+ line argument to erl, or by calling
+ erlang:system_flag(outstanding_system_requests_limit,
+ NewLimit).
+
+
+ Full runtime dependencies of erts-10.7.2.16: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.25.README.txt b/release-notes/OTP-22.3.4.25.README.txt
new file mode 100644
index 0000000..df25808
--- /dev/null
+++ b/release-notes/OTP-22.3.4.25.README.txt
@@ -0,0 +1,229 @@
+Patch Package: OTP 22.3.4.25
+Git Tag: OTP-22.3.4.25
+Date: 2022-03-29
+Trouble Report Id: OTP-17843, OTP-17888, OTP-17904, OTP-17905,
+ OTP-17998
+Seq num: ERIERL-732, ERIERL-757, GH-5554
+System: OTP
+Release: 22
+Application: common_test-1.18.2.2, erts-10.7.2.17,
+ kernel-6.5.2.5
+Predecessor: OTP 22.3.4.24
+
+ Check out the git tag OTP-22.3.4.25, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.18.2.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.18.2.2 application can be applied independently of
+ other applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17888 Application(s): common_test
+
+ OTP internal test fix.
+
+
+ Full runtime dependencies of common_test-1.18.2.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.17 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.17 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.2.5 (first satisfied in OTP 22.3.4.25)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ *** HIGHLIGHT ***
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ OTP-17904 Application(s): erts
+ Related Id(s): ERIERL-757
+
+ Fix memory leak when tracing on running on a process
+ that only handle system tasks or non-message signals
+ (for example process_info requests).
+
+
+ OTP-17998 Application(s): erts
+ Related Id(s): GH-5554, PR-5825
+
+ Fix Erlang monotonic time on MacOS. Previously used OS
+ monotonic time primitive on MacOS is buggy and will not
+ be used anymore. It has been replaced with usage of
+ another OS monotonic time primitive that does not
+ appear to be buggy.
+
+
+ Full runtime dependencies of erts-10.7.2.17: kernel-6.5.2.5,
+ sasl-3.3, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-6.5.2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-6.5.2.5 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-10.7.2.17 (first satisfied in OTP 22.3.4.25)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ *** HIGHLIGHT ***
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17905 Application(s): kernel
+ Related Id(s): ERIERL-732, PR-5740
+
+ A net_tickintensity kernel parameter has been
+ introduced. It can be used to control the amount of
+ ticks during a net_ticktime period.
+
+ A new net_kernel:start/2 function has also been
+ introduced in order to make it easier to add new
+ options. The use of net_kernel:start/1 has been
+ deprecated.
+
+
+ Full runtime dependencies of kernel-6.5.2.5: erts-10.7.2.17,
+ sasl-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.26.README.txt b/release-notes/OTP-22.3.4.26.README.txt
new file mode 100644
index 0000000..7b273ef
--- /dev/null
+++ b/release-notes/OTP-22.3.4.26.README.txt
@@ -0,0 +1,67 @@
+Patch Package: OTP 22.3.4.26
+Git Tag: OTP-22.3.4.26
+Date: 2022-05-03
+Trouble Report Id: OTP-18075, OTP-18076, OTP-18077
+Seq num: ERIERL-802, GH-5876
+System: OTP
+Release: 22
+Application: erts-10.7.2.18
+Predecessor: OTP 22.3.4.25
+
+ Check out the git tag OTP-22.3.4.26, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.18 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.18 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.2.5 (first satisfied in OTP 22.3.4.25)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18075 Application(s): erts
+ Related Id(s): PR-5927
+
+ Fix bug where the process message queue was left in an
+ inconsistent state when changing from on_heap to
+ off_heap message queue data causing the GC to segfault.
+
+
+ OTP-18076 Application(s): erts
+ Related Id(s): ERIERL-802, PR-5905
+
+ Fix functions that convert universal to localtime (such
+ as erlang:localtime/0 and
+ erlang:universaltime_to_localtime/1) to fetch the
+ correct localtime if it is changed after the start of
+ the VM.
+
+
+ OTP-18077 Application(s): erts
+ Related Id(s): GH-5876, PR-5892
+
+ Fix memory leak when a process doing a distributed
+ fragmented send is sent an exit signal. Before this fix
+ the receiving node would be left with an incomplete
+ message that would remain until the nodes were
+ disconnected. The bug has existed since Erlang/OTP 21.
+
+
+ Full runtime dependencies of erts-10.7.2.18: kernel-6.5.2.5,
+ sasl-3.3, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.27.README.txt b/release-notes/OTP-22.3.4.27.README.txt
new file mode 100644
index 0000000..3fc578b
--- /dev/null
+++ b/release-notes/OTP-22.3.4.27.README.txt
@@ -0,0 +1,145 @@
+Patch Package: OTP 22.3.4.27
+Git Tag: OTP-22.3.4.27
+Date: 2024-03-18
+Trouble Report Id: OTP-18169, OTP-18170, OTP-18175, OTP-18197,
+ OTP-18258, OTP-18897, OTP-19002
+Seq num: ERIERL-1041, GH-6165, GH-6309, PR-6134,
+ PR-6135, PR-6142, PR-6213, PR-6324
+System: OTP
+Release: 22
+Application: erts-10.7.2.19, ssh-4.9.1.5
+Predecessor: OTP 22.3.4.26
+
+ Check out the git tag OTP-22.3.4.27, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18897 Application(s): ssh
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH User's Guide.
+
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.19 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.19 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 22
+ installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.2.5 (first satisfied in OTP 22.3.4.25)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18169 Application(s): erts
+ Related Id(s): PR-6134
+
+ A race could cause process_info(Pid, message_queue_len)
+ on other processes to return invalid results.
+
+
+ OTP-18170 Application(s): erts
+ Related Id(s): PR-6135
+
+ Fixed reduction counting for handling process system
+ tasks.
+
+
+ OTP-18175 Application(s): erts
+ Related Id(s): PR-6142
+
+ Priority elevation of terminating processes did not
+ work which could cause execution of such processes to
+ be delayed.
+
+
+ OTP-18197 Application(s): erts
+ Related Id(s): GH-6165, PR-6213
+
+ The erlang:monotonic_time/1, erlang:system_time/1,
+ erlang:time_offset/1, and os:system_time/1 BIFs
+ erroneously failed when passed the argument native.
+
+
+ OTP-18258 Application(s): erts
+ Related Id(s): GH-6309, PR-6324
+
+ Notifications about available distribution data sent to
+ distribution controller processes could be lost.
+ Distribution controller processes can be used when
+ implementing an alternative distribution carrier. The
+ default distribution over tcp was not effected and the
+ bug was also not present on x86/x86_64 platforms.
+
+
+ Full runtime dependencies of erts-10.7.2.19: kernel-6.5.2.5,
+ sasl-3.3, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.9.1.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.9.1.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-4.6.4 (first satisfied in OTP 22.2.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18897 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH User's Guide.
+
+
+ OTP-19002 Application(s): ssh
+ Related Id(s): ERIERL-1041
+
+ With this change, KEX strict terminal message is
+ emitted with debug verbosity.
+
+
+ Full runtime dependencies of ssh-4.9.1.5: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.5.README.txt b/release-notes/OTP-22.3.4.5.README.txt
new file mode 100644
index 0000000..a2c16dd
--- /dev/null
+++ b/release-notes/OTP-22.3.4.5.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 22.3.4.5
+Git Tag: OTP-22.3.4.5
+Date: 2020-08-03
+Trouble Report Id: OTP-16775
+Seq num: ERIERL-519
+System: OTP
+Release: 22
+Application: inets-7.1.3.2
+Predecessor: OTP 22.3.4.4
+
+ Check out the git tag OTP-22.3.4.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-7.1.3.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.1.3.2 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16775 Application(s): inets
+ Related Id(s): ERIERL-519
+
+ Fix a crash in http server when setopts is called on a
+ socket closed by the peer.
+
+
+ Full runtime dependencies of inets-7.1.3.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.6.README.txt b/release-notes/OTP-22.3.4.6.README.txt
new file mode 100644
index 0000000..43195cd
--- /dev/null
+++ b/release-notes/OTP-22.3.4.6.README.txt
@@ -0,0 +1,63 @@
+Patch Package: OTP 22.3.4.6
+Git Tag: OTP-22.3.4.6
+Date: 2020-08-13
+Trouble Report Id: OTP-16780, OTP-16790
+Seq num: ERIERL-522, PR-2701
+System: OTP
+Release: 22
+Application: erts-10.7.2.3, inets-7.1.3.3
+Predecessor: OTP 22.3.4.5
+
+ Check out the git tag OTP-22.3.4.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-10.7.2.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-10.7.2.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-6.5.1 (first satisfied in OTP 22.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16780 Application(s): erts
+ Related Id(s): PR-2701
+
+ The ERTS internal I/O poll implementation could get
+ into an inconsistent state causing input events to be
+ ignored.
+
+ Full runtime dependencies of erts-10.7.2.3: kernel-6.5.1, sasl-3.3,
+ stdlib-3.5
+
+ ---------------------------------------------------------------------
+ --- inets-7.1.3.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.1.3.3 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16790 Application(s): inets
+ Related Id(s): ERIERL-522
+
+ Corrected an error regarding decode of percent encoded
+ URLs introduced in inets-7.1.3.
+
+
+ Full runtime dependencies of inets-7.1.3.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
diff --git a/release-notes/OTP-22.3.4.7.README.txt b/release-notes/OTP-22.3.4.7.README.txt
new file mode 100644
index 0000000..2d5ebad
--- /dev/null
+++ b/release-notes/OTP-22.3.4.7.README.txt
@@ -0,0 +1,41 @@
+Patch Package: OTP 22.3.4.7
+Git Tag: OTP-22.3.4.7
+Date: 2020-08-17
+Trouble Report Id: OTP-15767
+Seq num: ERIERL-523
+System: OTP
+Release: 22
+Application: snmp-5.5.0.2
+Predecessor: OTP 22.3.4.6
+
+ Check out the git tag OTP-22.3.4.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- snmp-5.5.0.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.5.0.2 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15767 Application(s): snmp
+ Related Id(s): ERIERL-523
+
+ The SNMP Agent missed to re-activate datagram reception
+ in an odd timeout case and went deaf. This bug has been
+ fixed.
+
+
+ Full runtime dependencies of snmp-5.5.0.2: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.8.README.txt b/release-notes/OTP-22.3.4.8.README.txt
new file mode 100644
index 0000000..8d2e7a3
--- /dev/null
+++ b/release-notes/OTP-22.3.4.8.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 22.3.4.8
+Git Tag: OTP-22.3.4.8
+Date: 2020-08-19
+Trouble Report Id: OTP-15130
+Seq num: ERIERL-524
+System: OTP
+Release: 22
+Application: snmp-5.5.0.3
+Predecessor: OTP 22.3.4.7
+
+ Check out the git tag OTP-22.3.4.8, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- snmp-5.5.0.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.5.0.3 application can be applied independently of other
+ applications on a full OTP 22 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15130 Application(s): snmp
+ Related Id(s): ERIERL-524, OTP-16541
+
+ For agent fix PrivParams for SNMPv3 USM with AES
+ privacy, as earlier fixed for the manager in OTP_16541.
+
+
+ Full runtime dependencies of snmp-5.5.0.3: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-22.3.4.9.README.txt b/release-notes/OTP-22.3.4.9.README.txt
new file mode 100644
index 0000000..0c927b6
--- /dev/null
+++ b/release-notes/OTP-22.3.4.9.README.txt
@@ -0,0 +1,56 @@
+Patch Package: OTP 22.3.4.9
+Git Tag: OTP-22.3.4.9
+Date: 2020-08-21
+Trouble Report Id: OTP-16791, OTP-16803
+Seq num: ERIERL-520
+System: OTP
+Release: 22
+Application: ssh-4.9.1.1
+Predecessor: OTP 22.3.4.8
+
+ Check out the git tag OTP-22.3.4.9, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.9.1.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssh-4.9.1.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 22 installation.
+
+ On a full OTP 22 installation, also the following runtime
+ dependency has to be satisfied:
+ -- crypto-4.6.4 (first satisfied in OTP 22.2.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16791 Application(s): ssh
+ Related Id(s): ERIERL-520
+
+ Fix a bug that could crash the cli server if a too
+ large cli-window was requested from the client.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16803 Application(s): ssh
+
+ A new timeout is defined for daemons: hello_timeout.
+
+ It closes an incoming TCP-connection if no valid 1st
+ message is received from the client within the timeout
+ limit.
+
+
+ Full runtime dependencies of ssh-4.9.1.1: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.0.4.README.txt b/release-notes/OTP-23.0.4.README.txt
new file mode 100644
index 0000000..e9a1ac8
--- /dev/null
+++ b/release-notes/OTP-23.0.4.README.txt
@@ -0,0 +1,85 @@
+Patch Package: OTP 23.0.4
+Git Tag: OTP-23.0.4
+Date: 2020-09-11
+Trouble Report Id: OTP-16780, OTP-16804, OTP-16818
+Seq num: ERIERL-526
+System: OTP
+Release: 23
+Application: erts-11.0.4, megaco-3.19.2, stdlib-3.13.1
+Predecessor: OTP 23.0.3
+
+ Check out the git tag OTP-23.0.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.0.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.0.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16780 Application(s): erts
+ Related Id(s): PR-2701
+
+ The ERTS internal I/O poll implementation could get
+ into an inconsistent state causing input events to be
+ ignored.
+
+
+ Full runtime dependencies of erts-11.0.4: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.19.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.19.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16818 Application(s): megaco
+ Related Id(s): ERIERL-526
+
+ The v2 and v3 parsers could not properly decode some
+ IPv6 addresses.
+
+
+ Full runtime dependencies of megaco-3.19.2: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.13.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.13.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16804 Application(s): stdlib
+
+ When a temporary child of a simple_one_for_one
+ supervisor died, the internal state of the supervisor
+ would be corrupted in a way that would cause the
+ supervisor to retain the start arguments for subsequent
+ children started by the supervisor, causing unnecessary
+ growth of the supervisor's heap. There state corruption
+ could potentially cause other problems as well.
+
+
+ Full runtime dependencies of stdlib-3.13.1: compiler-5.0, crypto-3.3,
+ erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.1.1.README.txt b/release-notes/OTP-23.1.1.README.txt
new file mode 100644
index 0000000..e264ea5
--- /dev/null
+++ b/release-notes/OTP-23.1.1.README.txt
@@ -0,0 +1,193 @@
+Patch Package: OTP 23.1.1
+Git Tag: OTP-23.1.1
+Date: 2020-10-02
+Trouble Report Id: OTP-16847, OTP-16856, OTP-16870, OTP-16874,
+ OTP-16892, OTP-16895, OTP-16902, OTP-16903,
+ OTP-16904, OTP-16906
+Seq num: ERIERL-532, ERIERL-534, ERL-1301, ERL-1356,
+ ERL-1359, ERL-1362
+System: OTP
+Release: 23
+Application: compiler-7.6.4, erts-11.1.1, os_mon-2.6.1,
+ public_key-1.9.1, ssh-4.10.2
+Predecessor: OTP 23.1
+
+ Check out the git tag OTP-23.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-23.1.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16903 Application(s): otp
+ Related Id(s): ERL-1362
+
+ Fixed the missing redistribution file in the windows
+ installers.
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16895 Application(s): compiler
+ Related Id(s): ERL-1359
+
+ Fixed a performance bug that could be triggered by
+ tuple matching in very large functions.
+
+
+ Full runtime dependencies of compiler-7.6.4: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16847 Application(s): erts
+ Related Id(s): ERL-1301
+
+ inet:setopts([{active,once}]) wakes up IO polling
+ thread unnecessarily, leading to lock contention and
+ visibly higher CPU utilization.
+
+
+ OTP-16870 Application(s): erts
+
+ Two bugs in the ERTS internal thread wakeup
+ functionality have been fixed. These bugs mainly hit
+ when all threads in the system tried to go to sleep.
+ When the bugs were triggered, certain operations were
+ delayed until a thread woke up due to some other
+ reason. Most important operations effected were code
+ loading, persistent term updates, and memory
+ deallocation.
+
+
+ OTP-16874 Application(s): erts
+ Related Id(s): ERL-1356, PR-2763
+
+ Fixed bug in ets:select_replace/2 on compressed tables
+ that could produce faulty results or VM crash. Bug
+ exists since OTP 20.
+
+
+ OTP-16892 Application(s): erts
+
+ When compiling Erlang/OTP on macOS using Xcode 12, the
+ performance of the BEAM interpreter would be degraded.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16856 Application(s): erts
+
+ As of OTP 22, the allocator specific memory carrier
+ pools were replaced by a node global carrier pool. This
+ unfortunately caused substantial memory fragmentation
+ in some cases due to long lived data being spread into
+ carriers used by allocators mainly handling short lived
+ data.
+
+ A new command line argument +M<S>cp has been introduced
+ with which one can enable the old behavior as well as
+ configuring other behaviors for the carrier pools. In
+ order to configure the old behavior, with allocator
+ specific carrier pools for all allocators, pass +Mucp :
+ (including the colon character) as a command line
+ argument to erl when starting the Erlang system.
+
+ The default configuration for carrier pools will be
+ changed to +Mucp : some time in the future, but not in
+ this patch.
+
+
+ Full runtime dependencies of erts-11.1.1: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.6.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.6.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16906 Application(s): os_mon
+ Related Id(s): ERIERL-532
+
+ The configuration parameter
+ memsup_improved_system_memory_data has been introduced.
+ It can be used to modify the result returned by
+ memsup:get_system_memory_data(). For more information
+ see the memsup documentation.
+
+ Note that the configuration parameter is intended to be
+ removed in OTP 24 and the modified result is intended
+ to be used as of OTP 24.
+
+
+ Full runtime dependencies of os_mon-2.6.1: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.9.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.9.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16902 Application(s): public_key
+ Related Id(s): ERIERL-534
+
+ Fix the issue that pem_decode will crash with an
+ invalid input.
+
+
+ Full runtime dependencies of public_key-1.9.1: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16904 Application(s): ssh
+
+ Fix decoder bug.
+
+
+ Full runtime dependencies of ssh-4.10.2: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.1.2.README.txt b/release-notes/OTP-23.1.2.README.txt
new file mode 100644
index 0000000..73ae05e
--- /dev/null
+++ b/release-notes/OTP-23.1.2.README.txt
@@ -0,0 +1,93 @@
+Patch Package: OTP 23.1.2
+Git Tag: OTP-23.1.2
+Date: 2020-11-05
+Trouble Report Id: OTP-16939, OTP-16951, OTP-16955, OTP-16991
+Seq num: ERL-1343, ERL-1384
+System: OTP
+Release: 23
+Application: compiler-7.6.5, erts-11.1.2
+Predecessor: OTP 23.1.1
+
+ Check out the git tag OTP-23.1.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16951 Application(s): compiler
+ Related Id(s): ERL-1384
+
+ Fixed a bug in the boolean optimization pass that
+ caused the compiler to confuse different clauses.
+
+
+ Full runtime dependencies of compiler-7.6.5: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16939 Application(s): erts
+
+ Fixed bugs causing issues when enabling the ERTS
+ internal allocators on a system built with the
+ undocumented and unsupported SMALL_MEMORY feature.
+
+
+ OTP-16955 Application(s): erts
+ Related Id(s): ERL-1343, OTP-15618
+
+ The inet driver used to use 16 as maximum elements in
+ an I/O vector passed to writev() (and WSASend() on
+ Windows). When the data to send contained lots of
+ elements, this caused a performance degradation since
+ repeated calls to writev() had to be made to a much
+ larger extent. The inet driver now looks up actual
+ maximum amount of elements that can be used on the
+ system, instead of just assuming 16. On most systems
+ this will result in a maximum amount of I/O vector
+ elements of 1024.
+
+ As of OTP 23.0 the term encoding of signals to send
+ over the distribution are encoded into I/O vectors of
+ buffers instead of into a single buffer. Reference
+ counted binaries are referred to directly from the I/O
+ vector instead of being copied into the single buffer.
+ That is, Erlang signals containing huge amounts of
+ reference counted binaries was effected by this
+ performance degradation.
+
+
+ OTP-16991 Application(s): erts
+ Related Id(s): OTP-15251
+
+ In the distributed case, a faulty reply option in a
+ call to the spawn_request() BIF erroneously caused a
+ badarg exception instead of a badopt error message
+ reply.
+
+
+ Full runtime dependencies of erts-11.1.2: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.1.3.README.txt b/release-notes/OTP-23.1.3.README.txt
new file mode 100644
index 0000000..405128a
--- /dev/null
+++ b/release-notes/OTP-23.1.3.README.txt
@@ -0,0 +1,62 @@
+Patch Package: OTP 23.1.3
+Git Tag: OTP-23.1.3
+Date: 2020-11-17
+Trouble Report Id: OTP-16994, OTP-17006
+Seq num: ERIERL-556
+System: OTP
+Release: 23
+Application: erts-11.1.3, ssh-4.10.3
+Predecessor: OTP 23.1.2
+
+ Check out the git tag OTP-23.1.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16994 Application(s): erts
+
+ Fixed a crash when exceptions were thrown during call
+ time tracing.
+
+
+ Full runtime dependencies of erts-11.1.3: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17006 Application(s): ssh
+ Related Id(s): ERIERL-556
+
+ A supervisor sub-tree could be left if the connection
+ handler process is brutally killed. This will make the
+ max_sessions checking option to count the existing
+ sessions erroneously and could finally block further
+ sessions.
+
+
+ Full runtime dependencies of ssh-4.10.3: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.1.4.1.README.txt b/release-notes/OTP-23.1.4.1.README.txt
new file mode 100644
index 0000000..7e8cefe
--- /dev/null
+++ b/release-notes/OTP-23.1.4.1.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 23.1.4.1
+Git Tag: OTP-23.1.4.1
+Date: 2021-06-07
+Trouble Report Id: OTP-17468
+Seq num: ERIERL-656
+System: OTP
+Release: 23
+Application: ssh-4.10.4.1
+Predecessor: OTP 23.1.4
+
+ Check out the git tag OTP-23.1.4.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.4.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17468 Application(s): ssh
+ Related Id(s): ERIERL-656
+
+ Filter out sensitive data (passwords etc) from progress
+ reports and supervisor reports.
+
+
+ Full runtime dependencies of ssh-4.10.4.1: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.1.4.README.txt b/release-notes/OTP-23.1.4.README.txt
new file mode 100644
index 0000000..eed4f2e
--- /dev/null
+++ b/release-notes/OTP-23.1.4.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 23.1.4
+Git Tag: OTP-23.1.4
+Date: 2020-11-20
+Trouble Report Id: OTP-17016
+Seq num: ERIERL-562
+System: OTP
+Release: 23
+Application: ssh-4.10.4
+Predecessor: OTP 23.1.3
+
+ Check out the git tag OTP-23.1.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17016 Application(s): ssh
+ Related Id(s): ERIERL-562
+
+ The inet option raw was not passed on from the ssh
+ option list to inet.
+
+
+ Full runtime dependencies of ssh-4.10.4: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.1.5.README.txt b/release-notes/OTP-23.1.5.README.txt
new file mode 100644
index 0000000..791d55e
--- /dev/null
+++ b/release-notes/OTP-23.1.5.README.txt
@@ -0,0 +1,44 @@
+Patch Package: OTP 23.1.5
+Git Tag: OTP-23.1.5
+Date: 2020-12-07
+Trouble Report Id: OTP-17021
+Seq num: ERIERL-567
+System: OTP
+Release: 23
+Application: ssh-4.10.5
+Predecessor: OTP 23.1.4
+
+ Check out the git tag OTP-23.1.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17021 Application(s): ssh
+ Related Id(s): ERIERL-567
+
+ An ssh-client can take an accepted socket from a
+ listening socket and do an ssh:connect/2 on it.
+
+ Multiple clients on sockets accepted from the same
+ listening socket had stopped working. This is corrected
+ now.
+
+
+ Full runtime dependencies of ssh-4.10.5: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.1.README.txt b/release-notes/OTP-23.1.README.txt
new file mode 100644
index 0000000..4d30b2e
--- /dev/null
+++ b/release-notes/OTP-23.1.README.txt
@@ -0,0 +1,1210 @@
+Patch Package: OTP 23.1
+Git Tag: OTP-23.1
+Date: 2020-09-23
+Trouble Report Id: OTP-14106, OTP-15130, OTP-15187, OTP-15767,
+ OTP-15855, OTP-16411, OTP-16448, OTP-16591,
+ OTP-16592, OTP-16607, OTP-16625, OTP-16650,
+ OTP-16655, OTP-16658, OTP-16661, OTP-16663,
+ OTP-16674, OTP-16675, OTP-16694, OTP-16697,
+ OTP-16700, OTP-16701, OTP-16705, OTP-16707,
+ OTP-16710, OTP-16713, OTP-16715, OTP-16716,
+ OTP-16732, OTP-16734, OTP-16735, OTP-16737,
+ OTP-16738, OTP-16739, OTP-16740, OTP-16741,
+ OTP-16742, OTP-16743, OTP-16744, OTP-16746,
+ OTP-16748, OTP-16751, OTP-16753, OTP-16754,
+ OTP-16755, OTP-16760, OTP-16761, OTP-16763,
+ OTP-16764, OTP-16765, OTP-16767, OTP-16768,
+ OTP-16770, OTP-16771, OTP-16774, OTP-16775,
+ OTP-16776, OTP-16777, OTP-16778, OTP-16779,
+ OTP-16782, OTP-16783, OTP-16784, OTP-16785,
+ OTP-16786, OTP-16787, OTP-16790, OTP-16791,
+ OTP-16798, OTP-16801, OTP-16802, OTP-16803,
+ OTP-16813, OTP-16815, OTP-16816, OTP-16820,
+ OTP-16821, OTP-16823, OTP-16830, OTP-16832,
+ OTP-16833, OTP-16836, OTP-16837, OTP-16838,
+ OTP-16846, OTP-16848, OTP-16850, OTP-16851,
+ OTP-16854, OTP-16857, OTP-16866
+Seq num: ERIERL-484, ERIERL-496, ERIERL-500,
+ ERIERL-509, ERIERL-511, ERIERL-512,
+ ERIERL-516, ERIERL-519, ERIERL-520,
+ ERIERL-522, ERIERL-523, ERIERL-524, ERL-1215,
+ ERL-1241, ERL-1247, ERL-1257, ERL-1259,
+ ERL-1268, ERL-1271, ERL-1280, ERL-1283,
+ ERL-1284, ERL-1287, ERL-1288, ERL-1293,
+ ERL-1297, ERL-1305, ERL-1307, ERL-1309,
+ ERL-1310, ERL-1312, ERL-1316, ERL-1317,
+ ERL-1319, ERL-1327, ERL-1334, ERL-1340,
+ ERL-1344, ERL-1355
+System: OTP
+Release: 23
+Application: asn1-5.0.14, compiler-7.6.3, crypto-4.8,
+ dialyzer-4.2.1, erl_docgen-1.0.1,
+ erl_interface-4.0.1, erts-11.1, eunit-2.6,
+ ftp-1.0.5, hipe-4.0.1, inets-7.3, kernel-7.1,
+ megaco-3.19.3, mnesia-4.18, observer-2.9.5,
+ odbc-2.13.1, os_mon-2.6, public_key-1.9,
+ runtime_tools-1.15.1, sasl-4.0.1, snmp-5.6.1,
+ ssh-4.10.1, ssl-10.1, stdlib-3.13.2,
+ syntax_tools-2.3.1, tools-3.4.1
+Predecessor: OTP 23.0.4
+
+ Check out the git tag OTP-23.1, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-16790 Application(s): inets
+ Related Id(s): ERIERL-522
+
+ A vulnerability in the httpd module (inets application)
+ regarding directory traversal that was introduced in
+ OTP 22.3.1 and corrected in OTP 22.3.4.6. It was also
+ introduced in OTP 23.0 and corrected in OTP 23.1 The
+ vulnerability is registered as CVE-2020-25623
+
+ The vulnerability is only exposed if the http server
+ (httpd) in the inets application is used. The
+ vulnerability makes it possible to read arbitrary files
+ which the Erlang system has read access to with for
+ example a specially prepared http request.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-23.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16833 Application(s): erts, otp
+ Related Id(s): PR-2729
+
+ Adjust /bin/sh to /system/bin/sh in scripts when
+ installing on Android.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16779 Application(s): otp
+ Related Id(s): ERL-1305, PR-2700
+
+ Changes in build system to make it build for macOS 11.0
+ with Apple Silicon. Also corrected execution of match
+ specs to work on Apple Silicon.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.14 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.14 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16707 Application(s): asn1, erl_interface, erts, odbc
+ Related Id(s): PR-2638
+
+ Changes in order to build on the Haiku operating
+ system.
+
+ Thanks to Calvin Buckley
+
+
+ Full runtime dependencies of asn1-5.0.14: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16701 Application(s): compiler
+ Related Id(s): ERL-1271
+
+ If the update of a map with the 'Map#{Key := Value}'
+ syntax failed, the line number in the stack backtrace
+ could be incorrect.
+
+
+ OTP-16755 Application(s): compiler
+ Related Id(s): ERL-1297
+
+ Fixed a performance bug that slowed down compilation of
+ modules with deeply nested terms.
+
+
+ OTP-16820 Application(s): compiler
+
+ The compiler could in rare circumstances do an an
+ unsafe optimization that would result in a matching of
+ a nested map pattern would fail to match.
+
+
+ OTP-16838 Application(s): compiler
+ Related Id(s): ERL-1340
+
+ Fixed a bug in the validator that caused it to reject
+ valid code.
+
+
+ Full runtime dependencies of compiler-7.6.3: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.8 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.8 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16658 Application(s): crypto
+ Related Id(s): ERL-1257, OTP-15884
+
+ Fix type spec bug in crypto for crypto_init and
+ crypto:one_time
+
+
+ OTP-16846 Application(s): crypto
+ Related Id(s): PR-2741
+
+ The deprecation message for crypto:rand_uniform/2
+ indicated a non-existent function. The correct one
+ (rand:uniform/1) is now suggested.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16771 Application(s): crypto
+ Related Id(s): ERIERL-509
+
+ Implemented a workaround to allow fallback from using
+ the EVP API for Diffie-Hellman key generation
+
+
+ OTP-16774 Application(s): crypto, ssh
+
+ The internal Diffie-Hellman high level API for key
+ generation was slow in old and by OpenSSL now
+ unsupported cryptolib versions (1.0.1 and earlier).
+
+ If such a cryptolib is used anyhow, the low-level API
+ is used internally in the crypto application.
+
+
+ Full runtime dependencies of crypto-4.8: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.2.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16813 Application(s): dialyzer
+ Related Id(s): ERL-1307
+
+ In rare circumstance, dialyzer wold crash when
+ analyzing a list comprehension.
+
+
+ Full runtime dependencies of dialyzer-4.2.1: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.0.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.0.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16661 Application(s): erl_docgen
+ Related Id(s): ERL-1259
+
+ Repaired lost function "since" versions in the right
+ margin of the module reference HTML documentation.
+
+
+ OTP-16675 Application(s): erl_docgen
+
+ Remove erlang compilation warnings and trailing
+ whitespaces.
+
+
+ Full runtime dependencies of erl_docgen-1.0.1: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-4.0.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-4.0.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16740 Application(s): erl_interface
+
+ Fix erl_interface on windows to be compiled with
+ correct flags to make internal primitives reentrant.
+
+
+ OTP-16753 Application(s): erl_interface
+ Related Id(s): ERL-1288, PR-2678
+
+ Fixed ei_get_type to set *size to zero for floats,
+ pids, port and refs according to documentation.
+
+
+ OTP-16786 Application(s): erl_interface
+
+ Fix ei_connect when using a dynamic node name to force
+ usage of distribution version 6.
+
+ This bug caused erl_call -R -address to not work
+ properly.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16707 Application(s): asn1, erl_interface, erts, odbc
+ Related Id(s): PR-2638
+
+ Changes in order to build on the Haiku operating
+ system.
+
+ Thanks to Calvin Buckley
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16625 Application(s): erts
+ Related Id(s): PR-2609
+
+ Update the documentation of the abstract format to use
+ ANNO instead of LINE.
+
+
+ OTP-16710 Application(s): erts
+ Related Id(s): ERL-1280
+
+ The emulator will no longer revert to the default
+ number of schedulers when running under a CPU quota
+ lower than 1 CPU.
+
+
+ OTP-16713 Application(s): erts
+
+ Fixed a problem with crash dumps. When a process that
+ contained reference to literals internally created by
+ the runtime system (such as the tuple returned by
+ os:type/0), the literal would not be included in the
+ crash dump and the crashdump viewer would complain
+ about the heap being incomplete.
+
+
+ OTP-16738 Application(s): erts
+
+ Fix configure detection of PGO for clang.
+
+
+ OTP-16741 Application(s): erts
+
+ The to_erl program has been fixed to correctly
+ interpret newline as only newline and not
+ newline+return.
+
+ This bug would cause the terminal to behave strangely
+ when using lines longer than the terminal size.
+
+
+ OTP-16770 Application(s): erts
+
+ A race condition when changing process priority by
+ calling process_flag(priority, Prio) could cause
+ elevation of priority for a system task to be ignored.
+ This bug hit if the system task was scheduled on the
+ process calling process_flag() at the same time as the
+ priority was changed. The bug is quite harmless and
+ should hit very seldom if ever.
+
+
+ OTP-16833 Application(s): erts, otp
+ Related Id(s): PR-2729
+
+ Adjust /bin/sh to /system/bin/sh in scripts when
+ installing on Android.
+
+
+ OTP-16850 Application(s): erts
+ Related Id(s): ERL-1344
+
+ In rare circumstances, when loading a BEAM file
+ generated by an alternative code generator (not the
+ Erlang compiler in OTP) or from handwritten or patched
+ BEAM code, the loader could do an unsafe optimization.
+
+
+ OTP-16857 Application(s): erts
+
+ A memory and file descriptor leak in socket has been
+ fixed. (When a newly opened socket that had not entered
+ the fd into the VM's poll set (neither received, sent,
+ accepted nor connected) was abandoned without closing
+ (process died), after assigning a different controlling
+ process, then a memory block and the file descriptor
+ could be leaked.)
+
+
+ OTP-16866 Application(s): erts
+ Related Id(s): ERL-1355
+
+ The documentation of statistics(run_queue) erroneously
+ stated that it returns the total length of all normal
+ run queues when it is the total length of all normal
+ and dirty CPU run queues that is returned. The
+ documentation has been updated to reflect the actual
+ behavior.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16707 Application(s): asn1, erl_interface, erts, odbc
+ Related Id(s): PR-2638
+
+ Changes in order to build on the Haiku operating
+ system.
+
+ Thanks to Calvin Buckley
+
+
+ OTP-16715 Application(s): erts
+
+ When building the inet driver on Windows, there where
+ many compiler warnings regarding type casting (used
+ when calling the debug macro). This has now been
+ resolved.
+
+
+ OTP-16763 Application(s): erts, kernel
+
+ Make (use of) the socket registry optional (still
+ enabled by default). Its now possible to build OTP with
+ the socket registry turned off, turn it off by setting
+ an environment variable and controlling in runtime (via
+ function calls and arguments when creating sockets).
+
+
+ OTP-16821 Application(s): erts
+ Related Id(s): PR-2733
+
+ Change default filename encoding on android to UTF-8.
+
+
+ OTP-16848 Application(s): erts
+ Related Id(s): PR-2737
+
+ Clarification of the format of the atom cache header
+ used by the distribution.
+
+
+ Full runtime dependencies of erts-11.1: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.6 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16674 Application(s): eunit
+
+ Fixed compiler warning.
+
+
+ Full runtime dependencies of eunit-2.6: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.0.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ftp-1.0.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16734 Application(s): ftp
+ Related Id(s): ERIERL-496, OTP-16697
+
+ Avoid timing issue when setting active once on a socket
+ that is being closed by the peer.
+
+
+ Full runtime dependencies of ftp-1.0.5: erts-7.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- hipe-4.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The hipe-4.0.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16737 Application(s): hipe
+
+ Fixed a warning issued when building the hipe
+ application.
+
+
+ Full runtime dependencies of hipe-4.0.1: compiler-5.0, erts-9.3,
+ kernel-5.3, stdlib-3.4, syntax_tools-1.6.14
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16650 Application(s): inets
+ Related Id(s): ERL-1215, PR-2629
+
+ Clarify the handling of percent encoded characters in
+ http client.
+
+
+ OTP-16663 Application(s): inets
+ Related Id(s): ERL-1241
+
+ fix crash for undefined port in uri.
+
+
+ OTP-16735 Application(s): inets
+ Related Id(s): ERIERL-496, OTP-16697
+
+ Avoid timing issue when setting active once on a socket
+ that is being closed by the peer.
+
+
+ OTP-16746 Application(s): inets
+ Related Id(s): ERL-1268
+
+ Handle message body of response with 1XX status code as
+ next http message.
+
+
+ OTP-16775 Application(s): inets
+ Related Id(s): ERIERL-519
+
+ Fix a crash in http server when setopts is called on a
+ socket closed by the peer.
+
+
+ OTP-16790 Application(s): inets
+ Related Id(s): ERIERL-522
+
+ *** HIGHLIGHT ***
+
+ A vulnerability in the httpd module (inets application)
+ regarding directory traversal that was introduced in
+ OTP 22.3.1 and corrected in OTP 22.3.4.6. It was also
+ introduced in OTP 23.0 and corrected in OTP 23.1 The
+ vulnerability is registered as CVE-2020-25623
+
+ The vulnerability is only exposed if the http server
+ (httpd) in the inets application is used. The
+ vulnerability makes it possible to read arbitrary files
+ which the Erlang system has read access to with for
+ example a specially prepared http request.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16591 Application(s): inets
+ Related Id(s): ERIERL-484
+
+ Add support of PATCH method in mod_esi.
+
+
+ Full runtime dependencies of inets-7.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15187 Application(s): kernel
+ Related Id(s): ERL-1293
+
+ A fallback has been implemented for file:sendfile when
+ using inet_backend socket
+
+
+ OTP-16694 Application(s): kernel
+ Related Id(s): PR-2625
+
+ Make default TCP distribution honour option backlog in
+ inet_dist_listen_options.
+
+
+ OTP-16743 Application(s): kernel
+ Related Id(s): ERL-1287
+
+ Raw option handling for the experimental gen_tcp_socket
+ backend was broken so that all raw options were ignored
+ by for example gen_tcp:listen/2, a bug that now has
+ been fixed. Reported by Jan Uhlig.
+
+
+ OTP-16748 Application(s): kernel
+ Related Id(s): ERL-1284
+
+ Accept fails with inet-backend socket.
+
+
+ OTP-16754 Application(s): kernel
+
+ Fixed various minor errors in the socket backend of
+ gen_tcp.
+
+
+ OTP-16768 Application(s): kernel
+ Related Id(s): ERL-1312
+
+ Correct disk_log:truncate/1 to count the header. Also
+ correct the documentation to state that
+ disk_log:truncate/1 can be used with external disk
+ logs.
+
+
+ OTP-16783 Application(s): kernel
+
+ Fix erl_epmd:port_please/2,3 type specs to include all
+ possible error values.
+
+
+ OTP-16785 Application(s): kernel
+
+ Fix erl -erl_epmd_port to work properly. Before this
+ fix it did not work at all.
+
+
+ OTP-16823 Application(s): kernel
+ Related Id(s): PR-2722
+
+ Fix typespec for internal function
+ erlang:seq_trace_info/1 to allow term() as returned
+ label. This in turn fixes so that calls to
+ seq_trace:get_token/1 can be correctly analyzer by
+ dialyzer.
+
+
+ OTP-16832 Application(s): kernel
+ Related Id(s): PR-2738
+
+ Fix erroneous double registration of processes in pg
+ when distribution is dynamically started.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16763 Application(s): erts, kernel
+
+ Make (use of) the socket registry optional (still
+ enabled by default). Its now possible to build OTP with
+ the socket registry turned off, turn it off by setting
+ an environment variable and controlling in runtime (via
+ function calls and arguments when creating sockets).
+
+
+ OTP-16784 Application(s): kernel
+
+ erl -remsh nodename no longer requires the hostname to
+ be given when used together with dynamic nodenames.
+
+
+ Full runtime dependencies of kernel-7.1: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.19.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.19.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16836 Application(s): megaco
+
+ The expected number of warnings when (yecc) generating
+ v2 and v3 (text) parser's was incorrect.
+
+
+ Full runtime dependencies of megaco-3.19.3: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.18 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.18 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16782 Application(s): mnesia
+ Related Id(s): PR-2663
+
+ FIx mnesia delete object handling in transaction
+ storage. In a transaction mnesia:read/1 could indicate
+ that exiting objects did not exist after another object
+ was deleted.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16815 Application(s): mnesia
+ Related Id(s): ERIERL-500
+
+ Fixed crash during startup, which could happen if a
+ table was deleted on another node.
+
+
+ Full runtime dependencies of mnesia-4.18: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.9.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.9.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16778 Application(s): observer
+
+ Fix graph windows flickering on windows.
+
+
+ Full runtime dependencies of observer-2.9.5: erts-11.0, et-1.5,
+ kernel-7.0, runtime_tools-1.8.14, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.13.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16707 Application(s): asn1, erl_interface, erts, odbc
+ Related Id(s): PR-2638
+
+ Changes in order to build on the Haiku operating
+ system.
+
+ Thanks to Calvin Buckley
+
+
+ Full runtime dependencies of odbc-2.13.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.6 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16798 Application(s): os_mon
+ Related Id(s): ERL-1327
+
+ memsup now returns the correct amount of system memory
+ on macOS.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16742 Application(s): os_mon
+
+ Fix memsup:get_os_wordsize/0 to return the current size
+ on aarch64.
+
+
+ Full runtime dependencies of os_mon-2.6: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.9 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.9 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16801 Application(s): public_key
+ Related Id(s): ERL-1309
+
+ Fixed an insignificant whitespace issue when decoding
+ PEM file.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16448 Application(s): public_key, ssl
+
+ Experimental OCSP client support.
+
+
+ OTP-16592 Application(s): public_key
+
+ Use user returned path validation error for selfsigned
+ cert. It allows users of the ssl application to
+ customize the generated TLS alert, within the range of
+ defined alerts.
+
+
+ OTP-16705 Application(s): public_key
+
+ add API function to retrieve the subject-ID of an X509
+ certificate
+
+
+ Full runtime dependencies of public_key-1.9: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.15.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.15.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16787 Application(s): runtime_tools
+ Related Id(s): PR-2673
+
+ Fixed a crash in appmon_info triggered by trying to
+ read port info from a port that was in the process of
+ terminating.
+
+ appmon_info is used by observer to get information from
+ the observed node.
+
+
+ Full runtime dependencies of runtime_tools-1.15.1: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-4.0.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16744 Application(s): sasl
+ Related Id(s): ERL-1247, PR-2666
+
+ Make release_handler more resilient against exiting
+ processes during upgrade.
+
+
+ Full runtime dependencies of sasl-4.0.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.6.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.6.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15130 Application(s): snmp
+ Related Id(s): ERIERL-524, OTP-16541
+
+ For agent fix PrivParams for SNMPv3 USM with AES
+ privacy, as earlier fixed for the manager in OTP_16541.
+
+
+ OTP-15767 Application(s): snmp
+ Related Id(s): ERIERL-523
+
+ The SNMP Agent missed to re-activate datagram reception
+ in an odd timeout case and went deaf. This bug has been
+ fixed.
+
+
+ OTP-16716 Application(s): snmp
+
+ Use of deprecated functions in example 2 has been
+ removed (no more compiler warnings).
+
+
+ OTP-16760 Application(s): snmp
+ Related Id(s): ERIERL-511
+
+ A file descriptor leak has been plugged. When calling
+ the reconfigure function of a mib, it opened the config
+ file(s) but never closed them on successful read.
+
+
+ Full runtime dependencies of snmp-5.6.1: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16761 Application(s): ssh
+ Related Id(s): PR-2679
+
+ Fixed a bug when a message to ssh-agent was divided
+ into separate packets.
+
+
+ OTP-16791 Application(s): ssh
+ Related Id(s): ERIERL-520
+
+ Fix a bug that could crash the cli server if a too
+ large cli-window was requested from the client.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14106 Application(s): ssh
+
+ Increased test coverage.
+
+
+ OTP-16411 Application(s): ssh
+
+ A chapter about hardening the OTP SSH is added to the
+ User's Guide.
+
+
+ OTP-16774 Application(s): crypto, ssh
+
+ The internal Diffie-Hellman high level API for key
+ generation was slow in old and by OpenSSL now
+ unsupported cryptolib versions (1.0.1 and earlier).
+
+ If such a cryptolib is used anyhow, the low-level API
+ is used internally in the crypto application.
+
+
+ OTP-16803 Application(s): ssh
+
+ A new timeout is defined for daemons: hello_timeout.
+
+ The timeout is supposed to be used as a simple DoS
+ attack protection. It closes an incoming TCP-connection
+ if no valid first SSH message is received from the
+ client within the timeout limit after the TCP initial
+ connection setup.
+
+ The initial value is 30s by compatibility reasons, but
+ could be lowered if needed, for example in the code or
+ in a config file.
+
+
+ Full runtime dependencies of ssh-4.10.1: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16697 Application(s): ssl
+ Related Id(s): ERIERL-496
+
+ If a passive socket is created, ssl:recv/2,3 is never
+ called and then the peer closes the socket the
+ controlling process will no longer receive an active
+ close message.
+
+
+ OTP-16764 Application(s): ssl
+
+ Data deliver with ssl:recv/2,3 could fail for when
+ using packet mode. This has been fixed by correcting
+ the flow control handling of passive sockets when
+ packet mode is used.
+
+
+ OTP-16765 Application(s): ssl
+
+ This change fixes a potential man-in-the-middle
+ vulnerability when the ssl client is configured to
+ automatically handle session tickets ({session_tickets,
+ auto}).
+
+
+ OTP-16767 Application(s): ssl
+ Related Id(s): ERIERL-512
+
+ Fix the internal handling of options 'verify' and
+ 'verify_fun'.
+
+ This change fixes a vulnerability when setting the ssl
+ option 'verify' to verify_peer in a continued handshake
+ won't take any effect resulting in the acceptance of
+ expired peer certificates.
+
+
+ OTP-16776 Application(s): ssl
+ Related Id(s): ERL-1316
+
+ This change fixes the handling of stateless session
+ tickets when anti-replay is enabled.
+
+
+ OTP-16777 Application(s): ssl
+ Related Id(s): ERL-1317
+
+ Fix a crash due to the faulty handling of stateful
+ session tickets received by servers expecting stateless
+ session tickets.
+
+ This change also improves the handling of
+ faulty/invalid tickets.
+
+
+ OTP-16837 Application(s): ssl
+ Related Id(s): ERL-1319, OTP-16764
+
+ Correct flow ctrl checks from OTP-16764 to work as
+ intended. Probably will not have a noticeable affect
+ but will make connections more well behaved under some
+ circumstances.
+
+
+ OTP-16851 Application(s): ssl
+ Related Id(s): PR-2703
+
+ Distribution over TLS could exhibit livelock-like
+ behaviour when there is a constant stream of
+ distribution messages. Distribution data is now chunked
+ every 16 Mb to avoid that.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15855 Application(s): ssl
+
+ Implement the cookie extension for TLS 1.3.
+
+
+ OTP-16448 Application(s): public_key, ssl
+
+ Experimental OCSP client support.
+
+
+ OTP-16802 Application(s): ssl
+ Related Id(s): ERIERL-516
+
+ TLS 1.0 -TLS-1.2 sessions tables now have a absolute
+ max value instead of using a shrinking mechanism when
+ reaching the limit. To avoid out of memory problems
+ under heavy load situations. Note that this change
+ infers that implementations of ssl_session_cache_api
+ needs to implement the size function (introduce in OTP
+ 19) for session reuse to be optimally utilized.
+
+
+ Full runtime dependencies of ssl-10.1: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.13.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.13.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16655 Application(s): stdlib
+
+ The functions digraph:in_edges/2 and
+ digraph:out_edges/2 would return false edges if called
+ for a vertex that had a '_' atom in its name term.
+
+
+ OTP-16700 Application(s): stdlib
+
+ filelib:wildcard("not-a-directory/..") should return an
+ empty list. On Windows it returned
+ "not-a-directory/..".
+
+
+ OTP-16739 Application(s): stdlib
+
+ Fix the typespec of shell_docs:render to use the
+ correct type for an MFA.
+
+
+ OTP-16751 Application(s): stdlib
+ Related Id(s): ERL-1283
+
+ Fix uri_string:recompose/1 when host is present but
+ input path is not absolute.
+
+ This change prevents the recompose operation to change
+ the top level domain of the host when the path does not
+ start with a slash.
+
+
+ OTP-16816 Application(s): stdlib
+ Related Id(s): ERL-1310
+
+ The epp module would return a badly formed error term
+ when an 'if' preprocessor directive referenced an
+ undefined symbol. epp:format_error/1 would crash when
+ called with the bad error term.
+
+
+ OTP-16830 Application(s): stdlib
+ Related Id(s): ERL-1334, PR-2718
+
+ lists:sublist(List, Start, Len) failed with an
+ exception if Start > length(List) + 1 even though it is
+ explicitly documented that "It is not an error for
+ Start+Len to exceed the length of the list".
+
+
+ Full runtime dependencies of stdlib-3.13.2: compiler-5.0, crypto-3.3,
+ erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.3.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.3.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16732 Application(s): syntax_tools
+ Related Id(s): PR-2659
+
+ Minor documentation fix of erl_syntax:operator/1.
+
+
+ Full runtime dependencies of syntax_tools-2.3.1: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.4.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-3.4.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16854 Application(s): tools
+ Related Id(s): PR-2750
+
+ Correct the Xref analysis locals_not_used to find
+ functions called exclusively from on_load functions.
+
+
+ Full runtime dependencies of tools-3.4.1: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.1.README.txt b/release-notes/OTP-23.2.1.README.txt
new file mode 100644
index 0000000..103f721
--- /dev/null
+++ b/release-notes/OTP-23.2.1.README.txt
@@ -0,0 +1,43 @@
+Patch Package: OTP 23.2.1
+Git Tag: OTP-23.2.1
+Date: 2020-12-21
+Trouble Report Id: OTP-17083
+Seq num: ERIERL-572
+System: OTP
+Release: 23
+Application: erts-11.1.5
+Predecessor: OTP 23.2
+
+ Check out the git tag OTP-23.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17083 Application(s): erts
+ Related Id(s): ERIERL-572
+
+ Fix emulator crash when sending small bit-strings over
+ Erlang distribution while the connection is being
+ setup.
+
+ The fault was introduced in OTP-23.0
+
+
+ Full runtime dependencies of erts-11.1.5: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.2.README.txt b/release-notes/OTP-23.2.2.README.txt
new file mode 100644
index 0000000..dc90813
--- /dev/null
+++ b/release-notes/OTP-23.2.2.README.txt
@@ -0,0 +1,221 @@
+Patch Package: OTP 23.2.2
+Git Tag: OTP-23.2.2
+Date: 2021-01-15
+Trouble Report Id: OTP-16607, OTP-17080, OTP-17088, OTP-17093,
+ OTP-17098, OTP-17099, OTP-17100
+Seq num: ERIERL-580, ERIERL-585, ERL-1447
+System: OTP
+Release: 23
+Application: crypto-4.8.2, erl_interface-4.0.2,
+ erts-11.1.6, megaco-3.19.5, odbc-2.13.2,
+ snmp-5.7.1, ssl-10.2.1
+Predecessor: OTP 23.2.1
+
+ Check out the git tag OTP-23.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-23.2.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17093 Application(s): crypto, megaco, odbc, otp, snmp
+ Related Id(s): ERL-1447, PR-2948
+
+ Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
+ script sources.
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.8.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.8.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17093 Application(s): crypto, megaco, odbc, otp, snmp
+ Related Id(s): ERL-1447, PR-2948
+
+ Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
+ script sources.
+
+
+ Full runtime dependencies of crypto-4.8.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-4.0.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-4.0.2 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17099 Application(s): erl_interface
+ Related Id(s): ERIERL-585
+
+ Integers outside of the range [-(1 bsl 32) - 1, (1 bsl
+ 32) -1] were previously intended to be printed in an
+ internal bignum format by ei_print_term() and
+ ei_s_print_term(). Unfortunately the implementation has
+ been buggy since OTP R13B02 and since then produced
+ results with random content which also could crash the
+ calling program.
+
+ This fix replaces the printing of the internal format
+ with printing in hexadecimal form and extend the range
+ for printing in decimal form. Currently integers in the
+ range [-(1 bsl 64), (1 bsl 64)] are printed in decimal
+ form and integers outside of this range in Erlang
+ hexadecimal form.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.6 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.6 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17080 Application(s): erts
+
+ The suspend_process() and resume_process() BIFs did not
+ check their arguments properly which could cause an
+ emulator crash.
+
+
+ OTP-17088 Application(s): erts
+ Related Id(s): ERIERL-580
+
+ The runtime system would get into an infinite loop if
+ the runtime system was started with more than 1023 file
+ descriptors already open.
+
+
+ Full runtime dependencies of erts-11.1.6: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.19.5 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.19.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17093 Application(s): crypto, megaco, odbc, otp, snmp
+ Related Id(s): ERL-1447, PR-2948
+
+ Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
+ script sources.
+
+
+ Full runtime dependencies of megaco-3.19.5: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.13.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17093 Application(s): crypto, megaco, odbc, otp, snmp
+ Related Id(s): ERL-1447, PR-2948
+
+ Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
+ script sources.
+
+
+ Full runtime dependencies of odbc-2.13.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.7.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.7.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17093 Application(s): crypto, megaco, odbc, otp, snmp
+ Related Id(s): ERL-1447, PR-2948
+
+ Fixed usage of AC_CONFIG_AUX_DIRS() macros in configure
+ script sources.
+
+
+ Full runtime dependencies of snmp-5.7.1: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17098 Application(s): ssl
+
+ Fix CVE-2020-35733 this only affects ssl-10.2
+ (OTP-23.2). This vulnerability could enable a man in
+ the middle attack using a fake chain to a known trusted
+ ROOT. Also limits alternative chain handling, for
+ handling of possibly extraneous certs, to improve
+ memory management.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17100 Application(s): ssl
+
+ Add support for AES CCM based cipher suites defined in
+ RFC 7251
+
+ Also Correct cipher suite name conversion to OpenSSL
+ names. A few names where corrected earlier in OTP-16267
+ For backwards compatible reasons we support usage of
+ openSSL names for cipher suites. Mostly anonymous
+ suites names where incorrect, but also some legacy
+ suites.
+
+
+ Full runtime dependencies of ssl-10.2.1: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.3.README.txt b/release-notes/OTP-23.2.3.README.txt
new file mode 100644
index 0000000..db69d4e
--- /dev/null
+++ b/release-notes/OTP-23.2.3.README.txt
@@ -0,0 +1,102 @@
+Patch Package: OTP 23.2.3
+Git Tag: OTP-23.2.3
+Date: 2021-01-20
+Trouble Report Id: OTP-17097, OTP-17107, OTP-17108, OTP-17110
+Seq num: ERIERL-586, ERL-1442
+System: OTP
+Release: 23
+Application: crypto-4.8.3, erts-11.1.7, snmp-5.7.2,
+ ssh-4.10.7
+Predecessor: OTP 23.2.2
+
+ Check out the git tag OTP-23.2.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-4.8.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.8.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17107 Application(s): crypto
+
+ Adding missing flag in BN-calls in SRP.
+
+
+ Full runtime dependencies of crypto-4.8.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.7 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.7 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17097 Application(s): erts
+
+ Make windows installer remove write access rights for
+ non admin users when installing to a non default
+ directory. Reduces the risk for DLL sideloading, but
+ the user should always be aware of the access rights
+ for the installation.
+
+
+ Full runtime dependencies of erts-11.1.7: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.7.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.7.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17110 Application(s): snmp
+ Related Id(s): ERIERL-586
+
+ [manager] Misspelled priv protocol (atom) made it
+ impossible to update usm user 'priv_key' configuration
+ for usmAesCfb128Protocol via function calls.
+
+
+ Full runtime dependencies of snmp-5.7.2: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.7 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17108 Application(s): ssh
+ Related Id(s): ERL-1442
+
+ The SSH daemon erroneously replaced LF with CRLF also
+ when there was no pty requested from the server.
+
+
+ Full runtime dependencies of ssh-4.10.7: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.4.README.txt b/release-notes/OTP-23.2.4.README.txt
new file mode 100644
index 0000000..cb807c1
--- /dev/null
+++ b/release-notes/OTP-23.2.4.README.txt
@@ -0,0 +1,80 @@
+Patch Package: OTP 23.2.4
+Git Tag: OTP-23.2.4
+Date: 2021-02-04
+Trouble Report Id: OTP-16239, OTP-17139, OTP-17161, OTP-17174
+Seq num: ERIERL-597, ERL-1458
+System: OTP
+Release: 23
+Application: snmp-5.7.3, ssl-10.2.2
+Predecessor: OTP 23.2.3
+
+ Check out the git tag OTP-23.2.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- snmp-5.7.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.7.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17161 Application(s): snmp
+
+ [manager] In a function handling snmp errors, an unused
+ result (_Error) could result in matching issues and
+ therefor case clause runtime errors (crash). Note that
+ this would only happen in *very* unusual error cases.
+
+
+ Full runtime dependencies of snmp-5.7.3: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17139 Application(s): ssl
+ Related Id(s): ERL-1458, OTP-16239
+
+ Avoid that upgrade (from TCP to TLS) servers starts
+ multiple session cache handlers for the same server.
+ This applies to Erlang distribution over TLS servers.
+
+
+ OTP-17174 Application(s): ssl
+ Related Id(s): ERIERL-597
+
+ Legacy cipher suites defined before TLS-1.2 (but still
+ supported) should be possible to use in TLS-1.2. They
+ where accidentally excluded for available cipher suites
+ for TLS-1.2 in OTP-23.2.2.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16239 Application(s): ssl
+ Related Id(s): ERL-1458, OTP-17139
+
+ Enable Erlang distribution over TLS to run TLS-1.3,
+ although TLS-1.2 will still be default.
+
+
+ Full runtime dependencies of ssl-10.2.2: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.5.README.txt b/release-notes/OTP-23.2.5.README.txt
new file mode 100644
index 0000000..497ff60
--- /dev/null
+++ b/release-notes/OTP-23.2.5.README.txt
@@ -0,0 +1,116 @@
+Patch Package: OTP 23.2.5
+Git Tag: OTP-23.2.5
+Date: 2021-02-16
+Trouble Report Id: OTP-17185, OTP-17190, OTP-17191
+Seq num: ERIERL-606, ERL-1476, GH-4192
+System: OTP
+Release: 23
+Application: erts-11.1.8, ssl-10.2.3, tools-3.4.3
+Predecessor: OTP 23.2.4
+
+ Check out the git tag OTP-23.2.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.8 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.8 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17185 Application(s): erts
+
+ Fixed a bug that could cause some work scheduled for
+ execution on scheduler threads to be delayed until
+ other similar work appeared. Beside delaying various
+ cleanup of internal data structures also the following
+ could be delayed:
+
+ -- Termination of a distribution controller process
+
+ -- Disabling of the distribution on a node
+
+ -- Gathering of memory allocator information using the
+ instrument module
+
+ -- Enabling, disabling, and gathering of msacc
+ information
+
+ -- Delivery of 'CHANGE' messages when time offset is
+ monitored
+
+ -- A call to erlang:cancel_timer()
+
+ -- A call to erlang:read_timer()
+
+ -- A call to erlang:statistics(io | garbage_collection
+ | scheduler_wall_time)
+
+ -- A call to ets:all()
+
+ -- A call to erlang:memory()
+
+ -- A call to erlang:system_info({allocator |
+ allocator_sizes, _})
+
+ -- A call to erlang:trace_delivered()
+
+ The bug existed on runtime systems running on all types
+ of hardware except for x86/x86_64.
+
+
+ Full runtime dependencies of erts-11.1.8: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17190 Application(s): ssl
+ Related Id(s): ERIERL-606
+
+ Avoid race when the first two upgrade server handshakes
+ (that is servers that use a gen_tcp socket as input to
+ ssl:handshake/2,3) start close to each other. Could
+ lead to that one of the handshakes would fail.
+
+
+ Full runtime dependencies of ssl-10.2.3: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.4.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-3.4.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17191 Application(s): tools
+ Related Id(s): ERL-1476, GH-4192, OTP-16922
+
+ Correct the Xref analysis undefined_functions to not
+ report internally generated behaviour_info/1.
+
+
+ Full runtime dependencies of tools-3.4.3: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.6.README.txt b/release-notes/OTP-23.2.6.README.txt
new file mode 100644
index 0000000..ea9d2c2
--- /dev/null
+++ b/release-notes/OTP-23.2.6.README.txt
@@ -0,0 +1,66 @@
+Patch Package: OTP 23.2.6
+Git Tag: OTP-23.2.6
+Date: 2021-02-25
+Trouble Report Id: OTP-17173, OTP-17205, OTP-17220
+Seq num: ERIERL-581, ERIERL-608
+System: OTP
+Release: 23
+Application: inets-7.3.2, ssh-4.10.8
+Predecessor: OTP 23.2.5
+
+ Check out the git tag OTP-23.2.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-7.3.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.3.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17205 Application(s): inets
+ Related Id(s): ERIERL-608
+
+ Solves CVE-2021-27563, that is make sure no form of
+ relative path can be used to go outside webservers
+ directory.
+
+
+ OTP-17220 Application(s): inets
+
+ Make sure HEAD requests rejects directory links
+
+
+ Full runtime dependencies of inets-7.3.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.8 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.8 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17173 Application(s): ssh
+ Related Id(s): ERIERL-581
+
+ Don't timeout slow connection setups and tear-downs. A
+ rare crash risk for the controller is also removed.
+
+
+ Full runtime dependencies of ssh-4.10.8: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.7.1.README.txt b/release-notes/OTP-23.2.7.1.README.txt
new file mode 100644
index 0000000..d9aab50
--- /dev/null
+++ b/release-notes/OTP-23.2.7.1.README.txt
@@ -0,0 +1,51 @@
+Patch Package: OTP 23.2.7.1
+Git Tag: OTP-23.2.7.1
+Date: 2021-03-26
+Trouble Report Id: OTP-17289
+Seq num: GH-4585
+System: OTP
+Release: 23
+Application: ssl-10.2.4.1
+Predecessor: OTP 23.2.7
+
+ Check out the git tag OTP-23.2.7.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.4.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17289 Application(s): ssl
+ Related Id(s): GH-4585
+
+ Backport of OTP-17282
+
+ Correct handling of default values for emulated socket
+ options and retain the order of the ssl options list to
+ ensure backwards compatible behavior if options should
+ be set more than once.
+
+
+ Full runtime dependencies of ssl-10.2.4.1: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.7.2.README.txt b/release-notes/OTP-23.2.7.2.README.txt
new file mode 100644
index 0000000..14c92ff
--- /dev/null
+++ b/release-notes/OTP-23.2.7.2.README.txt
@@ -0,0 +1,46 @@
+Patch Package: OTP 23.2.7.2
+Git Tag: OTP-23.2.7.2
+Date: 2021-04-08
+Trouble Report Id: OTP-17305
+Seq num:
+System: OTP
+Release: 23
+Application: ssl-10.2.4.2
+Predecessor: OTP 23.2.7.1
+
+ Check out the git tag OTP-23.2.7.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.4.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17305 Application(s): ssl
+
+ Fix handling of emulated socket options, the previous
+ patch was incomplete,
+
+
+ Full runtime dependencies of ssl-10.2.4.2: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.7.3.README.txt b/release-notes/OTP-23.2.7.3.README.txt
new file mode 100644
index 0000000..8dd3212
--- /dev/null
+++ b/release-notes/OTP-23.2.7.3.README.txt
@@ -0,0 +1,39 @@
+Patch Package: OTP 23.2.7.3
+Git Tag: OTP-23.2.7.3
+Date: 2021-05-06
+Trouble Report Id: OTP-17358
+Seq num: ERL-ERL-610
+System: OTP
+Release: 23
+Application: erl_interface-4.0.2.1
+Predecessor: OTP 23.2.7.2
+
+ Check out the git tag OTP-23.2.7.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-4.0.2.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-4.0.2.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17358 Application(s): erl_interface
+ Related Id(s): ERL-ERL-610
+
+ Fix bug where sending of large data with
+ ei_send_*/ei_rpc with infinite timeout could fail when
+ the tcp buffer becomes full.
+
+ Fault has existed since OTP-21.
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.7.4.README.txt b/release-notes/OTP-23.2.7.4.README.txt
new file mode 100644
index 0000000..b4819d4
--- /dev/null
+++ b/release-notes/OTP-23.2.7.4.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 23.2.7.4
+Git Tag: OTP-23.2.7.4
+Date: 2021-05-28
+Trouble Report Id: OTP-17435
+Seq num: ERIERL-653
+System: OTP
+Release: 23
+Application: ssl-10.2.4.3
+Predecessor: OTP 23.2.7.3
+
+ Check out the git tag OTP-23.2.7.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.4.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.4.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17435 Application(s): ssl
+ Related Id(s): ERIERL-653
+
+ Fix cache invalidation problem for CA certs provided by
+ the cacertfile option.
+
+
+ Full runtime dependencies of ssl-10.2.4.3: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.7.5.README.txt b/release-notes/OTP-23.2.7.5.README.txt
new file mode 100644
index 0000000..bc6f40e
--- /dev/null
+++ b/release-notes/OTP-23.2.7.5.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 23.2.7.5
+Git Tag: OTP-23.2.7.5
+Date: 2022-06-22
+Trouble Report Id: OTP-18145
+Seq num:
+System: OTP
+Release: 23
+Application: ssl-10.2.4.4
+Predecessor: OTP 23.2.7.4
+
+ Check out the git tag OTP-23.2.7.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.4.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18145 Application(s): ssl
+
+ Improved handling of unexpected messages during the
+ handshake, taking the right action for unexpected
+ messages.
+
+
+ Full runtime dependencies of ssl-10.2.4.4: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.7.README.txt b/release-notes/OTP-23.2.7.README.txt
new file mode 100644
index 0000000..350cbfb
--- /dev/null
+++ b/release-notes/OTP-23.2.7.README.txt
@@ -0,0 +1,66 @@
+Patch Package: OTP 23.2.7
+Git Tag: OTP-23.2.7
+Date: 2021-03-03
+Trouble Report Id: OTP-12960, OTP-17228
+Seq num: ERIERL-598, ERIERL-614
+System: OTP
+Release: 23
+Application: kernel-7.2.1, ssl-10.2.4
+Predecessor: OTP 23.2.6
+
+ Check out the git tag OTP-23.2.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- kernel-7.2.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.2.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-12960 Application(s): kernel
+ Related Id(s): ERIERL-598, PR-4509
+
+ When using the DNS resolver option
+ servfail_retry_timeout it did not honour the overall
+ call time-out in e.g inet_res:getbyname/3. This
+ misbehaviour has now been fixed. Also, the
+ servfail_retry_timeout behaviour has been improved to
+ only be enforced for servers that gives a servfail
+ answer.
+
+
+ Full runtime dependencies of kernel-7.2.1: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17228 Application(s): ssl
+ Related Id(s): ERIERL-614
+
+ Enhance logging option log_level to support none and
+ all, also restore backwards compatibility for log_alert
+ option.
+
+
+ Full runtime dependencies of ssl-10.2.4: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.2.README.txt b/release-notes/OTP-23.2.README.txt
new file mode 100644
index 0000000..9646f5f
--- /dev/null
+++ b/release-notes/OTP-23.2.README.txt
@@ -0,0 +1,945 @@
+Patch Package: OTP 23.2
+Git Tag: OTP-23.2
+Date: 2020-12-16
+Trouble Report Id: OTP-15126, OTP-16267, OTP-16277, OTP-16445,
+ OTP-16460, OTP-16529, OTP-16649, OTP-16762,
+ OTP-16799, OTP-16819, OTP-16849, OTP-16859,
+ OTP-16863, OTP-16864, OTP-16869, OTP-16873,
+ OTP-16888, OTP-16889, OTP-16893, OTP-16894,
+ OTP-16899, OTP-16900, OTP-16908, OTP-16920,
+ OTP-16921, OTP-16922, OTP-16923, OTP-16932,
+ OTP-16941, OTP-16948, OTP-16954, OTP-16956,
+ OTP-16976, OTP-16983, OTP-16989, OTP-16990,
+ OTP-17008, OTP-17012, OTP-17013, OTP-17018,
+ OTP-17019, OTP-17022, OTP-17025, OTP-17029,
+ OTP-17030, OTP-17033, OTP-17034, OTP-17038,
+ OTP-17039, OTP-17045, OTP-17046, OTP-17047,
+ OTP-17054, OTP-17055, OTP-17056, OTP-17058,
+ OTP-17060, OTP-17061, OTP-17065, OTP-17066,
+ OTP-17067, OTP-17068, OTP-17069, OTP-17070,
+ OTP-17072
+Seq num: ERIERL-477, ERIERL-492, ERIERL-544,
+ ERIERL-547, ERIERL-571, ERL-1223, ERL-1337,
+ ERL-1339, ERL-1341, ERL-1352, ERL-1375,
+ ERL-1386, ERL-1400, ERL-1405, ERL-1407,
+ ERL-1409, ERL-1412, ERL-1417, ERL-1424,
+ ERL-1426, ERL-1427, ERL-1440, ERL-330
+System: OTP
+Release: 23
+Application: common_test-1.19.1, compiler-7.6.6,
+ crypto-4.8.1, dialyzer-4.3, erl_docgen-1.0.2,
+ erts-11.1.4, inets-7.3.1, kernel-7.2,
+ megaco-3.19.4, mnesia-4.18.1,
+ public_key-1.9.2, snmp-5.7, ssh-4.10.6,
+ ssl-10.2, stdlib-3.14, syntax_tools-2.4,
+ tools-3.4.2, wx-1.9.2, xmerl-1.3.26
+Predecessor: OTP 23.1.5
+
+ Check out the git tag OTP-23.2, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-16277 Application(s): ssl
+
+ Handle extraneous certs in certificate chains as well
+ as chains that are incomplete but can be reconstructed
+ or unordered chains. The cert and certfile options will
+ now accept a list of certificates so that the user may
+ specify the chain explicitly.
+
+ Also, the default value of the depth option has been
+ increased to allow longer chains by default.
+
+
+ OTP-16445 Application(s): ssl
+ Related Id(s): PR-2823
+
+ This change implements optional NSS-style keylog in
+ ssl:connection_information/2 for debugging purposes.
+
+ The keylog contains various TLS secrets that can be
+ loaded in Wireshark to decrypt TLS packets.
+
+
+ OTP-16893 Application(s): ssl
+
+ Add explicit session reuse option to TLS clients for
+ pre TLS-1.3 sessions. Also, add documentation to Users
+ Guide for such sessions.
+
+
+ OTP-17022 Application(s): snmp
+ Related Id(s): ERIERL-492
+
+ It is now possible to configure the agent in such a way
+ that the order of outgoing notifications are processed
+ in order in the agent. What happens after the
+ notification message has left the agent (been sent) is
+ of course still out of our control.
+
+
+ OTP-17025 Application(s): crypto
+ Related Id(s): ERL-1400, PR-2877
+
+ Fixed performance loss in HMAC when using older OpenSSL
+ due to mutex issues.
+
+ A workaround is implemented to allow fallback from
+ using the EVP API for HMAC operations. On some
+ architectures this may improve the performance,
+ especially with old OpenSSL versions. This fallback to
+ low-level functions is always enabled for openssl
+ versions before 1.0.2.
+
+
+ OTP-17029 Application(s): crypto
+
+ It is now possible to build with crypto and openssl
+ gprof-enabled and statically link them into the VM.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-16460 Application(s): stdlib
+
+ Improved the API and documentation of the uri_string
+ module.
+
+ Added a new chapter to the Users Guide about Uniform
+ Resource Identifiers and their handling with the new
+ API.
+
+ Added two new API functions:
+ uri_string:allowed_characters/0 and
+ uri_string:percent_decode/1.
+
+ This change has been marked as potentially incompatible
+ as uri_string:normalize/2 used to decode
+ percent-encoded character triplets that corresponded to
+ characters not in the reserved set. After this change,
+ uri_string:normalize/2 will only decode those
+ percent-encoded triplets that correspond to characters
+ in the unreserved set (ALPHA / DIGIT / "-" / "." / "_"
+ / "~").
+
+
+ ---------------------------------------------------------------------
+ --- OTP-23.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17008 Application(s): otp
+ Related Id(s): ERL-1407
+
+ Erlang/OTP would not build on macOS 11.0.1.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17067 Application(s): erts, otp
+ Related Id(s): PR-2907
+
+ Add manifest to all executables and dynamic libraries.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.19.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.19.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17070 Application(s): common_test
+
+ Add behaviour for test suites
+
+
+ Full runtime dependencies of common_test-1.19.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.6 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16932 Application(s): compiler
+
+ Several minor compiler bugs have been fixed:
+
+ Constructing a binary with a list as a size of a binary
+ segment could generate a BEAM file that could not be
+ loaded.
+
+ When matching a binary segment of type float and
+ ignoring the matched out value, the match would always
+ succeed, even if the size was invalid or the value of
+ the float was NaN or some other non-numeric float
+ value.
+
+ Attempting to construct an invalid external fun (e.g.
+ fun m:f:bad) is supposed to raise a 'badarg' exception,
+ but if the value was never used, no exception would be
+ raised.
+
+
+ OTP-17039 Application(s): compiler
+ Related Id(s): ERL-1426
+
+ Fixed multiple bugs in the validator that could cause
+ it to reject valid code.
+
+
+ OTP-17045 Application(s): compiler
+ Related Id(s): ERL-1427
+
+ The compiler could crash when a binary comprehension
+ had a generator that depended on another generator.
+
+
+ OTP-17072 Application(s): compiler
+ Related Id(s): ERL-1440
+
+ Fixed a bug in the type optimization pass that could
+ yield incorrect values or cause the wrong clauses to be
+ executed.
+
+
+ Full runtime dependencies of compiler-7.6.6: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.8.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.8.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16819 Application(s): crypto
+ Related Id(s): PR-2720
+
+ Build the supported curves cache in the NIF when crypto
+ is loaded, no matter how it is loaded.
+
+ This prevents a possible problem with different
+ processes starting the crypto application concurrently.
+
+
+ OTP-17029 Application(s): crypto
+
+ *** HIGHLIGHT ***
+
+ It is now possible to build with crypto and openssl
+ gprof-enabled and statically link them into the VM.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17025 Application(s): crypto
+ Related Id(s): ERL-1400, PR-2877
+
+ *** HIGHLIGHT ***
+
+ Fixed performance loss in HMAC when using older OpenSSL
+ due to mutex issues.
+
+ A workaround is implemented to allow fallback from
+ using the EVP API for HMAC operations. On some
+ architectures this may improve the performance,
+ especially with old OpenSSL versions. This fallback to
+ low-level functions is always enabled for openssl
+ versions before 1.0.2.
+
+
+ Full runtime dependencies of crypto-4.8.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17068 Application(s): dialyzer
+ Related Id(s): ERL-1223
+
+ Clarify warning option -Wunmatched_returns in
+ dialyzer(3).
+
+
+ Full runtime dependencies of dialyzer-4.3: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.0.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.0.2 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17013 Application(s): erl_docgen
+
+ Fix links in titles to github and anchors to work.
+
+
+ OTP-17065 Application(s): erl_docgen
+ Related Id(s): ERL-1386
+
+ Fix some typing errors on variable names in
+ documentation examples.
+
+
+ Full runtime dependencies of erl_docgen-1.0.2: edoc-0.7.13, erts-9.0,
+ stdlib-3.4, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.1.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.1.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16859 Application(s): erts
+
+ Fixed bug which could cause VM crash when a NIF is
+ loaded at the same time as the Erlang implementation of
+ the NIF is called. Bug exists since OTP 23.0.
+
+
+ OTP-16863 Application(s): erts
+ Related Id(s): ERL-1352
+
+ Fixed enif_make_map_* functions in debug build when
+ given environment from enif_alloc_env.
+
+
+ OTP-16864 Application(s): erts
+
+ Fixed broken configuration option --disable-pie.
+
+
+ OTP-16869 Application(s): erts
+ Related Id(s): ERL-1337
+
+ Fixed rare distribution bug in race between received
+ signal (link/monitor/spawn_request/spawn_reply) and
+ disconnection. Symptom: VM crash. Since: OTP 21.0.
+
+
+ OTP-16888 Application(s): erts
+
+ Fixed a performance issue when extremely many items
+ were stored in the process dictionary. (Fixing this bug
+ also eliminates a compiler warning emitted by the
+ latest version of Clang.)
+
+
+ OTP-16894 Application(s): erts
+
+ Remove -ftree-copyrename from flags passed to compiler
+ when building erts. The flag is not used by modern
+ gcc's and is not supported by clang.
+
+
+ OTP-16899 Application(s): erts
+
+ Modules using complicated nested binary comprehensions
+ could fail to load.
+
+
+ OTP-16948 Application(s): erts
+ Related Id(s): PR-2792
+
+ Fixed a race in file:read_file/1 were an incomplete
+ file could be returned if another OS process swapped
+ the file out while reading.
+
+
+ OTP-17030 Application(s): erts
+
+ The call list_to_integer("10", true) would return 4
+ instead of raising an exception. Certain other atoms
+ would also be interpreted as a number base.
+
+
+ OTP-17055 Application(s): erts
+ Related Id(s): ERL-1417
+
+ On macOS 11 (Big Sur), erl would not start if the
+ maximum number of file descriptors were unlimited
+ (ulimit -n unlimited).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17067 Application(s): erts, otp
+ Related Id(s): PR-2907
+
+ Add manifest to all executables and dynamic libraries.
+
+
+ Full runtime dependencies of erts-11.1.4: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.3.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.3.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16873 Application(s): inets
+ Related Id(s): ERL-330
+
+ Fix an issue about HTML-escaped filename in inets.
+
+
+ Full runtime dependencies of inets-7.3.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16976 Application(s): kernel
+ Related Id(s): PR-2807
+
+ The apply call's in logger.hrl are now called with
+ erlang prefix to avoid clashed with local apply/3
+ functions.
+
+
+ OTP-17034 Application(s): kernel
+ Related Id(s): PR-2866
+
+ Fix memory leak in pg.
+
+
+ OTP-17038 Application(s): kernel
+
+ Fix crash in logger_proxy due to stray gen_server:call
+ replies not being handled. The stray replies come when
+ logger is under heavy load and the flow control
+ mechanism is reaching its limit.
+
+
+ OTP-17054 Application(s): kernel
+ Related Id(s): ERL-1424
+
+ Fixed a bug in erl_epmd:names() that caused it to
+ return the illegal return value noport instead of
+ {error, Reason} where Reason is the actual error
+ reason. This bug also propagated to net_adm:names().
+
+ This bug was introduced in kernel version 7.1 (OTP
+ 23.1).
+
+
+ --- Improvements and New Features ---
+
+ OTP-16954 Application(s): kernel
+ Related Id(s): ERIERL-544
+
+ Add export of some resolver documented types.
+
+
+ OTP-16956 Application(s): kernel
+ Related Id(s): ERIERL-547
+
+ Add configurable retry timeout for resolver lookups.
+
+
+ OTP-17058 Application(s): kernel
+ Related Id(s): PR-2887
+
+ gen_server:multi_call() has been optimized in the
+ special case of only calling the local node with
+ timeout set to infinity.
+
+
+ Full runtime dependencies of kernel-7.2: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.19.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.19.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17012 Application(s): megaco
+ Related Id(s): ERL-1405
+
+ Empty statistics descriptor (now) allowed in both
+ encode and decode for version 3.
+
+
+ Full runtime dependencies of megaco-3.19.4: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.18.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.18.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17066 Application(s): mnesia
+ Related Id(s): PR-2889
+
+ Avoid potential performance issue, if the input queue
+ to mnesia_tm is long.
+
+
+ Full runtime dependencies of mnesia-4.18.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.9.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.9.2 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17069 Application(s): public_key
+
+ Corrected dialyzer spec for pkix_path_validation/3
+
+
+ Full runtime dependencies of public_key-1.9.2: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.7 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.7 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16920 Application(s): snmp
+ Related Id(s): OTP-16649
+
+ If an attempt was made to send a v1 trap on a IPv6
+ transport this could cause a master agent crash (if the
+ agent was *not* multi-threaded).
+
+
+ OTP-17056 Application(s): snmp
+ Related Id(s): OTP-17049
+
+ The deprecation info for a couple of the deprecated MIB
+ compiler functions where incorrect. Referred to
+ functions in the 'snmpa' module instead of 'snmpc'.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16649 Application(s): snmp
+
+ Make it possible for the agent to configure separate
+ transports (sockets) for request-responder and
+ trap-sender.
+
+
+ OTP-16989 Application(s): snmp
+ Related Id(s): ERIERL-544
+
+ The mib server cache handling has been improved. First,
+ the default gclimit has been changed from 100 to
+ infinity (to ensure the size is as small as possible).
+ Also, the method of removing old elements has been
+ optimized.
+
+
+ OTP-17022 Application(s): snmp
+ Related Id(s): ERIERL-492
+
+ *** HIGHLIGHT ***
+
+ It is now possible to configure the agent in such a way
+ that the order of outgoing notifications are processed
+ in order in the agent. What happens after the
+ notification message has left the agent (been sent) is
+ of course still out of our control.
+
+
+ OTP-17033 Application(s): snmp
+
+ Improve handling of the udp_error message. Basically an
+ improved error/warning message.
+
+
+ Full runtime dependencies of snmp-5.7: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.10.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.10.6 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16799 Application(s): ssh
+
+ Fixed problems in the ssh cli/shell handling. Most
+ important are:
+
+ 1) the ssh:shell function did sometimes cause the input
+ to be echoed twice,
+
+ 2) the ssh:shell function didn't transfer the LANG and
+ LC_ALL shell variables to the connected server which
+ sometimes made Unicode handling erroneous,
+
+ 3) Unicode was not always transferred correctly to and
+ from the peer.
+
+
+ OTP-16900 Application(s): ssh
+
+ The SSH protocol message SSH_MSG_DISCONNECT was
+ sometimes sent instead of SSH_MSG_CHANNEL_FAILURE
+
+
+ OTP-16908 Application(s): ssh
+ Related Id(s): PR-2753
+
+ The ssh_cli module now always sends the exit-status to
+ connected clients so they can use that to check for
+ successful command execution.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16889 Application(s): ssh
+
+ A new option pk_check_user enables checking of the
+ client's user name in the server when doing public key
+ authentication.
+
+
+ Full runtime dependencies of ssh-4.10.6: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15126 Application(s): ssl
+ Related Id(s): ERL-1375
+
+ SSL's Erlang Distribution Protocol modules
+ inet_tls_dist and inet6_tls_dist lacked a callback
+ function, so the start flag "-dist_listen false" did
+ not work, which has now been fixed.
+
+
+ OTP-16267 Application(s): ssl
+ Related Id(s): ERIERL-477, ERIERL-571
+
+ Correct OpenSSL names for newer cipher suites using DHE
+ in their name that accidentally got the wrong value
+ when fixing other older names using EDH instead.
+
+
+ OTP-16849 Application(s): ssl
+ Related Id(s): ERL-1339
+
+ This change improves the handling of DTLS listening
+ dockets, making it possible to open multiple listeners
+ on the same port with different IP addresses.
+
+
+ OTP-16921 Application(s): ssl
+
+ Fix a bug that causes cross-build failure.
+
+ This change excludes the ssl.d dependency file from the
+ source tarballs.
+
+
+ OTP-16923 Application(s): ssl
+ Related Id(s): ERL-1341, PR-2786
+
+ This change fixes ssl:peername/1 when called on a DTLS
+ client socket.
+
+
+ OTP-17018 Application(s): ssl
+ Related Id(s): ERL-1409
+
+ Retain emulation of active once on a closed socket to
+ behave as before 23.1
+
+
+ OTP-17019 Application(s): ssl
+ Related Id(s): ERL-1412
+
+ Corrected server session cache entry deletion pre
+ TLS-1.3. May increase session reuse.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16277 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Handle extraneous certs in certificate chains as well
+ as chains that are incomplete but can be reconstructed
+ or unordered chains. The cert and certfile options will
+ now accept a list of certificates so that the user may
+ specify the chain explicitly.
+
+ Also, the default value of the depth option has been
+ increased to allow longer chains by default.
+
+
+ OTP-16445 Application(s): ssl
+ Related Id(s): PR-2823
+
+ *** HIGHLIGHT ***
+
+ This change implements optional NSS-style keylog in
+ ssl:connection_information/2 for debugging purposes.
+
+ The keylog contains various TLS secrets that can be
+ loaded in Wireshark to decrypt TLS packets.
+
+
+ OTP-16529 Application(s): ssl
+
+ Use new gen_statem feature of changing callback mode to
+ improve code maintainability.
+
+
+ OTP-16762 Application(s): ssl
+
+ The handling of Service Name Indication has been
+ aligned with RFC8446.
+
+
+ OTP-16893 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Add explicit session reuse option to TLS clients for
+ pre TLS-1.3 sessions. Also, add documentation to Users
+ Guide for such sessions.
+
+
+ Full runtime dependencies of ssl-10.2: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.14 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.14 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16941 Application(s): stdlib
+
+ This change fixes the handling of deep lists in the
+ path component when using uri_string:recompose/1.
+
+
+ OTP-17047 Application(s): stdlib
+
+ Fix shell_docs to clear shell decorations
+ (bold/underline) when paginating output.
+
+ Fix various small renderings issues when integrating
+ shell_docs with edoc.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16460 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improved the API and documentation of the uri_string
+ module.
+
+ Added a new chapter to the Users Guide about Uniform
+ Resource Identifiers and their handling with the new
+ API.
+
+ Added two new API functions:
+ uri_string:allowed_characters/0 and
+ uri_string:percent_decode/1.
+
+ This change has been marked as potentially incompatible
+ as uri_string:normalize/2 used to decode
+ percent-encoded character triplets that corresponded to
+ characters not in the reserved set. After this change,
+ uri_string:normalize/2 will only decode those
+ percent-encoded triplets that correspond to characters
+ in the unreserved set (ALPHA / DIGIT / "-" / "." / "_"
+ / "~").
+
+
+ OTP-16990 Application(s): stdlib
+
+ The shell_docs module has been expanded with the
+ possibility to configure unicode, ansi and column size
+ for the rendered text.
+
+
+ Full runtime dependencies of stdlib-3.14: compiler-5.0, crypto-3.3,
+ erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.4 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.4 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17046 Application(s): syntax_tools
+
+ In the syntax_tools application, the igor module and
+ all functions in erl_tidy except file/2 have been
+ deprecated.
+
+
+ Full runtime dependencies of syntax_tools-2.4: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.4.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-3.4.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16922 Application(s): tools
+ Related Id(s): PR-2752
+
+ Correct the Xref analysis exports_not_used to not
+ report internally generated behaviour_info/1.
+
+
+ Full runtime dependencies of tools-3.4.2: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.9.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.9.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16983 Application(s): wx
+ Related Id(s): PR-2743
+
+ Add popup menu callback to wxTaskBarIcon:new/1.
+
+
+ Full runtime dependencies of wx-1.9.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.26 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.26 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17060 Application(s): xmerl
+
+ Corrected namespace and expanded name in the old dom
+ backend example module.
+
+
+ OTP-17061 Application(s): xmerl
+
+ Corrected a bug that in some cases didn't allow
+ unresolved references when skip_external_dtd option
+ used.
+
+
+ Full runtime dependencies of xmerl-1.3.26: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.1.README.txt b/release-notes/OTP-23.3.1.README.txt
new file mode 100644
index 0000000..a3c8d96
--- /dev/null
+++ b/release-notes/OTP-23.3.1.README.txt
@@ -0,0 +1,47 @@
+Patch Package: OTP 23.3.1
+Git Tag: OTP-23.3.1
+Date: 2021-03-30
+Trouble Report Id: OTP-17279
+Seq num:
+System: OTP
+Release: 23
+Application: ssh-4.11.1
+Predecessor: OTP 23.3
+
+ Check out the git tag OTP-23.3.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17279 Application(s): ssh
+
+ The idle_time timer was not cancelled when a channel
+ was opened within the timeout time on an empty
+ connection that have had channels previously.
+
+
+ Full runtime dependencies of ssh-4.11.1: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.2.README.txt b/release-notes/OTP-23.3.2.README.txt
new file mode 100644
index 0000000..df380c3
--- /dev/null
+++ b/release-notes/OTP-23.3.2.README.txt
@@ -0,0 +1,249 @@
+Patch Package: OTP 23.3.2
+Git Tag: OTP-23.3.2
+Date: 2021-04-27
+Trouble Report Id: OTP-17227, OTP-17291, OTP-17295, OTP-17296,
+ OTP-17297, OTP-17298, OTP-17299, OTP-17306,
+ OTP-17307, OTP-17308, OTP-17328, OTP-17348,
+ OTP-17349
+Seq num: ERIERL-506, ERIERL-607, ERIERL-631,
+ ERIERL-641, GH-4514, GH-4682, GH-4687,
+ GH-4710
+System: OTP
+Release: 23
+Application: asn1-5.0.15, common_test-1.20.1, erts-11.2.1,
+ ssl-10.3.1, stdlib-3.14.2, xmerl-1.3.27
+Predecessor: OTP 23.3.1
+
+ Check out the git tag OTP-23.3.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.15 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17227 Application(s): asn1
+ Related Id(s): GH-4514
+
+ A parameterized type with a SEQUENCE with extension
+ ("...") made the compiler backend to crash.
+
+
+ OTP-17306 Application(s): asn1
+ Related Id(s): ERIERL-506
+
+ For JER encoding rules an INTEGER value outside the
+ declared range is now reported as error during decode.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17297 Application(s): asn1
+ Related Id(s): ERIERL-607
+
+ For the JER encoding rules, the declared order of the
+ fields in a SEQUENCE is now maintained in the resulting
+ JSON object. Previously a map was used which caused an
+ undefined order of the fields which was not friendly
+ for debugging.
+
+
+ Full runtime dependencies of asn1-5.0.15: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17328 Application(s): common_test
+ Related Id(s): ERIERL-631
+
+ A race condition could cause ct_netconfc:open/* to
+ return a disfunctional handle, resulting in errors when
+ invoking other api functions on it, and making it
+ impossible to establish a new connection to the server
+ in question. Similar symptoms were possible with open/*
+ in modules ct_ssh and ct_telnet.
+
+ Internal messages from common_test processes could be
+ left in the caller's message queue after a timeout when
+ invoking call/* in modules ct_netconfc and ct_ssh. An
+ internal process used by module ct_telnet could leak
+ memory due to stray messages.
+
+ Calls to ct_telnet:open/* and ct_telnet:get_data/1
+ could hang indefinitely if the TCP connection to the
+ server was lost.
+
+
+ Full runtime dependencies of common_test-1.20.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17291 Application(s): erts
+
+ The following signals could pass before other signals
+ from the same sender to the same receiver. That is,
+ these signals could arrive too early.
+
+ -- garbage-collect request. Sent from one process to
+ another using one of the garbage_collect() BIFs.
+
+ -- check-process-code request. Sent from one process to
+ another using one of the check_process_code() BIFs.
+
+ -- is-process-alive reply. Sent as a response to a
+ process calling the is_process_alive() BIF.
+
+ -- process-info reply. Sent as a response to a process
+ calling one of the process_info() BIFs.
+
+ -- port-command reply. Sent as a response to a process
+ calling one of the port_command() BIFs.
+
+ -- port-connect reply. Sent as a response to a process
+ calling the port_connect() BIF.
+
+ -- port-close reply. Sent as a response to a process
+ calling the port_close() BIF.
+
+ -- port-control reply. Sent as a response to a process
+ calling the port_control() BIF.
+
+ -- port-call reply. Sent as a response to a process
+ calling the port_call() BIF.
+
+ -- port-info reply. Sent as a response to a process
+ calling one of the port_info() BIFs.
+
+
+ OTP-17298 Application(s): erts
+
+ Fix bug in persistent_term:get/0 and info/0 that could
+ cause VM crash in rare cases. Bug exists since OTP
+ 23.0.
+
+
+ OTP-17299 Application(s): erts
+ Related Id(s): GH-4710
+
+ Fixed a bug in zlib where decompression would crash
+ with data_error on some valid inputs.
+
+
+ OTP-17307 Application(s): erts
+
+ A garbage collection of a literal area missed messages
+ that entirely consisted of a term in a literal area.
+ This could in turn lead to a crash of the runtime
+ system.
+
+
+ OTP-17349 Application(s): erts
+
+ A call to process_flag(message_queue_data, off_heap)
+ could cause a crash of the runtime system when
+ sequential tracing was enabled.
+
+
+ Full runtime dependencies of erts-11.2.1: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.3.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17296 Application(s): ssl
+ Related Id(s): GH-4682
+
+ Retain backwards compatible behavior of verify_fun when
+ handling incomplete chains that are not verifiable.
+
+
+ OTP-17348 Application(s): ssl
+ Related Id(s): ERIERL-641
+
+ Avoid server session handler crash, this will increase
+ session ruse opportunities.
+
+
+ Full runtime dependencies of ssl-10.3.1: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.14.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.14.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17295 Application(s): stdlib
+ Related Id(s): GH-4687
+
+ Dictionaries that have become zipped by the zip module
+ did not get executable permission (for the file owner)
+ which makes the files inside the dictionary
+ inaccessible. This is fixed by giving dictionaries
+ inside a zip archive XRW permission.
+
+
+ Full runtime dependencies of stdlib-3.14.2: compiler-5.0, crypto-3.3,
+ erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.27 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.27 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17308 Application(s): xmerl
+
+ Fixed the bug that Xmerl SAX parser couldn't handle
+ files ending with a ^M.
+
+
+ Full runtime dependencies of xmerl-1.3.27: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.3.README.txt b/release-notes/OTP-23.3.3.README.txt
new file mode 100644
index 0000000..7b411fd
--- /dev/null
+++ b/release-notes/OTP-23.3.3.README.txt
@@ -0,0 +1,144 @@
+Patch Package: OTP 23.3.3
+Git Tag: OTP-23.3.3
+Date: 2021-05-06
+Trouble Report Id: OTP-16607, OTP-16930, OTP-17347, OTP-17357,
+ OTP-17358, OTP-17361
+Seq num: ERL-1371, ERL-1439, ERL-ERL-610, GH-3480,
+ GH-4396, GH-4774
+System: OTP
+Release: 23
+Application: common_test-1.20.2, compiler-7.6.8,
+ erl_interface-4.0.3, kernel-7.3.1,
+ runtime_tools-1.16.1
+Predecessor: OTP 23.3.2
+
+ Check out the git tag OTP-23.3.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20.2 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17347 Application(s): common_test
+ Related Id(s): ERL-1439, GH-3480
+
+ Before this change Config leaked between test groups in
+ case of a subgroup was skipped (GH-3480).
+
+
+ Full runtime dependencies of common_test-1.20.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.8 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.8 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17357 Application(s): compiler
+ Related Id(s): GH-4774
+
+ Fixed a bug in the validator that could cause it to
+ reject valid code.
+
+
+ Full runtime dependencies of compiler-7.6.8: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-4.0.3 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-4.0.3 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17358 Application(s): erl_interface
+ Related Id(s): ERL-ERL-610
+
+ Fix bug where sending of large data with
+ ei_send_*/ei_rpc with infinite timeout could fail when
+ the tcp buffer becomes full.
+
+ Fault has existed since OTP-21.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.3.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17361 Application(s): kernel
+
+ A bug in the Erlang DNS resolver has been fixed, where
+ it could be made to bring down the kernel supervisor
+ and thereby the whole node, when getting an incorrect
+ (IN A reply to an IN CNAME query) reply from the DNS
+ server and used the reply record's value without
+ verifying its type.
+
+
+ Full runtime dependencies of kernel-7.3.1: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.16.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.16.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16930 Application(s): runtime_tools
+ Related Id(s): ERL-1371, GH-4396
+
+ The function dbg:n/1 used a local fun to set up a
+ tracer on a remote node. This works fine as long as the
+ remote node is running exactly the same version of
+ Erlang/OTP but does not work at all otherwise. This is
+ fixed by exporting the relevant function and by calling
+ this function on the remote node to set up remote
+ tracing.
+
+
+ Full runtime dependencies of runtime_tools-1.16.1: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.1.README.txt b/release-notes/OTP-23.3.4.1.README.txt
new file mode 100644
index 0000000..dd7675d
--- /dev/null
+++ b/release-notes/OTP-23.3.4.1.README.txt
@@ -0,0 +1,240 @@
+Patch Package: OTP 23.3.4.1
+Git Tag: OTP-23.3.4.1
+Date: 2021-05-20
+Trouble Report Id: OTP-16607, OTP-17390, OTP-17391, OTP-17398,
+ OTP-17420
+Seq num: ERIERL-648, GH-4810, GH-4821
+System: OTP
+Release: 23
+Application: common_test-1.20.2.1, crypto-4.9.0.1,
+ erl_interface-4.0.3.1, erts-11.2.2.1,
+ megaco-3.19.5.1, odbc-2.13.3.1, snmp-5.8.0.1,
+ ssh-4.11.1.1, wx-1.9.3.1
+Predecessor: OTP 23.3.4
+
+ Check out the git tag OTP-23.3.4.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-23.3.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17398 Application(s): otp
+ Related Id(s): GH-4821
+
+ The by autoconf generated configure scripts are now
+ commited into the git repository and will thus always
+ be available. This ensures that the scripts have been
+ generated by an autoconf version that has been tested
+ and by this preventing misconfiguration of OTP. The
+ ./otp_build autoconf build step is therefore no longer
+ necessary and will if executed only print a message and
+ then exit successfully. Currently the configure scripts
+ will be generated using the by Debian patched autoconf
+ version 2.69-11.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.2.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20.2.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of common_test-1.20.2.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.9.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.9.0.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17391 Application(s): crypto
+ Related Id(s): GH-4810
+
+ Removed a risk for coredump.
+
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of crypto-4.9.0.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-4.0.3.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-4.0.3.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of erts-11.2.2.1: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-3.19.5.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-3.19.5.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of megaco-3.19.5.1: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.3.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.13.3.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of odbc-2.13.3.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.8.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.8.0.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of snmp-5.8.0.1: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17390 Application(s): ssh
+ Related Id(s): ERIERL-648
+
+ Fixed that a slow start (>30s) of a client subsystem
+ could cause a log entry with the password.
+
+
+ Full runtime dependencies of ssh-4.11.1.1: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.9.3.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.9.3.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of wx-1.9.3.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.10.README.txt b/release-notes/OTP-23.3.4.10.README.txt
new file mode 100644
index 0000000..2f7220f
--- /dev/null
+++ b/release-notes/OTP-23.3.4.10.README.txt
@@ -0,0 +1,104 @@
+Patch Package: OTP 23.3.4.10
+Git Tag: OTP-23.3.4.10
+Date: 2021-12-21
+Trouble Report Id: OTP-17796, OTP-17827
+Seq num: ERIERL-729, GH-5527
+System: OTP
+Release: 23
+Application: erts-11.2.2.9
+Predecessor: OTP 23.3.4.9
+
+ Check out the git tag OTP-23.3.4.10, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17796 Application(s): erts
+ Related Id(s): ERIERL-729, PR-5473
+
+ Responsiveness of processes executing on normal or low
+ priority could suffer due to code purging or literal
+ area removal on systems with a huge amount of
+ processes. This since during these operations all
+ processes on the system were scheduled for execution at
+ once.
+
+ This problem has been fixed by introducing a limit on
+ outstanding purge and copy literal requests in the
+ system. By default this limit is set to twice the
+ amount of schedulers on the system. This will ensure
+ that schedulers will have enough work scheduled to
+ perform these operations as quickly as possible at the
+ same time as other work will be interleaved to a much
+ higher degree. Performance of these operations will
+ however be somewhat degraded due to the overhead of
+ enforcing this limit compared to when using a very
+ large limit.
+
+ This limit can be set by passing the +zosrl command
+ line argument to erl, or by calling
+ erlang:system_flag(outstanding_system_requests_limit,
+ NewLimit).
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.9 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.9 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17827 Application(s): erts
+ Related Id(s): GH-5527
+
+ Fixed a memory leak in file:read_file_info/2 and
+ file:read_file/1 on Windows.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17796 Application(s): erts
+ Related Id(s): ERIERL-729, PR-5473
+
+ *** HIGHLIGHT ***
+
+ Responsiveness of processes executing on normal or low
+ priority could suffer due to code purging or literal
+ area removal on systems with a huge amount of
+ processes. This since during these operations all
+ processes on the system were scheduled for execution at
+ once.
+
+ This problem has been fixed by introducing a limit on
+ outstanding purge and copy literal requests in the
+ system. By default this limit is set to twice the
+ amount of schedulers on the system. This will ensure
+ that schedulers will have enough work scheduled to
+ perform these operations as quickly as possible at the
+ same time as other work will be interleaved to a much
+ higher degree. Performance of these operations will
+ however be somewhat degraded due to the overhead of
+ enforcing this limit compared to when using a very
+ large limit.
+
+ This limit can be set by passing the +zosrl command
+ line argument to erl, or by calling
+ erlang:system_flag(outstanding_system_requests_limit,
+ NewLimit).
+
+
+ Full runtime dependencies of erts-11.2.2.9: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.11.README.txt b/release-notes/OTP-23.3.4.11.README.txt
new file mode 100644
index 0000000..cc52598
--- /dev/null
+++ b/release-notes/OTP-23.3.4.11.README.txt
@@ -0,0 +1,61 @@
+Patch Package: OTP 23.3.4.11
+Git Tag: OTP-23.3.4.11
+Date: 2022-01-26
+Trouble Report Id: OTP-17835, OTP-17871
+Seq num: ERIERL-721
+System: OTP
+Release: 23
+Application: erts-11.2.2.10, ssh-4.11.1.5
+Predecessor: OTP 23.3.4.10
+
+ Check out the git tag OTP-23.3.4.11, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.10 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.10 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17871 Application(s): erts
+ Related Id(s): PR-5612
+
+ Fix GC emulator crash when spawn_request was used when
+ message tracing was enabled.
+
+
+ Full runtime dependencies of erts-11.2.2.10: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17835 Application(s): ssh
+ Related Id(s): ERIERL-721
+
+ Fixed problem with blocked server after multiple
+ restarts. Applies to daemons with options
+ {parallel_login,true} and also {max_sessions, int()>0}.
+
+
+ Full runtime dependencies of ssh-4.11.1.5: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.12.README.txt b/release-notes/OTP-23.3.4.12.README.txt
new file mode 100644
index 0000000..f7be635
--- /dev/null
+++ b/release-notes/OTP-23.3.4.12.README.txt
@@ -0,0 +1,244 @@
+Patch Package: OTP 23.3.4.12
+Git Tag: OTP-23.3.4.12
+Date: 2022-03-24
+Trouble Report Id: OTP-17843, OTP-17887, OTP-17888, OTP-17904,
+ OTP-17905, OTP-17979
+Seq num: ERIERL-732, ERIERL-750, ERIERL-757,
+ ERIERL-780
+System: OTP
+Release: 23
+Application: common_test-1.20.2.3, erts-11.2.2.11,
+ jinterface-1.11.1.1, kernel-7.3.1.5
+Predecessor: OTP 23.3.4.11
+
+ Check out the git tag OTP-23.3.4.12, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.2.3 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20.2.3 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17888 Application(s): common_test
+
+ OTP internal test fix.
+
+
+ Full runtime dependencies of common_test-1.20.2.3: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.11 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.11 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ *** HIGHLIGHT ***
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ OTP-17904 Application(s): erts
+ Related Id(s): ERIERL-757
+
+ Fix memory leak when tracing on running on a process
+ that only handle system tasks or non-message signals
+ (for example process_info requests).
+
+
+ Full runtime dependencies of erts-11.2.2.11: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.11.1.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.11.1.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17887 Application(s): jinterface
+ Related Id(s): ERIERL-750, PR-5640
+
+ Fix bug in OtpOutputStream.write_pid/4 and write_ref/3
+ causing faulty encodig. Bug exists since OTP 23.0.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-7.3.1.5 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-11.2.2.11 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ *** HIGHLIGHT ***
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ OTP-17979 Application(s): kernel
+ Related Id(s): ERIERL-780
+
+ Fix failed accepted connection setup after previous
+ established connection from same node closed down
+ silently.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17905 Application(s): kernel
+ Related Id(s): ERIERL-732, PR-5740
+
+ A net_tickintensity kernel parameter has been
+ introduced. It can be used to control the amount of
+ ticks during a net_ticktime period.
+
+ A new net_kernel:start/2 function has also been
+ introduced in order to make it easier to add new
+ options. The use of net_kernel:start/1 has been
+ deprecated.
+
+
+ Full runtime dependencies of kernel-7.3.1.5: erts-11.2.2.11,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.13.README.txt b/release-notes/OTP-23.3.4.13.README.txt
new file mode 100644
index 0000000..a31a6e5
--- /dev/null
+++ b/release-notes/OTP-23.3.4.13.README.txt
@@ -0,0 +1,49 @@
+Patch Package: OTP 23.3.4.13
+Git Tag: OTP-23.3.4.13
+Date: 2022-03-29
+Trouble Report Id: OTP-17998
+Seq num: GH-5554
+System: OTP
+Release: 23
+Application: erts-11.2.2.12
+Predecessor: OTP 23.3.4.12
+
+ Check out the git tag OTP-23.3.4.13, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.12 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.12 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17998 Application(s): erts
+ Related Id(s): GH-5554, PR-5825
+
+ Fix Erlang monotonic time on MacOS. Previously used OS
+ monotonic time primitive on MacOS is buggy and will not
+ be used anymore. It has been replaced with usage of
+ another OS monotonic time primitive that does not
+ appear to be buggy.
+
+
+ Full runtime dependencies of erts-11.2.2.12: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.14.README.txt b/release-notes/OTP-23.3.4.14.README.txt
new file mode 100644
index 0000000..2c4fb94
--- /dev/null
+++ b/release-notes/OTP-23.3.4.14.README.txt
@@ -0,0 +1,112 @@
+Patch Package: OTP 23.3.4.14
+Git Tag: OTP-23.3.4.14
+Date: 2022-05-03
+Trouble Report Id: OTP-17970, OTP-18027, OTP-18065, OTP-18075,
+ OTP-18076, OTP-18077, OTP-18082
+Seq num: ERIERL-802, GH-5876, GH-5908
+System: OTP
+Release: 23
+Application: compiler-7.6.9.2, erts-11.2.2.13
+Predecessor: OTP 23.3.4.13
+
+ Check out the git tag OTP-23.3.4.14, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.9.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.9.2 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18082 Application(s): compiler
+
+ In rare circumstances, the compiler would mistakenly
+ assume that a call to setelement/3 would always fail
+ and remove all code following the call.
+
+
+ Full runtime dependencies of compiler-7.6.9.2: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.13 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.13 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17970 Application(s): erts
+ Related Id(s): PR-5762
+
+ Let EPMD tolerate failure when binding to IPv4/IPv6
+ loopback intefaces in addition to user-supplied
+ addresses via ERL_EPMD_ADDRESS or the -address option.
+ This can happen, for example, if the host system has
+ ipv6 disabled via the disable_ipv6 sysctl.
+
+
+ OTP-18027 Application(s): erts
+
+ Fixed a rare bug in binary_to_term/1,
+ enif_make_map_from_arrays, erl_drv_send_term, and
+ Erlang distribution that could crash the emulator.
+
+
+ OTP-18065 Application(s): erts
+ Related Id(s): GH-5908
+
+ Fixed a rare race in persistent_term:get/1,2 that could
+ cause it to return the value of another key.
+
+
+ OTP-18075 Application(s): erts
+ Related Id(s): PR-5927
+
+ Fix bug where the process message queue was left in an
+ inconsistent state when changing from on_heap to
+ off_heap message queue data causing the GC to segfault.
+
+
+ OTP-18076 Application(s): erts
+ Related Id(s): ERIERL-802, PR-5905
+
+ Fix functions that convert universal to localtime (such
+ as erlang:localtime/0 and
+ erlang:universaltime_to_localtime/1) to fetch the
+ correct localtime if it is changed after the start of
+ the VM.
+
+
+ OTP-18077 Application(s): erts
+ Related Id(s): GH-5876, PR-5892
+
+ Fix memory leak when a process doing a distributed
+ fragmented send is sent an exit signal. Before this fix
+ the receiving node would be left with an incomplete
+ message that would remain until the nodes were
+ disconnected. The bug has existed since Erlang/OTP 21.
+
+
+ Full runtime dependencies of erts-11.2.2.13: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.15.README.txt b/release-notes/OTP-23.3.4.15.README.txt
new file mode 100644
index 0000000..b793170
--- /dev/null
+++ b/release-notes/OTP-23.3.4.15.README.txt
@@ -0,0 +1,145 @@
+Patch Package: OTP 23.3.4.15
+Git Tag: OTP-23.3.4.15
+Date: 2022-06-21
+Trouble Report Id: OTP-17858, OTP-18093, OTP-18094, OTP-18123,
+ OTP-18144, OTP-18145, OTP-18152
+Seq num: ERIERL-728, GH-5981, GH-5994
+System: OTP
+Release: 23
+Application: crypto-4.9.0.3, erts-11.2.2.14, ssh-4.11.1.6,
+ ssl-10.3.1.3
+Predecessor: OTP 23.3.4.14
+
+ Check out the git tag OTP-23.3.4.15, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-4.9.0.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.9.0.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17858 Application(s): crypto
+ Related Id(s): ERIERL-728
+
+ Fix timing bug in ensure_engine_loaded
+
+ When two ensure_engine_loaded() calls were done in
+ parallel there was a possibility that a crypto lib
+ function was called by both instead of just one of them
+ which resulted in an error. This is solved by moving
+ the implementation from erlang down into a NIF function
+ that uses a mutex to protect the sensitive part.
+
+
+ OTP-18152 Application(s): crypto
+
+ Remove all references correctly in the garbage
+ collection if an engine handle was not explicit
+ unloaded.
+
+
+ Full runtime dependencies of crypto-4.9.0.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.14 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.14 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18093 Application(s): erts
+ Related Id(s): OTP-18104, PR-5987
+
+ Accept funs (NEW_FUN_EXT) with incorrectly encoded size
+ field. This is a workaround for a bug (OTP-18104)
+ existing in OTP 23 and 24 that could cause incorrect
+ size fields in certain cases. The emulator does not use
+ the decoded size field, but erl_interface still does
+ and is not helped by this workaround.
+
+
+ OTP-18123 Application(s): erts
+ Related Id(s): GH-5994
+
+ The zlib built in to the runtime system has been
+ updated to version 1.2.12. (Note that on most
+ platforms, the platform's own zlib is used.)
+
+
+ OTP-18144 Application(s): erts
+ Related Id(s): GH-5981
+
+ Fixed emulator crash that could happen during crashdump
+ generation of ETS tables with options ordered_set and
+ {write_concurrency,true}.
+
+
+ Full runtime dependencies of erts-11.2.2.14: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1.6 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1.6 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18094 Application(s): ssh
+
+ Binaries can be limited in logs with the parameter
+ max_log_item_len. The default value is 500 bytes.
+
+
+ Full runtime dependencies of ssh-4.11.1.6: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3.1.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.3.1.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 23 installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.10.0.1 (first satisfied in OTP 23.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18145 Application(s): ssl
+
+ Improved handling of unexpected messages during the
+ handshake, taking the right action for unexpected
+ messages.
+
+
+ Full runtime dependencies of ssl-10.3.1.3: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.10.0.1, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.16.README.txt b/release-notes/OTP-23.3.4.16.README.txt
new file mode 100644
index 0000000..a4bb7dd
--- /dev/null
+++ b/release-notes/OTP-23.3.4.16.README.txt
@@ -0,0 +1,205 @@
+Patch Package: OTP 23.3.4.16
+Git Tag: OTP-23.3.4.16
+Date: 2022-07-13
+Trouble Report Id: OTP-18104, OTP-18172, OTP-18173
+Seq num: ERIERL-826
+System: OTP
+Release: 23
+Application: crypto-4.9.0.4, erts-11.2.2.15, ssl-10.3.1.4
+Predecessor: OTP 23.3.4.15
+
+ Check out the git tag OTP-23.3.4.16, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions functions are removed from the
+ documentation and therefor the API, but they are left
+ in the code for compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** HIGHLIGHT ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions functions are removed from the
+ documentation and therefor the API, but they are left
+ in the code for compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.9.0.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.9.0.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions functions are removed from the
+ documentation and therefor the API, but they are left
+ in the code for compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ Full runtime dependencies of crypto-4.9.0.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.15 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.15 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18104 Application(s): erts
+ Related Id(s): OTP-18093
+
+ Fix faulty distribution encoding of terms with either
+
+ -- a fun with bit-string or export-fun in its
+ environment when encoded toward a not yet established
+ (pending) connection
+
+ -- or a fun with a binary/bitstring, in its
+ environment, referring to an off-heap binary (larger
+ than 64 bytes).
+
+ The symptom could be failed decoding on the receiving
+ side leading to aborted connection. Fix OTP-18093 is a
+ workaround for theses bugs that makes the VM accepts
+ such faulty encoded funs.
+
+ The first encoding bug toward pending connection exists
+ only in OTP 23 and 24, but the second one exists also
+ on OTP 25.
+
+
+ Full runtime dependencies of erts-11.2.2.15: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3.1.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.3.1.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 23 installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.10.0.1 (first satisfied in OTP 23.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18173 Application(s): ssl
+
+ The link to crypto:engine_load refered the function
+ with wrong arity.
+
+
+ Full runtime dependencies of ssl-10.3.1.4: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.10.0.1, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.17.README.txt b/release-notes/OTP-23.3.4.17.README.txt
new file mode 100644
index 0000000..3590189
--- /dev/null
+++ b/release-notes/OTP-23.3.4.17.README.txt
@@ -0,0 +1,230 @@
+Patch Package: OTP 23.3.4.17
+Git Tag: OTP-23.3.4.17
+Date: 2022-09-05
+Trouble Report Id: OTP-18164, OTP-18169, OTP-18170, OTP-18175,
+ OTP-18177, OTP-18193, OTP-18197, OTP-18198,
+ OTP-18222, OTP-18224
+Seq num: GH-6122, GH-6129, GH-6165, GH-6242
+System: OTP
+Release: 23
+Application: erts-11.2.2.16, inets-7.3.2.3,
+ kernel-7.3.1.6, ssl-10.3.1.5
+Predecessor: OTP 23.3.4.16
+
+ Check out the git tag OTP-23.3.4.17, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.16 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.16 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18164 Application(s): erts
+ Related Id(s): PR-6114
+
+ Distributed exit signals could be lost under the
+ following conditions:
+
+ -- An exit signal from a parent process to a child
+ process was lost if:
+
+ -- the parent process terminated before the spawn
+ request that created the child had completed,
+
+ -- the spawn request set up a link between parent and
+ child
+
+ -- the spawn request was distributed, and
+
+ -- the exit reason was larger than one machine word.
+
+ -- Loss of a connection over which a not yet completed
+ spawn request was ongoing could cause loss of exit
+ signals. Such loss of exit signals was very rare.
+ Besides the above described connection loss also the
+ following conditions had to be satisfied:
+
+ -- The spawn request that was interrupted by the
+ connection loss also had to set up a link between the
+ parent process and the child process.
+
+ -- The parent process that issued the spawn request
+ also had to be terminating while the spawn request was
+ interrupted by the connection loss.
+
+ -- The same parent process also had to have made other
+ spawn requests to other nodes than to the node to which
+ the connection was lost.
+
+ -- These spawn requests to the other nodes also had to
+ set up links.
+
+ -- These spawn requests to the other nodes also had to
+ be not yet completed at the time of the connection
+ loss. That is, the spawn reply from the child process
+ had not yet reached the parent process.
+
+ If all the conditions above were met, exit signals to
+ the children spawned due to the above described spawn
+ requests to other nodes *could* be lost.
+
+ The above bug also caused a significant memory leak
+ when it was triggered since the destruction of the
+ parent process never completed.
+
+
+ OTP-18169 Application(s): erts
+ Related Id(s): PR-6134
+
+ A race could cause process_info(Pid, message_queue_len)
+ on other processes to return invalid results.
+
+
+ OTP-18170 Application(s): erts
+ Related Id(s): PR-6135
+
+ Fixed reduction counting for handling process system
+ tasks.
+
+
+ OTP-18175 Application(s): erts
+ Related Id(s): PR-6142
+
+ Priority elevation of terminating processes did not
+ work which could cause execution of such processes to
+ be delayed.
+
+
+ OTP-18177 Application(s): erts
+ Related Id(s): PR-6150
+
+ An unlink operation made by a process that terminated
+ before the unlink operation completed, i.e., before it
+ had received an unlink-ack signal from the linked
+ process, caused an exit signal to erroneously be sent
+ from the terminating process to the process being
+ unlinked. This exit signal would most often be ignored
+ by the receiver, but if the receiver of the exit signal
+ concurrently set up a new link, it could receive the
+ exit signal with the actual exit reason of the
+ terminating process instead of a noproc exit reason. It
+ is however very hard to detect that this has happened
+ and has no obvious negative consequences, so it should
+ be considered harmless.
+
+ A distributed unlink-ack signal received by a
+ terminating process was also not properly removed which
+ could cause a minor memory leak.
+
+
+ OTP-18197 Application(s): erts
+ Related Id(s): GH-6165, PR-6213
+
+ The erlang:monotonic_time/1, erlang:system_time/1,
+ erlang:time_offset/1, and os:system_time/1 BIFs
+ erroneously failed when passed the argument native.
+
+
+ OTP-18222 Application(s): erts
+ Related Id(s): GH-6242, PR-6248
+
+ Fix writing and reading of more than 2 GB in a single
+ read/write operation on macOS. Before this fix
+ attempting to read/write more than 2GB would result in
+ {error,einval}.
+
+
+ Full runtime dependencies of erts-11.2.2.16: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.3.2.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.3.2.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18193 Application(s): inets
+ Related Id(s): GH-6122
+
+ Remove documentation of no longer supported callback.
+
+
+ Full runtime dependencies of inets-7.3.2.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-7.3.1.6 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-11.2.2.11 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18198 Application(s): kernel
+ Related Id(s): GH-6129, PR-6216
+
+ A call to net_kernel:setopts(new, Opts) at the same
+ time as a connection was being set up could cause a
+ deadlock between the net_kernel process and the process
+ setting up the connection.
+
+
+ Full runtime dependencies of kernel-7.3.1.6: erts-11.2.2.11,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3.1.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.3.1.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 23 installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.10.0.1 (first satisfied in OTP 23.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18224 Application(s): ssl
+
+ Correct corner case of unexpected message handling for
+ pre TLS-1.3 versions, could cause "late failure" and
+ make the server dependent on its handshake timeout to
+ prevent possible DoS attacks.
+
+
+ Full runtime dependencies of ssl-10.3.1.5: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.10.0.1, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.18.README.txt b/release-notes/OTP-23.3.4.18.README.txt
new file mode 100644
index 0000000..4a28010
--- /dev/null
+++ b/release-notes/OTP-23.3.4.18.README.txt
@@ -0,0 +1,98 @@
+Patch Package: OTP 23.3.4.18
+Git Tag: OTP-23.3.4.18
+Date: 2022-10-04
+Trouble Report Id: OTP-18232, OTP-18258, OTP-18263
+Seq num: ERIERL-821, GH-6309
+System: OTP
+Release: 23
+Application: dialyzer-4.3.1.2, erts-11.2.2.17,
+ kernel-7.3.1.7
+Predecessor: OTP 23.3.4.17
+
+ Check out the git tag OTP-23.3.4.18, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.3.1.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.3.1.2 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18263 Application(s): dialyzer
+ Related Id(s): ERIERL-821
+
+ The --input_list_file option has been added.
+
+
+ Full runtime dependencies of dialyzer-4.3.1.2: compiler-7.0,
+ erts-9.0, hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0,
+ wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.17 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.17 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18258 Application(s): erts
+ Related Id(s): GH-6309, PR-6324
+
+ Notifications about available distribution data sent to
+ distribution controller processes could be lost.
+ Distribution controller processes can be used when
+ implementing an alternative distribution carrier. The
+ default distribution over tcp was not effected and the
+ bug was also not present on x86/x86_64 platforms.
+
+
+ Full runtime dependencies of erts-11.2.2.17: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-7.3.1.7 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-11.2.2.11 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Improvements and New Features ---
+
+ OTP-18232 Application(s): kernel
+ Related Id(s): OTP-17843, PR-6264
+
+ A new function global:disconnect/0 has been introduced
+ with which one can cleanly disconnect a node from all
+ other nodes in a cluster of global nodes.
+
+
+ Full runtime dependencies of kernel-7.3.1.7: erts-11.2.2.11,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.19.README.txt b/release-notes/OTP-23.3.4.19.README.txt
new file mode 100644
index 0000000..8e691ce
--- /dev/null
+++ b/release-notes/OTP-23.3.4.19.README.txt
@@ -0,0 +1,217 @@
+Patch Package: OTP 23.3.4.19
+Git Tag: OTP-23.3.4.19
+Date: 2023-06-08
+Trouble Report Id: OTP-18321, OTP-18325, OTP-18365, OTP-18388,
+ OTP-18421, OTP-18463, OTP-18470, OTP-18525,
+ OTP-18570, OTP-18595
+Seq num: ERIERL-944, GH-6465, GH-6466, GH-6873
+System: OTP
+Release: 23
+Application: compiler-7.6.9.3, erts-11.2.2.18,
+ stdlib-3.14.2.3, xmerl-1.3.27.1
+Predecessor: OTP 23.3.4.18
+
+ Check out the git tag OTP-23.3.4.19, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.9.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.9.3 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18325 Application(s): compiler, stdlib
+ Related Id(s): GH-6465, GH-6466
+
+ It is not allowed to call functions from guards. The
+ compiler failed to reject a call in a guard when done
+ by constructing a record with a default initialization
+ expression that called a function.
+
+
+ OTP-18365 Application(s): compiler
+
+ Fixed a bug that could cause legal code to fail
+ validation.
+
+
+ OTP-18470 Application(s): compiler
+ Related Id(s): GH-6873, PR-6877
+
+ The compiler would generate incorrect code for the
+ following type of expression:
+
+ Pattern = BoundVar1 = . . . = BoundVarN = Expression
+
+ An exception should be raised if any of the bound
+ variables have different values than Expression. The
+ compiler would generate code that would cause the bound
+ variables to be bound to the value of Expressionwhether
+ the value matched or not.
+
+
+ Full runtime dependencies of compiler-7.6.9.3: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.18 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-11.2.2.18 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 23
+ installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-7.3.1.5 (first satisfied in OTP 23.3.4.12)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18321 Application(s): erts
+
+ Fix list_to_atom/1 for negative code points. Could
+ either return with a positive code point or fail with
+ an incorrect exception.
+
+
+ OTP-18388 Application(s): erts
+ Related Id(s): OTP-17462, PR-6662
+
+ A race condition which was very rarely triggered could
+ cause the signal queue of a process to become
+ inconsistent causing the runtime system to crash.
+
+
+ OTP-18421 Application(s): erts
+ Related Id(s): PR-6806
+
+ process_info(Pid, status) when Pid /= self() could
+ return an erroneous result.
+
+
+ OTP-18463 Application(s): erts
+ Related Id(s): PR-6858
+
+ In rare circumstances, when a process exceeded its
+ allowed heap size set by option max_heap_size, it would
+ not be killed as it should be, but instead enter a kind
+ of zombie state it would never get out of.
+
+
+ OTP-18525 Application(s): erts
+ Related Id(s): PR-7049
+
+ Implementations of the call() driver callback that
+ returned a faulty encoded result could cause a memory
+ leak and could cause invalid data on the heap of the
+ processes calling erlang:port_call/3.
+
+
+ OTP-18570 Application(s): erts
+ Related Id(s): PR-7190
+
+ If a runtime system which was starting the distribution
+ already had existing pids, ports, or references
+ referring to a node with the same nodename/creation
+ pair that the runtime system was about to use, these
+ already existing pids, ports, or references would not
+ work as expected in various situations after the node
+ had gone alive. This could only occur if the runtime
+ system was communicated such pids, ports, or references
+ prior to the distribution was started. That is, it was
+ extremely unlikely to happen unless the distribution
+ was started dynamically and was even then very unlikely
+ to happen. The runtime system now checks for already
+ existing pids, ports, and references with the same
+ nodename/creation pair that it is about to use. If such
+ are found another creation will be chosen in order to
+ avoid these issues.
+
+
+ Full runtime dependencies of erts-11.2.2.18: kernel-7.3.1.5,
+ sasl-3.3, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.14.2.3 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.14.2.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18325 Application(s): compiler, stdlib
+ Related Id(s): GH-6465, GH-6466
+
+ It is not allowed to call functions from guards. The
+ compiler failed to reject a call in a guard when done
+ by constructing a record with a default initialization
+ expression that called a function.
+
+
+ Full runtime dependencies of stdlib-3.14.2.3: compiler-5.0,
+ crypto-3.3, erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.27.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.27.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18595 Application(s): xmerl
+ Related Id(s): ERIERL-944
+
+ New options to xmerl_scan and xmerl_sax_parser so one
+ can limit the behaviour of the parsers to avoid some
+ XML security issues.
+
+ xmerl_scan gets one new option:
+
+ -- {allow_entities, Boolean} -- Gives the possibility
+ to disallow entities by setting this option to false
+ (true is default)
+
+ xmerl_sax_parser gets the following options:
+
+ -- disallow_entities -- Don't allow entities in
+ document
+
+ -- {entity_recurse_limit, N} -- Set a limit on entity
+ recursion depth (default is 3)
+
+ -- {external_entities, AllowedType} -- Specify which
+ types of external entities that are allowed, this also
+ affect external DTD's. The types are all(default), file
+ and none
+
+ -- {fail_undeclared_ref, Boolean} -- Sets the behavior
+ for undeclared references due to an external file is
+ not parsed (true is default)
+
+ The old option skip_external_dtd is still valid and the
+ same as {external_entities, none} and
+ {fail_undeclared_ref, false} but just affects DTD's and
+ not other external references.
+
+
+ Full runtime dependencies of xmerl-1.3.27.1: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.2.README.txt b/release-notes/OTP-23.3.4.2.README.txt
new file mode 100644
index 0000000..160087c
--- /dev/null
+++ b/release-notes/OTP-23.3.4.2.README.txt
@@ -0,0 +1,179 @@
+Patch Package: OTP 23.3.4.2
+Git Tag: OTP-23.3.4.2
+Date: 2021-05-31
+Trouble Report Id: OTP-16033, OTP-17427, OTP-17435, OTP-17437,
+ OTP-17442, OTP-17448, OTP-17459, OTP-17462
+Seq num: ERIERL-329, ERIERL-653, ERL-1414, ERL-885,
+ GH-3923, GH-4448, GH-4774, GH-4824, GH-4842,
+ GH-4861, GH-4885, GH-4898
+System: OTP
+Release: 23
+Application: compiler-7.6.9.1, crypto-4.9.0.2,
+ erts-11.2.2.2, kernel-7.3.1.1, ssh-4.11.1.2,
+ ssl-10.3.1.1, stdlib-3.14.2.1
+Predecessor: OTP 23.3.4.1
+
+ Check out the git tag OTP-23.3.4.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.9.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.9.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17437 Application(s): compiler
+ Related Id(s): GH-4774, OTP-17357
+
+ Fixed a bug in the validation pass that could cause it
+ to reject valid code.
+
+
+ Full runtime dependencies of compiler-7.6.9.1: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.9.0.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.9.0.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17442 Application(s): crypto
+ Related Id(s): GH-4861
+
+ EC keys are now zero-padded to the expected length if
+ needed.
+
+
+ Full runtime dependencies of crypto-4.9.0.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17448 Application(s): erts
+ Related Id(s): GH-4898, OTP-17291, PR-4903
+
+ A call to port_command() could cause a scheduler to end
+ up in an eternal loop if the port was busy and the
+ calling process had incoming signals at the time of the
+ call. This bug was introduced in OTP 23.3.2 (ERTS
+ version 11.2.1), OTP 22.3.4.18 (ERTS version
+ 10.7.2.10), and OTP 21.3.8.23 (ERTS version 10.3.5.18).
+
+
+ OTP-17462 Application(s): erts
+ Related Id(s): GH-4885, OTP-17127, PR-4914
+
+ Dirty execution of a process in combination with an
+ unlink signal from a port to the process could cause
+ the signal queue of the process to enter into an
+ inconsistent state. The result of the inconsistency
+ typically caused a crash of the runtime system. This
+ bug was introduced in OTP 23.3 (ERTS version 11.2).
+
+
+ Full runtime dependencies of erts-11.2.2.2: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.3.1.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16033 Application(s): kernel
+ Related Id(s): ERIERL-329, ERL-1414, ERL-885, GH-3923,
+ GH-4448
+
+ Fix a race condition in Global.
+
+
+ Full runtime dependencies of kernel-7.3.1.1: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17427 Application(s): ssh
+
+ Avoid an extra blank line in the ssh known_hosts file
+
+
+ Full runtime dependencies of ssh-4.11.1.2: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.3.1.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17435 Application(s): ssl
+ Related Id(s): ERIERL-653
+
+ Fix cache invalidation problem for CA certs provided by
+ the cacertfile option.
+
+
+ Full runtime dependencies of ssl-10.3.1.1: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.14.2.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.14.2.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17459 Application(s): stdlib
+ Related Id(s): GH-4824, GH-4842
+
+ Fix a bug that could cause a loop when formatting terms
+ using the control sequences p or P and limiting the
+ output with the option chars_limit.
+
+
+ Full runtime dependencies of stdlib-3.14.2.1: compiler-5.0,
+ crypto-3.3, erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.20.README.txt b/release-notes/OTP-23.3.4.20.README.txt
new file mode 100644
index 0000000..1a5d3e9
--- /dev/null
+++ b/release-notes/OTP-23.3.4.20.README.txt
@@ -0,0 +1,78 @@
+Patch Package: OTP 23.3.4.20
+Git Tag: OTP-23.3.4.20
+Date: 2024-03-18
+Trouble Report Id: OTP-18897, OTP-19002
+Seq num: ERIERL-1041
+System: OTP
+Release: 23
+Application: ssh-4.11.1.7
+Predecessor: OTP 23.3.4.19
+
+ Check out the git tag OTP-23.3.4.20, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18897 Application(s): ssh
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH User's Guide.
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1.7 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1.7 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18897 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH User's Guide.
+
+
+ OTP-19002 Application(s): ssh
+ Related Id(s): ERIERL-1041
+
+ With this change, KEX strict terminal message is
+ emitted with debug verbosity.
+
+
+ Full runtime dependencies of ssh-4.11.1.7: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.3.README.txt b/release-notes/OTP-23.3.4.3.README.txt
new file mode 100644
index 0000000..639a021
--- /dev/null
+++ b/release-notes/OTP-23.3.4.3.README.txt
@@ -0,0 +1,104 @@
+Patch Package: OTP 23.3.4.3
+Git Tag: OTP-23.3.4.3
+Date: 2021-06-09
+Trouble Report Id: OTP-17450, OTP-17468, OTP-17472, OTP-17473,
+ OTP-17476
+Seq num: ERIERL-655, ERIERL-656, GH-4838, GH-4931
+System: OTP
+Release: 23
+Application: erts-11.2.2.3, kernel-7.3.1.2, ssh-4.11.1.3
+Predecessor: OTP 23.3.4.2
+
+ Check out the git tag OTP-23.3.4.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17472 Application(s): erts
+ Related Id(s): PR-4932
+
+ A call to erlang:cancel_timer(_, [{info, false}]) could
+ cause the calling process to block forever in the call.
+ Note that only the synchronous version of the call
+ (that is, the async option is false) in combination
+ with the info option set to false was effected by this
+ bug.
+
+
+ Full runtime dependencies of erts-11.2.2.3: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.3.1.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17473 Application(s): kernel
+ Related Id(s): GH-4838, OTP-17439
+
+ Handling of the "." domain as a search domain was
+ incorrect and caused a crash in the DNS resolver
+ inet_res, which has now been fixed.
+
+
+ OTP-17476 Application(s): kernel
+ Related Id(s): GH-4931, PR-4934
+
+ Fixed rare bug that could cause net_kernel process to
+ hang for ever. Have seen to happen with massive number
+ of TLS connections while remote nodes are restarting.
+ Bug exists since OTP-22.0.
+
+
+ Full runtime dependencies of kernel-7.3.1.2: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17468 Application(s): ssh
+ Related Id(s): ERIERL-656
+
+ Filter out sensitive data (passwords etc) from progress
+ reports and supervisor reports.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17450 Application(s): ssh
+ Related Id(s): ERIERL-655
+
+ The "Key exchange failed" Info Report is now more
+ informative.
+
+
+ Full runtime dependencies of ssh-4.11.1.3: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.4.README.txt b/release-notes/OTP-23.3.4.4.README.txt
new file mode 100644
index 0000000..0904f0e
--- /dev/null
+++ b/release-notes/OTP-23.3.4.4.README.txt
@@ -0,0 +1,60 @@
+Patch Package: OTP 23.3.4.4
+Git Tag: OTP-23.3.4.4
+Date: 2021-06-17
+Trouble Report Id: OTP-17482, OTP-17490
+Seq num:
+System: OTP
+Release: 23
+Application: dialyzer-4.3.1.1, inets-7.3.2.1
+Predecessor: OTP 23.3.4.3
+
+ Check out the git tag OTP-23.3.4.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.3.1.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.3.1.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17482 Application(s): dialyzer
+
+ In rare circumstances, Dialyzer could crash analyzing
+ code with a list comprehension whose value was ignored.
+ (Thanks to Ulf Wiger for reporting this bug.)
+
+
+ Full runtime dependencies of dialyzer-4.3.1.1: compiler-7.0,
+ erts-9.0, hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0,
+ wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.3.2.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.3.2.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17490 Application(s): inets
+
+ Improved user input handling in inets/mod_esi
+ preventing unnecessary atom creation.
+
+
+ Full runtime dependencies of inets-7.3.2.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.5.README.txt b/release-notes/OTP-23.3.4.5.README.txt
new file mode 100644
index 0000000..946e220
--- /dev/null
+++ b/release-notes/OTP-23.3.4.5.README.txt
@@ -0,0 +1,211 @@
+Patch Package: OTP 23.3.4.5
+Git Tag: OTP-23.3.4.5
+Date: 2021-07-22
+Trouble Report Id: OTP-17150, OTP-17475, OTP-17493, OTP-17500,
+ OTP-17506, OTP-17509, OTP-17513, OTP-17522,
+ OTP-17525, OTP-17529
+Seq num: GH-4809, GH-4877, GH-4902, GH-4958, GH-4964,
+ GH-5053
+System: OTP
+Release: 23
+Application: asn1-5.0.15.1, common_test-1.20.2.2,
+ erts-11.2.2.4, public_key-1.10.0.1,
+ ssl-10.3.1.2, stdlib-3.14.2.2
+Predecessor: OTP 23.3.4.4
+
+ Check out the git tag OTP-23.3.4.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.15.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.15.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17522 Application(s): asn1
+ Related Id(s): GH-4902
+
+ A parameterized type with a SEQUENCE with extension
+ ("...") made the compiler backend to crash. The
+ previous fix for this in GH-4514 was not complete.
+
+
+ Full runtime dependencies of asn1-5.0.15.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.2.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20.2.2 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17506 Application(s): common_test
+
+ An incoming NETCONF notification received before a call
+ to ct_netconfc:create_subscription/* caused the
+ connection process to fail with badarg. Unexpected
+ notifications are now logged in the same way as other
+ unexpected messages.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17509 Application(s): common_test
+
+ Add 'receiver' option to ct_netconfc
+
+ To allow a destination for incoming NETCONF
+ notifications to be specified at sessions creation.
+ Previously, a caller of create_subscription/* became
+ the destination, but RFC 5277 create-subscription is no
+ longer the only way in which NETCONF notifications can
+ be ordered.
+
+
+ Full runtime dependencies of common_test-1.20.2.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17493 Application(s): erts
+
+ Microstate accounting (msacc) and os:perf_counter()
+ unintentionally used system time instead of monotonic
+ time for time measurements on a lot of systems. These
+ systems were all non x86/x86_64 systems or x86/x86_64
+ systems without a reliable and constant rdtsc
+ instruction.
+
+ The lock counting (lcnt) built runtime system also
+ unintentionally used system time instead of monotonic
+ time for time measurements on all systems.
+
+
+ OTP-17500 Application(s): erts
+ Related Id(s): GH-4809
+
+ Simultaneous calls to
+ erlang:system_flag(schedulers_online, _) could cause
+ callers to end up in a suspended state forever.
+
+
+ OTP-17513 Application(s): erts
+ Related Id(s): GH-4964, PR-5015
+
+ Fix rare race bug in memory management of distribution
+ entries. Have been seen to cause VM crash when massive
+ number of repeated concurrent failing connection
+ attempts.
+
+
+ Full runtime dependencies of erts-11.2.2.4: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.10.0.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.10.0.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17475 Application(s): public_key, ssl
+ Related Id(s): GH-4877
+
+ Handle cross-signed root certificates when old root
+ expired as reported in GH-4877.
+
+
+ Full runtime dependencies of public_key-1.10.0.1: asn1-3.0,
+ crypto-3.8, erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3.1.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.3.1.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 23 installation.
+
+ On a full OTP 23 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.10.0.1 (first satisfied in OTP 23.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17475 Application(s): public_key, ssl
+ Related Id(s): GH-4877
+
+ Handle cross-signed root certificates when old root
+ expired as reported in GH-4877.
+
+
+ OTP-17529 Application(s): ssl
+ Related Id(s): GH-4958, PR-4979
+
+ The signature selection algorithm has been changed to
+ also verify if the client supports signatures using the
+ elliptic curve of the server's public/private key pair.
+ This change fixes #4958.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17150 Application(s): ssl
+ Related Id(s): GH-4877
+
+ Slight optimization of certificate decoding.
+
+
+ Full runtime dependencies of ssl-10.3.1.2: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.10.0.1, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.14.2.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.14.2.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17525 Application(s): stdlib
+ Related Id(s): GH-5053
+
+ Fix a bug that could cause a crash when formatting
+ tuples using the control sequences p or P and limiting
+ the output with the option chars_limit.
+
+
+ Full runtime dependencies of stdlib-3.14.2.2: compiler-5.0,
+ crypto-3.3, erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.6.README.txt b/release-notes/OTP-23.3.4.6.README.txt
new file mode 100644
index 0000000..9baf7f5
--- /dev/null
+++ b/release-notes/OTP-23.3.4.6.README.txt
@@ -0,0 +1,87 @@
+Patch Package: OTP 23.3.4.6
+Git Tag: OTP-23.3.4.6
+Date: 2021-09-03
+Trouble Report Id: OTP-17560, OTP-17568, OTP-17570, OTP-17585,
+ OTP-17594
+Seq num: ERL-1261, GH-4256, GH-5116, GH-5150
+System: OTP
+Release: 23
+Application: erts-11.2.2.5, kernel-7.3.1.3
+Predecessor: OTP 23.3.4.5
+
+ Check out the git tag OTP-23.3.4.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.5 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.5 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17560 Application(s): erts
+ Related Id(s): GH-5116
+
+ Fix buffer overrun problem in the tty driver. The
+ problem happens on some platforms when using the CTRL+R
+ functionality of newshell with very long strings in the
+ history.
+
+
+ OTP-17568 Application(s): erts
+ Related Id(s): PR-4940
+
+ Fix race-condition that could cause a crash when
+ tracing scheduling or garbage collections on a process
+ that was running on a dirty scheduler.
+
+
+ OTP-17585 Application(s): erts
+ Related Id(s): GH-5150
+
+ Fix rare bug where re:run would crash/return invalid
+ results when given a subbinary as subject.
+
+ This bug has existed since Erlang/OTP 20.0.
+
+
+ OTP-17594 Application(s): erts
+
+ binary_to_term/1,2 is now more resilient against
+ corrupted binaries containing maps in the external
+ format.
+
+
+ Full runtime dependencies of erts-11.2.2.5: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.3.1.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17570 Application(s): kernel
+ Related Id(s): ERL-1261, GH-4256, PR-5139
+
+ Fix code:get_doc/1 to not crash when module is located
+ in an escript.
+
+
+ Full runtime dependencies of kernel-7.3.1.3: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.7.README.txt b/release-notes/OTP-23.3.4.7.README.txt
new file mode 100644
index 0000000..a25d840
--- /dev/null
+++ b/release-notes/OTP-23.3.4.7.README.txt
@@ -0,0 +1,85 @@
+Patch Package: OTP 23.3.4.7
+Git Tag: OTP-23.3.4.7
+Date: 2021-09-08
+Trouble Report Id: OTP-17578, OTP-17600, OTP-17604
+Seq num: ERIERL-683
+System: OTP
+Release: 23
+Application: erts-11.2.2.6, inets-7.3.2.2, kernel-7.3.1.4
+Predecessor: OTP 23.3.4.6
+
+ Check out the git tag OTP-23.3.4.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.6 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.6 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17578 Application(s): erts, kernel
+ Related Id(s): ERIERL-683
+
+ Parsing of the result value in the native DNS resolver
+ has been made more defensive against incorrect results.
+
+
+ OTP-17604 Application(s): erts
+
+ On 32-bit computers, binary_to_term/1,2 is now more
+ resilient against corrupted binaries containing maps in
+ the external format.
+
+
+ Full runtime dependencies of erts-11.2.2.6: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.3.2.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.3.2.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17600 Application(s): inets
+
+ Restored HTTP headers handling in inets/mod_esi.
+
+
+ Full runtime dependencies of inets-7.3.2.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3.1.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.3.1.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17578 Application(s): erts, kernel
+ Related Id(s): ERIERL-683
+
+ Parsing of the result value in the native DNS resolver
+ has been made more defensive against incorrect results.
+
+
+ Full runtime dependencies of kernel-7.3.1.4: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.8.README.txt b/release-notes/OTP-23.3.4.8.README.txt
new file mode 100644
index 0000000..be29853
--- /dev/null
+++ b/release-notes/OTP-23.3.4.8.README.txt
@@ -0,0 +1,140 @@
+Patch Package: OTP 23.3.4.8
+Git Tag: OTP-23.3.4.8
+Date: 2021-10-19
+Trouble Report Id: OTP-17628, OTP-17642, OTP-17651, OTP-17658,
+ OTP-17665, OTP-17677, OTP-17700, OTP-17707
+Seq num: ERIERL-706, GH-5235, GH-5271
+System: OTP
+Release: 23
+Application: erts-11.2.2.7, ssh-4.11.1.4
+Predecessor: OTP 23.3.4.7
+
+ Check out the git tag OTP-23.3.4.8, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.7 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.7 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17628 Application(s): erts
+
+ A call to process_info(Pid, status) could erroneously
+ report the status running when it should have reported
+ waiting. This occurred when the calling process was
+ executing on a higher priority than the process being
+ inspected. This bug has been present since OTP 21.0
+ (erts version 10.0).
+
+
+ OTP-17642 Application(s): erts
+ Related Id(s): PR-5248
+
+ A race between an exiting port and handling of
+ simultaneously received signals to that port could
+ cause a runtime system crash. The effected signals are
+ link, monitor and demonitor. On OTP 22 a similiar race
+ could also cause a memory leak when receiving an unlink
+ signal.
+
+
+ OTP-17651 Application(s): erts
+ Related Id(s): GH-5235, PR-5244
+
+ The message queue of a process entered an inconsistent
+ state after a receive expression with an invalid
+ timeout value was executed. If the exception raised due
+ to the invalid timeout value was caught, the following
+ receive expression executed by the process could fail
+ to match messages already present in the message queue.
+
+ On OTP 24 this could also cause the whole runtime
+ system to crash.
+
+
+ OTP-17665 Application(s): erts
+ Related Id(s): PR-5248
+
+ Sending a Port ! {PortOwner, close} signal from a
+ process other than the port owner could erroneously
+ trigger a badsig exit signal being sent to the port
+ owner process even though the correct PortOwner had
+ been passed in the signal.
+
+
+ OTP-17677 Application(s): erts
+
+ This fixes a bug in erts_factory_undo that caused the
+ heap to not be reset correctly. The erts_factory_undo
+ function is, for example, called when a
+ binary_to_term/1 call fails to reset the heap to its
+ state before the binary_to_term/1 call. This can cause
+ the heap to contain invalid terms which potentially can
+ cause issues (e.g., crashes) when the whole heap is
+ scanned.
+
+
+ OTP-17700 Application(s): erts
+ Related Id(s): GH-5271, PR-5273
+
+ Fix bug in persistent_term when a key-value pair
+ contains a magic reference that is referred more than
+ once. Magic references are NIF resources or returned
+ from BIFs like ets:new, atomics:new. The bug could
+ cause the memory of the referred resource to be
+ prematurely deallocated.
+
+ The bug also apply to magic references in message
+ passing on a runtime built with configure option
+ --enable-sharing-preserving.
+
+ Bug exist for 64-bit since OTP-24.0 and for 32-bit
+ since OTP-20.0.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17658 Application(s): erts
+
+ The python scripts that existed in
+ erts/lib_src/yielding_c_fun/lib/tiny_regex_c/scripts
+ had a license that was incompatible with Erlang/OTP's
+ license. This ticket removes these scripts that were
+ not used by us.
+
+
+ Full runtime dependencies of erts-11.2.2.7: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11.1.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11.1.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17707 Application(s): ssh
+ Related Id(s): ERIERL-706
+
+ The value of the connect_timeout option is now used as
+ default value for the negotiation timeout.
+
+
+ Full runtime dependencies of ssh-4.11.1.4: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.9.README.txt b/release-notes/OTP-23.3.4.9.README.txt
new file mode 100644
index 0000000..04a69a6
--- /dev/null
+++ b/release-notes/OTP-23.3.4.9.README.txt
@@ -0,0 +1,61 @@
+Patch Package: OTP 23.3.4.9
+Git Tag: OTP-23.3.4.9
+Date: 2021-11-11
+Trouble Report Id: OTP-17735, OTP-17737
+Seq num: GH-4989, GH-5339, GH-5346
+System: OTP
+Release: 23
+Application: erts-11.2.2.8
+Predecessor: OTP 23.3.4.8
+
+ Check out the git tag OTP-23.3.4.9, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2.8 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2.8 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17735 Application(s): erts
+ Related Id(s): GH-5339
+
+ The runtime system could call select() with a too large
+ timeout value when executing on MacOS. This could in
+ turn cause the runtime system to crash.
+
+
+ OTP-17737 Application(s): erts
+ Related Id(s): GH-4989, GH-5346
+
+ Certain distributed signals that for various reasons
+ must to be forced into the distribution buffer even
+ when it is full would instead be lost if the
+ distribution buffer was full when sent. The effected
+ signals:
+
+ -- EXIT signals with exit reasons of one word size.
+
+ -- DOWN signals with exit reasons of one word size.
+
+ -- demonitor signals from a terminating process.
+
+ -- unlink_ack signals on OTP 23 and 24.
+
+ -- spawn_reply signals on OTP 23 and 24.
+
+
+ Full runtime dependencies of erts-11.2.2.8: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.4.README.txt b/release-notes/OTP-23.3.4.README.txt
new file mode 100644
index 0000000..0a5c783
--- /dev/null
+++ b/release-notes/OTP-23.3.4.README.txt
@@ -0,0 +1,93 @@
+Patch Package: OTP 23.3.4
+Git Tag: OTP-23.3.4
+Date: 2021-05-10
+Trouble Report Id: OTP-17366, OTP-17379, OTP-17386
+Seq num: ERIERL-650, GH-4775
+System: OTP
+Release: 23
+Application: compiler-7.6.9, diameter-2.2.4, erts-11.2.2
+Predecessor: OTP 23.3.3
+
+ Check out the git tag OTP-23.3.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.9 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.9 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17386 Application(s): compiler
+ Related Id(s): ERIERL-650, OTP-17357
+
+ Reverted the fix for OTP-17357 as it turned out to be
+ incomplete and made the validator reject much more
+ legal code than before.
+
+ It will be fixed more thoroughly in a later patch.
+
+
+ Full runtime dependencies of compiler-7.6.9: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.2.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17366 Application(s): diameter
+ Related Id(s): GH-4775
+
+ The unordered option was ignored on a client
+ diameter_sctp transport, causing all delivery to be
+ ordered.
+
+ The association id was not specified to gen_sctp when
+ requesting unordered delivery, causing the setting to
+ be applied to the whole endpoint.
+
+ Thanks to Bengt Kleberg and Andreas Schultz.
+
+
+ Full runtime dependencies of diameter-2.2.4: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17379 Application(s): erts
+ Related Id(s): PR-4804
+
+ Fix bug in match spec compilator seen to cause a stack
+ overflow crash on debug VM for certain match specs.
+ Could potentially cause problems for standard VM, but
+ has not been verified. Match specs are used by
+ ets:match/select functions and erlang:trace_pattern.
+
+
+ Full runtime dependencies of erts-11.2.2: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-23.3.README.txt b/release-notes/OTP-23.3.README.txt
new file mode 100644
index 0000000..7ca162d
--- /dev/null
+++ b/release-notes/OTP-23.3.README.txt
@@ -0,0 +1,803 @@
+Patch Package: OTP 23.3
+Git Tag: OTP-23.3
+Date: 2021-03-24
+Trouble Report Id: OTP-13641, OTP-16876, OTP-16907, OTP-16959,
+ OTP-16978, OTP-16985, OTP-17002, OTP-17042,
+ OTP-17064, OTP-17073, OTP-17081, OTP-17089,
+ OTP-17091, OTP-17096, OTP-17109, OTP-17111,
+ OTP-17113, OTP-17116, OTP-17124, OTP-17126,
+ OTP-17127, OTP-17145, OTP-17162, OTP-17163,
+ OTP-17164, OTP-17166, OTP-17167, OTP-17178,
+ OTP-17182, OTP-17187, OTP-17188, OTP-17194,
+ OTP-17195, OTP-17197, OTP-17200, OTP-17202,
+ OTP-17208, OTP-17209, OTP-17212, OTP-17223,
+ OTP-17225, OTP-17229, OTP-17242, OTP-17244,
+ OTP-17249, OTP-17252, OTP-17253, OTP-17256,
+ OTP-17261, OTP-17265, OTP-17271, OTP-17273,
+ OTP-17274, OTP-17281, OTP-17282, OTP-17283
+Seq num: ERIERL-583, ERL-1410, ERL-1448, ERL-1471,
+ ERL-845, GH-4353, GH-4445, GH-4451, GH-4500,
+ GH-4502, GH-4546, GH-4549, GH-4573, GH-4589,
+ GH-4616, GH-4620
+System: OTP
+Release: 23
+Application: common_test-1.20, compiler-7.6.7, crypto-4.9,
+ dialyzer-4.3.1, eldap-1.2.9, erts-11.2,
+ jinterface-1.11.1, kernel-7.3, mnesia-4.19,
+ odbc-2.13.3, public_key-1.10,
+ runtime_tools-1.16, sasl-4.0.2, snmp-5.8,
+ ssh-4.11, ssl-10.3, stdlib-3.14.1,
+ syntax_tools-2.5, tools-3.4.4, wx-1.9.3
+Predecessor: OTP 23.2.7
+
+ Check out the git tag OTP-23.3, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-23.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17164 Application(s): otp
+ Related Id(s): ERL-845, PR-2613
+
+ Correct documentation of specifications of remote
+ functions.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-16959 Application(s): common_test, crypto, erts
+ Related Id(s): PR-2965
+
+ Various address sanitizer support.
+
+
+ Full runtime dependencies of common_test-1.20: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-7.6.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-7.6.7 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17073 Application(s): compiler
+
+ Fixed a bug in the type optimization pass that could
+ yield incorrect values or cause the wrong clauses to be
+ executed.
+
+
+ OTP-17126 Application(s): compiler
+ Related Id(s): ERL-1471
+
+ Fixed a bug in the validator that could cause it to
+ reject valid code.
+
+
+ Full runtime dependencies of compiler-7.6.7: crypto-3.6, erts-11.0,
+ hipe-3.12, kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-4.9 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-4.9 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17212 Application(s): crypto
+
+ Fix minor memory leaks in crypto ENGINE and robustify
+ the code.
+
+
+ OTP-17256 Application(s): crypto
+ Related Id(s): GH-4573, PR-4580
+
+ The otp_test_engine no longer fails if NO_EC* is set in
+ the OpenSSL configuration.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16959 Application(s): common_test, crypto, erts
+ Related Id(s): PR-2965
+
+ Various address sanitizer support.
+
+
+ OTP-17116 Application(s): crypto
+ Related Id(s): PR-2972
+
+ EVP is now disabled for OpenSSL cryptolib versions up
+ to and including 1.0.2
+
+
+ OTP-17145 Application(s): crypto
+ Related Id(s): OTP-17105, PR-2872
+
+ Warning for unused C function removed
+
+
+ Full runtime dependencies of crypto-4.9: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.3.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.3.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17091 Application(s): dialyzer
+
+ Correct handling of PLTs in the GUI.
+
+
+ Full runtime dependencies of dialyzer-4.3.1: compiler-7.0, erts-9.0,
+ hipe-3.16.1, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.9 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17166 Application(s): eldap
+ Related Id(s): PR-2904
+
+ Add ability to specify size limit on ldap requests
+
+
+ Full runtime dependencies of eldap-1.2.9: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-11.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-11.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17081 Application(s): erts
+ Related Id(s): PR-2930
+
+ Fix memory leak of about 6 words when
+ erlang:process_flag/3 is called with a pid of an
+ already dead process. Bug exists since OTP-21.0.
+
+
+ OTP-17089 Application(s): erts
+ Related Id(s): PR-2934
+
+ Fixed small memory leak in erl_drv_send_term and
+ erl_drv_output_term when failing due to the term being
+ invalid.
+
+
+ OTP-17096 Application(s): erts
+ Related Id(s): PR-2932
+
+ The DTrace/SystemTap process_heap_grow probe is now
+ called with valid the heap and stack pointers for the
+ process in question.
+
+
+ OTP-17124 Application(s): erts
+
+ Fixed a performance issue in memory allocation for
+ Linux kernels that didn't support MADV_FREE.
+
+
+ OTP-17127 Application(s): erts, jinterface
+
+ A new link protocol has been introduced which prevents
+ links from ending up in an inconsistent state where one
+ participant considers itself linked while the other
+ doesn't. This bug has always existed in the distributed
+ case, but has since OTP 21 also existed in the node
+ local case since the distributed link protocol then was
+ adopted also for node local links. The bug could,
+ however, only trigger if both participants operated on
+ the link simultaneously.
+
+
+ OTP-17163 Application(s): erts
+
+ Fix memory leak when receiving sigchld from port
+ program to already dead port.
+
+
+ OTP-17209 Application(s): erts, kernel
+ Related Id(s): PR-3039
+
+ Fix bug where complex seq_trace tokens (that is lists,
+ tuples, maps etc) could becomes corrupted by the GC.
+ The bug was introduced in OTP-21.
+
+
+ OTP-17229 Application(s): erts
+
+ Fixed WSLPATH environment variable addition to PATH on
+ windows, the last character was lost.
+
+
+ OTP-17253 Application(s): erts
+
+ Fixed a bug in the timer implementation which could
+ cause timers that were set to more than 37.25 hours in
+ the future to be delayed. This could occur if there
+ were multiple timers scheduled to be triggered very
+ close in time, but still at different times, and the
+ scheduler thread handling the timers was not able to
+ handle them quickly enough. Delayed timers were in this
+ case triggered when another unrelated timer was
+ triggered.
+
+
+ OTP-17265 Application(s): erts
+ Related Id(s): PR-4596
+
+ Fixed small memory leak in erlang:trace/3 if option
+ {tracer,_} is included and the option list is invalid
+ or the call races with a concurrent trace or code
+ change operation.
+
+
+ OTP-17283 Application(s): erts
+
+ Fix configure check for inet_pton on 32-bit windows.
+ The failure of this check would cause epmd to be built
+ without ipv6 support.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16959 Application(s): common_test, crypto, erts
+ Related Id(s): PR-2965
+
+ Various address sanitizer support.
+
+
+ OTP-17002 Application(s): erts
+
+ The emulator will now honor cgroup2 CPU quotas.
+
+
+ OTP-17195 Application(s): erts
+ Related Id(s): PR-4505, PR-4538
+
+ Improved memory barrier usage on ARMv8 hardware, and
+ specifically on Apple silicon.
+
+
+ OTP-17200 Application(s): erts
+ Related Id(s): PR-4510
+
+ Improved memory barrier usage on 64-bit POWER hardware.
+
+
+ OTP-17244 Application(s): erts
+
+ Fix a file descriptor leak when using sendfile and the
+ remote side closes the connection. This bug has been
+ present since OTP-21.0.
+
+
+ OTP-17252 Application(s): erts
+ Related Id(s): PR-4568
+
+ Refinement of the documentation of the
+ message_queue_data process flag.
+
+
+ Full runtime dependencies of erts-11.2: kernel-7.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.11.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.11.1 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17127 Application(s): erts, jinterface
+
+ A new link protocol has been introduced which prevents
+ links from ending up in an inconsistent state where one
+ participant considers itself linked while the other
+ doesn't. This bug has always existed in the distributed
+ case, but has since OTP 21 also existed in the node
+ local case since the distributed link protocol then was
+ adopted also for node local links. The bug could,
+ however, only trigger if both participants operated on
+ the link simultaneously.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-7.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-7.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-13641 Application(s): kernel
+ Related Id(s): PR-2959
+
+ The range check for compression pointers in DNS
+ encoding was faulty, which caused incorrect label
+ compression encoding for very large DNS messages;
+ larger than about 16 kBytes, such as AXFR responses.
+ This more than 11 year old bug has now been corrected.
+
+
+ OTP-17202 Application(s): kernel
+ Related Id(s): PR-4516
+
+ Fix of internal links in the erpc documentation.
+
+
+ OTP-17209 Application(s): erts, kernel
+ Related Id(s): PR-3039
+
+ Fix bug where complex seq_trace tokens (that is lists,
+ tuples, maps etc) could becomes corrupted by the GC.
+ The bug was introduced in OTP-21.
+
+
+ OTP-17223 Application(s): kernel
+ Related Id(s): GH-4546, PR-4554
+
+ When running Xref in the modules mode, the Debugger
+ application would show up as a depency for the Kernel
+ applications.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17178 Application(s): kernel
+ Related Id(s): PR-3003
+
+ erl_epmd (the epmd client) will now try to reconnect to
+ the local EPMD if the connection is broken.
+
+
+ Full runtime dependencies of kernel-7.3: erts-11.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.19 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17249 Application(s): mnesia
+ Related Id(s): PR-4578
+
+ Fixed the type spec for disc_only_copies.
+
+
+ OTP-17274 Application(s): mnesia
+ Related Id(s): GH-4616
+
+ Do not crash in mnesia:change_config/2 if mnesia is
+ stopping or starting.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17271 Application(s): mnesia
+ Related Id(s): PR-4575
+
+ Optimized table loading time for tables that are
+ updated during the loading.
+
+
+ Full runtime dependencies of mnesia-4.19: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.13.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17188 Application(s): odbc
+ Related Id(s): ERL-1448
+
+ Make sure odbc c-process exits when erlang process
+ orders it to shutdown.
+
+
+ Full runtime dependencies of odbc-2.13.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.10 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.10 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17242 Application(s): public_key
+ Related Id(s): GH-4500
+
+ Fixed case insensitive hostname check.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16907 Application(s): public_key
+
+ Add sanity check of trusted anchor certificate
+ expiration to pkix_path_validation/3. Although the
+ anchor is considered a trusted input this sanity check
+ does provide extra security for the users of the
+ public_key application as this property needs to be
+ checked at time of usage and fits very well with the
+ other checks performed here.
+
+
+ OTP-17111 Application(s): public_key
+
+ Adjust generation of test certificates to conform to
+ RFC 5280 rules for formatting of the certificates
+ validity
+
+
+ Full runtime dependencies of public_key-1.10: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.16 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-1.16 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17208 Application(s): runtime_tools
+ Related Id(s): GH-4502, PR-4532
+
+ Clarify documentation of module 'scheduler'.
+
+
+ Full runtime dependencies of runtime_tools-1.16: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-4.0.2 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17113 Application(s): sasl
+ Related Id(s): ERL-1410, PR-2882
+
+ Fix dependent application to be stopped after the
+ primary application when upgrading a release and the
+ primary and dependent application is removed.
+
+ Example: In a release where app1 depends on app2 and we
+ should remove app1 and app2 using a release upgrade.
+ When the release upgrade is done app1 should be stopped
+ and purged before app2 as otherwise app1 could start
+ crashing when its dependency is removed.
+
+ This bugfix changes the order of removal to be correct.
+
+
+ Full runtime dependencies of sasl-4.0.2: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.8 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.8 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17109 Application(s): snmp
+ Related Id(s): ERIERL-583
+
+ Add function to get a list of configured agent
+ transports. Also improved agent info with regards to
+ transports.
+
+
+ Full runtime dependencies of snmp-5.8: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.11 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17197 Application(s): ssh
+ Related Id(s): 3049, PR-
+
+ The long name field in SSH_FXP_NAME responses to
+ display file information in sftp version 3 now contains
+ the expanded format defined in the sftp draft. It is
+ similar to what is returned by "ls -l" on Unix systems.
+
+
+ Full runtime dependencies of ssh-4.11: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17261 Application(s): ssl
+ Related Id(s): GH-4589
+
+ Fix CRL handling that previously could fail to find the
+ issuer cert under some circumstances.
+
+
+ OTP-17281 Application(s): ssl
+ Related Id(s): GH-4620
+
+ TLS-1.3 client could, under some circumstances, select
+ an incorrect algorithm to sign the certificate
+ verification message causing a TLS Decrypt Alert being
+ issued by the server.
+
+
+ OTP-17282 Application(s): ssl
+
+ Correct handling of default values for emulated socket
+ options and retain the order of the ssl options list to
+ ensure backwards compatible behavior if options should
+ be set more than once.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16876 Application(s): ssl
+
+ Enhance pre TLS-1.3 session handling so the client and
+ server side handling is completely separated and client
+ disregards oldest session when reaching max limit of
+ the session table.
+
+
+ OTP-16985 Application(s): ssl
+
+ This change implements the early data feature for TLS
+ 1.3 clients.
+
+ TLS 1.3 allows clients to send data in the first flight
+ using a Pre-Shared Key to authenticate the server and
+ to encrypt the early data.
+
+
+ OTP-17042 Application(s): ssl
+
+ This change implements the early data feature for TLS
+ 1.3 servers.
+
+
+ Full runtime dependencies of ssl-10.3: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.14.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.14.1 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16978 Application(s): stdlib
+
+ Handle maps in erl_parse:tokens().
+
+
+ OTP-17182 Application(s): stdlib
+ Related Id(s): PR-3002
+
+ The erlang shell function rr has been fixed to be able
+ to read records from files within a code archive.
+
+
+ OTP-17194 Application(s): stdlib, tools
+ Related Id(s): GH-4353
+
+ If beam_lib is asked to return abstract code for a BEAM
+ file produced by Elixir and Elixir is not installed on
+ the computer, beam_lib will no longer crash, but will
+ return an error tuple. The cover:compile_beam() and
+ cover:compile_beam_directory() functions have been
+ updated to also return an error tuple in that
+ situation.
+
+
+ OTP-17273 Application(s): stdlib
+
+ Correct example module erl_id_trans regarding the
+ {char, C} type.
+
+
+ Full runtime dependencies of stdlib-3.14.1: compiler-5.0, crypto-3.3,
+ erts-11.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.5 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-2.5 application can be applied independently of
+ other applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17064 Application(s): syntax_tools
+ Related Id(s): GH-4445, PR-2964
+
+ epp_dodger was unable to handle a parameterized macro
+ in a function head.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17167 Application(s): syntax_tools
+ Related Id(s): OTP-17046
+
+ All functions in erl_tidy in syntax_tools have now been
+ deprecated and are scheduled for removal in OTP 24.
+ Users who still need it can find it at
+ https://github.com/richcarl/erl_tidy.
+
+
+ Full runtime dependencies of syntax_tools-2.5: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.4.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-3.4.4 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17162 Application(s): tools
+ Related Id(s): GH-4549, PR-2997, PR-4555,
+ elixir-lang/elixir#10666
+
+ cover would crash when compiling a module having an
+ exported function named clauses.
+
+
+ OTP-17194 Application(s): stdlib, tools
+ Related Id(s): GH-4353
+
+ If beam_lib is asked to return abstract code for a BEAM
+ file produced by Elixir and Elixir is not installed on
+ the computer, beam_lib will no longer crash, but will
+ return an error tuple. The cover:compile_beam() and
+ cover:compile_beam_directory() functions have been
+ updated to also return an error tuple in that
+ situation.
+
+
+ OTP-17225 Application(s): tools
+ Related Id(s): GH-4451, PR-4542
+
+ Make emacs mode work on emacs-27.
+
+
+ Full runtime dependencies of tools-3.4.4: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-1.9.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-1.9.3 application can be applied independently of other
+ applications on a full OTP 23 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17187 Application(s): wx
+
+ Fixed wx initialization on mac, top level menus did not
+ always work on newer MacOS versions. The menues will
+ not work until wxWidgets-3.1.5 is released and used on
+ these MacOS versions.
+
+
+ Full runtime dependencies of wx-1.9.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Abdullah Al-Shehabi, Alexander Clouter, Andrew Shymanel, Bruce Yinhe,
+ Dieter Schoen, Erwan Le Pape, Henrik Lagebrand, Jonatas Cardador,
+ José Valim, Jérôme de Bretagne, Leo Liu, Maria-12648430, Mark Peek,
+ Maxim Fedorov, Mikael Pettersson, Niklas Åholm, Péter Gömöri, Radek
+ Szymczyszyn, Robert Gionea, Sebastian Smyczyński, Sergei Trofimovich,
+ Simon Cornish, Stavros Aronis, Steve Vinoski, Tyler Stromberg,
+ dong50252409, ergl, tehprofessor
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0-rc1.README.txt b/release-notes/OTP-24.0-rc1.README.txt
new file mode 100644
index 0000000..9aa2250
--- /dev/null
+++ b/release-notes/OTP-24.0-rc1.README.txt
@@ -0,0 +1,2658 @@
+Inital Release: OTP 24.0
+Git Tag: OTP-24.0
+Date: 2021-02-24
+Trouble Report Id: OTP-10391, OTP-13126, OTP-14485, OTP-14601,
+ OTP-14646, OTP-14647, OTP-14650, OTP-14700,
+ OTP-14793, OTP-15107, OTP-15523, OTP-16334,
+ OTP-16517, OTP-16560, OTP-16607, OTP-16611,
+ OTP-16653, OTP-16656, OTP-16678, OTP-16686,
+ OTP-16687, OTP-16698, OTP-16703, OTP-16706,
+ OTP-16712, OTP-16718, OTP-16720, OTP-16722,
+ OTP-16723, OTP-16724, OTP-16725, OTP-16749,
+ OTP-16750, OTP-16788, OTP-16793, OTP-16800,
+ OTP-16809, OTP-16811, OTP-16814, OTP-16822,
+ OTP-16824, OTP-16865, OTP-16867, OTP-16877,
+ OTP-16878, OTP-16879, OTP-16880, OTP-16881,
+ OTP-16882, OTP-16883, OTP-16884, OTP-16885,
+ OTP-16898, OTP-16905, OTP-16910, OTP-16926,
+ OTP-16936, OTP-16940, OTP-16943, OTP-16944,
+ OTP-16945, OTP-16947, OTP-16949, OTP-16950,
+ OTP-16952, OTP-16957, OTP-16963, OTP-16964,
+ OTP-16968, OTP-16970, OTP-16971, OTP-16974,
+ OTP-16980, OTP-16981, OTP-16986, OTP-16987,
+ OTP-16995, OTP-17001, OTP-17005, OTP-17007,
+ OTP-17014, OTP-17015, OTP-17020, OTP-17023,
+ OTP-17024, OTP-17028, OTP-17044, OTP-17049,
+ OTP-17051, OTP-17057, OTP-17059, OTP-17077,
+ OTP-17078, OTP-17084, OTP-17092, OTP-17095,
+ OTP-17103, OTP-17104, OTP-17105, OTP-17106,
+ OTP-17117, OTP-17118, OTP-17120, OTP-17121,
+ OTP-17122, OTP-17123, OTP-17131, OTP-17133,
+ OTP-17140, OTP-17153, OTP-17156, OTP-17162,
+ OTP-17166, OTP-17168, OTP-17170, OTP-17171,
+ OTP-17172, OTP-17175, OTP-17177, OTP-17180,
+ OTP-17181, OTP-17183, OTP-17189, OTP-17192,
+ OTP-17198, OTP-17199, OTP-17201, OTP-17206,
+ OTP-17207, OTP-17210, OTP-17213, OTP-17214,
+ OTP-17216, OTP-17217, OTP-17219
+Seq num: ERL-1113, ERL-1281, ERL-1308, ERL-1313,
+ ERL-1332, ERL-1335, ERL-1348, ERL-1354,
+ ERL-1367, ERL-1378, ERL-1379, ERL-1380,
+ ERL-1381, ERL-1430, ERL-1431, ERL-1450,
+ ERL-1480, ERL-892, GH-4033, GH-4360, GH-4473,
+ GH-4493
+System: OTP
+Release: 24
+Application: asn1-5.1, common_test-1.19.2, compiler-8.0,
+ crypto-5.0, debugger-5.1, dialyzer-4.4,
+ edoc-1.0, eldap-1.2.9, erl_docgen-1.1,
+ erl_interface-5.0, erts-12.0, et-1.7,
+ ftp-1.1, inets-7.4, jinterface-1.12,
+ kernel-8.0, megaco-4.0, mnesia-4.18.2,
+ observer-2.9.6, odbc-2.13.3, os_mon-2.7,
+ parsetools-2.3, reltool-0.9,
+ runtime_tools-1.15.2, sasl-4.1, snmp-5.7.4,
+ ssh-4.11, ssl-10.3, stdlib-3.15,
+ syntax_tools-2.5, tools-3.5, wx-2.0,
+ xmerl-1.4
+Predecessor: OTP
+
+ Check out the git tag OTP-24.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16800 Application(s): wx
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16964 Application(s): compiler
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ Added support for wxWebView.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16560 Application(s): megaco
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-16656 Application(s): crypto
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-16811 Application(s): kernel
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16878 Application(s): erts
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16945 Application(s): erts
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ The pg2 module has been removed.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-16971 Application(s): stdlib
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16974 Application(s): ssl
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-16987 Application(s): erts
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17156 Application(s): kernel
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of asn1-5.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.19.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16940 Application(s): common_test
+ Related Id(s): ERL-1335
+
+ The option release_shell could crash when used together
+ with the spec option.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of common_test-1.19.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17104 Application(s): compiler
+ Related Id(s): ERL-1380
+
+ A repeated stack trace variable in a try/catch was not
+ rejected. The following example will now cause a
+ compilation error:
+
+ try E catch _:A:A -> A end.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17206 Application(s): compiler
+
+ When the makedep option was given, the compiler would
+ crash if the dependency output contained non-latin1
+ characters. The compiler will now output the dependency
+ information encoded in UTF-8 to avoid crashing.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10391 Application(s): compiler
+ Related Id(s): OTP-16226
+
+ Selective receive optimization will now be applied much
+ more often.
+
+ The new recv_opt_info compile flag can be used to print
+ diagnostics relating to this optimization.
+
+ You can read more about the selective receive
+ optimization in the Efficiency Guide.
+
+
+ OTP-16334 Application(s): compiler
+
+ erlang:throw/1 will no longer build stack traces when
+ we can prove that they will never be inspected.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ *** HIGHLIGHT ***
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16867 Application(s): compiler
+ Related Id(s): ERL-1354
+
+ Fixed a performance bug that made functions with lots
+ of try/after blocks slow to compile.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16964 Application(s): compiler
+
+ *** HIGHLIGHT ***
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ *** HIGHLIGHT ***
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17078 Application(s): compiler
+ Related Id(s): ERL-1430, PR-2918
+
+ The previously undocumented compiler options
+ warn_missing_spec and warn_missing_spec_all are now
+ documented.
+
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ OTP-17168 Application(s): compiler
+
+ Erlang source files not encoded in utf-8 will no longer
+ be accepted by the compiler unless it contains a
+ "coding: latin-1" comment.
+
+
+ OTP-17172 Application(s): compiler
+
+ New compiler options from_abstr and no_lint have been
+ added. They are useful when implementing other
+ languages running on the BEAM.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ Full runtime dependencies of compiler-8.0: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16882 Application(s): crypto
+
+ Add /usr/local/opt/openssl to the openssl configure
+ search path. This path is where some tools on OS X
+ place openssl.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16656 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-17001 Application(s): crypto
+ Related Id(s): PR-2852
+
+ Removed installed directory priv/obj/ containing
+ superfluous object files.
+
+
+ Full runtime dependencies of crypto-5.0: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ Full runtime dependencies of debugger-5.1: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16883 Application(s): dialyzer
+
+ Some internal HiPE modules have been moved into the
+ dialyzer application so that dialyzer works when HiPE
+ is disabled.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16986 Application(s): dialyzer
+ Related Id(s): ERL-1379, ERL-1480, GH-4033
+
+ Add warning option no_underspecs.
+
+
+ OTP-16995 Application(s): dialyzer
+ Related Id(s): ERL-1348
+
+ Report filename and location for warnings returned due
+ to the -Wunknown option. When used from the
+ command-line, one location per file is printed.
+
+
+ OTP-17084 Application(s): dialyzer
+
+ Add types and specifications for documentation.
+
+
+ OTP-17177 Application(s): dialyzer
+ Related Id(s): OTP-16824
+
+ Add option error_location. The option is recognized if
+ included in the environment variable
+ ERL_COMPILER_OPTIONS.
+
+
+ OTP-17183 Application(s): dialyzer
+ Related Id(s): ERL-892, GH-4493
+
+ Clarify how to declare records used in match patterns.
+
+
+ Full runtime dependencies of dialyzer-4.4: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17092 Application(s): edoc
+
+ Fix so that the edoc_doclet option file_suffix also
+ effects the links emitted into the module index.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-17095 Application(s): edoc
+ Related Id(s): PR-2914
+
+ Edoc has been updated to use -spec to document its own
+ interface instead of @doc@ tags.
+
+ Together with this change the inter-application linking
+ for -spec style documentation has been improved.
+
+
+ OTP-17153 Application(s): edoc
+ Related Id(s): PR-2674
+
+ Allow user defined edoc macros to be functions.
+
+
+ Full runtime dependencies of edoc-1.0: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17166 Application(s): eldap
+ Related Id(s): PR-2904
+
+ Add ability to specify size limit on ldap requests
+
+
+ Full runtime dependencies of eldap-1.2.9: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16877 Application(s): erl_docgen
+
+ Add support for displaying .svg images.
+
+
+ OTP-17192 Application(s): erl_docgen
+ Related Id(s): PR-2803
+
+ Updated the way specs are generated after changes in
+ edoc.
+
+
+ Full runtime dependencies of erl_docgen-1.1: edoc-1.0, erts-9.0,
+ stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16822 Application(s): erts
+ Related Id(s): PR-2723
+
+ file:open/2 now throws an badarg error when opened with
+ both the ram and raw options.
+
+
+ OTP-16879 Application(s): erts
+
+ The estone benchmark has been updated to better reflect
+ changes in the compiler and run-time system.
+
+
+ OTP-16880 Application(s): erts
+
+ Fix profile guided optimization of run-time system when
+ using GCC 7 or later.
+
+
+ OTP-16884 Application(s): erts
+
+ Fix double close of fd when creating crash dump.
+
+
+ OTP-17014 Application(s): erts
+
+ Improve erl error message when unable to open included
+ args_file.
+
+
+ OTP-17020 Application(s): erts
+
+ Remove warning text about the -- operation from
+ documentation
+
+ The -- operation was optimized in Erlang/OTP 22 so that
+ its worst case complexity is O(N*log(N)), where N is
+ the total size of the input lists. Therefore, the
+ warning in the documentation saying that the time
+ complexity is proportional to length(A)*length(B) is
+ incorrect and is no longer needed. Notice that
+ Erlang/OTP 21 will no longer be supported when
+ Erlang/OTP 24 gets released.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17131 Application(s): erts
+ Related Id(s): GH-4360, PR-3031
+
+ Windows process erl.exe killed if its service process
+ erlsrv.exe terminates.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16653 Application(s): erts
+
+ The deprecated function erlang:get_stacktrace/0 has
+ been removed. Use the new syntax in try/catch to
+ retrieve the stack backtrace.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16687 Application(s): erts
+ Related Id(s): PR-2762, PR-2996
+
+ The erlang module documentation has been updated to
+ improve clarity and description of edge cases.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16712 Application(s): erts
+
+ Improve code generation when creating funs by adding a
+ new beam instruction make_fun3 that does not do GC and
+ allows for better register allocation.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16788 Application(s): erts
+
+ Remove old unused +MYm and ERL_MALLOC_LIB options.
+
+
+ OTP-16814 Application(s): erts
+ Related Id(s): PR-2704
+
+ Increase timer resolution on windows.
+
+
+ OTP-16878 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16881 Application(s): erts
+
+ Add support in the Erlang/OTP build system to generate
+ a compilation database that can be used by third-party
+ tools (such as irony in Emacs) to compile the erts C
+ and C++ source code. Create the database using make
+ compdb.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ *** HIGHLIGHT ***
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16898 Application(s): erts
+ Related Id(s): OTP-16856
+
+ By default all ERTS internal memory allocators based on
+ alloc_util will now use their own separate carrier pool
+ for migration of carriers instead of using a node
+ global carrier pool. This was the default behavior
+ between OTP 17 and OTP 21, but changed to use a node
+ global carrier pool as of OTP 22.0. Usage of the node
+ global carrier pool proved troublesome since it had a
+ tendency to spread long lived blocks into allocators
+ with normally short lived blocks causing increased
+ memory fragmentation. The node global carrier pool
+ behavior as well as other behaviors can be configured
+ using the +M<S>cp command line argument.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16945 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the the
+ digit that may have been rounded always appears last or
+ just before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-16987 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17028 Application(s): erts
+
+ One can now pass the ERL_ROOTDIR environment variable
+ to the erl and start scrips. This makes it easier to
+ use Erlang for Android apps. On Andorid, apps don't
+ control where they will be installed.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ Full runtime dependencies of erts-12.0: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- et-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of et-1.7: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16926 Application(s): ftp
+ Related Id(s): ERL-1450, GH-4473
+
+ Use OTP supervisor as intended, avoiding surprising
+ behavior as the killing of the user's process. Also,
+ FTP state handling logic is improved to avoid race
+ conditions that could result in unexpected errors.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ *** HIGHLIGHT ***
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ Full runtime dependencies of ftp-1.1: erts-7.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16722 Application(s): inets
+
+ Drop all support for ftp and tftp in inets code.
+
+
+ OTP-16723 Application(s): inets
+
+ Deprecate following functions in httpd_util module:
+ flatlength/1, lhexlist_to_integer/1,
+ integer_to_hexlist/1, strip/1, and suffix/1.
+
+
+ OTP-16724 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpd.
+
+
+ OTP-16725 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpc.
+
+
+ Full runtime dependencies of inets-7.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.12 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17170 Application(s): jinterface
+ Related Id(s): PR-3005
+
+ Make OtpErlangExternalFun's fields module, function and
+ arity public.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14700 Application(s): kernel
+ Related Id(s): PR-2848
+
+ A bug has been fixed for the internal inet_res resolver
+ cache that handled a resolver configuration file status
+ timer incorrectly and caused performance problems due
+ to many unnecessary file system accesses.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13126 Application(s): kernel
+ Related Id(s): PR-3041
+
+ The cache used by the DNS resolver inet_res has been
+ improved to use ETS lookups instead of server calls.
+ This is a considerable speed improvement for cache
+ hits.
+
+
+ OTP-14485 Application(s): kernel
+ Related Id(s): PR-2891
+
+ The cache ETS table type for the internal DNS resolver
+ inet_res has been changed type changed (internally) to
+ get better speed and atomicity.
+
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16517 Application(s): kernel
+ Related Id(s): PR-2827
+
+ The DNS resolver inet_res has been updated to support
+ CAA (RFC 6844) and URI (RFC 7553) records.
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ *** HIGHLIGHT ***
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16698 Application(s): kernel
+ Related Id(s): PR-2634
+
+ The file server can now be bypassed in file:delete/1,2
+ with the raw option.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16793 Application(s): kernel
+ Related Id(s): ERL-1332, PR-2740
+
+ New function os:env/0 returns all OS environment
+ variables as a list of 2-tuples.
+
+
+ OTP-16811 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16947 Application(s): kernel
+ Related Id(s): PR-2781
+
+ Expand the spec for erl_epmd:listen_port_please/2 to
+ mirror erl_epmd:port_please/2.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The pg2 module has been removed.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17015 Application(s): kernel
+
+ Allow utf-8 binaries as parts of logger_formatter
+ template.
+
+
+ OTP-17103 Application(s): kernel
+ Related Id(s): PR-2949
+
+ Allow the shell history of an erlang node to be fetched
+ and stores using a custom callback module. See
+ shell_history configuration parameter in the kernel
+ documentation for more details.
+
+
+ OTP-17106 Application(s): kernel
+ Related Id(s): PR-2885
+
+ The simple logger (used to log events that happen
+ before kernel has been started) has been improved to
+ print prettier error messages.
+
+
+ OTP-17156 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17181 Application(s): kernel
+ Related Id(s): PR-2457
+
+ Added support in logger for setting primary metadata.
+ The primary metadata is passed as a base metadata to
+ all log events in the system. See Metadata in the
+ Logger chapter of the Kernel User's Guide for more
+ details.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17198 Application(s): kernel
+ Related Id(s): PR-2721
+
+ The Fun's passed to logger:log/2,3,4 can now return
+ metadata that will only be fetched when needed. See
+ logger:log/2,3,4 for more details.
+
+
+ OTP-17201 Application(s): kernel
+ Related Id(s): PR-4534
+
+ erpc:multicall() has been rewritten to be able to
+ utilize the newly introduced and improved
+ reference/receive optimization.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ Full runtime dependencies of kernel-8.0: erts-12.0, sasl-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16560 Application(s): megaco
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of megaco-4.0: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.18.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17217 Application(s): mnesia
+
+ Suppression of deprecation warnings has been added to
+ the source files of the Mnesia application.
+
+
+ Full runtime dependencies of mnesia-4.18.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.9.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17214 Application(s): observer
+
+ Updated gui parts to work with the new wx version.
+
+
+ Full runtime dependencies of observer-2.9.6: erts-11.0, et-1.5,
+ kernel-7.0, runtime_tools-1.8.14, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ Full runtime dependencies of odbc-2.13.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16944 Application(s): os_mon
+ Related Id(s): PR-2787
+
+ Fix disk_sup to also search the system PATH on linux
+ when looking for the df program.
+
+
+ Full runtime dependencies of os_mon-2.7: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-17023 Application(s): parsetools
+
+ Let Leex and Yecc recognize the environment variable
+ ERL_COMPILER_OPTIONS. Add Yecc option {error_location,
+ column | line}.
+
+
+ Full runtime dependencies of parsetools-2.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ Full runtime dependencies of reltool-0.9: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.15.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of runtime_tools-1.15.2: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ Full runtime dependencies of sasl-4.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.7.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of snmp-5.7.4: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.11 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16750 Application(s): ssh
+
+ Removed usage of erlang:is_port/1 from the SSH
+ implementation.
+
+
+ OTP-17051 Application(s): ssh
+
+ Internal connection setup refactoring.
+
+
+ OTP-17140 Application(s): ssh
+
+ Refactor SSH fsm into a (hopefully) more comprehensible
+ set of gen_statem callback-files.
+
+
+ Full runtime dependencies of ssh-4.11: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16974 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ *** HIGHLIGHT ***
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17117 Application(s): ssl
+ Related Id(s): PR-2933
+
+ Randomize internal {active,n} optimization when running
+ Erlang distribution over TLS to spread RAM/CPU spike
+ that may occur when starting up a big cluster.
+
+
+ Full runtime dependencies of ssl-10.3: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16865 Application(s): stdlib
+
+ Fix bugs in erl_eval concerning bitstring
+ comprehensions.
+
+
+ OTP-16905 Application(s): stdlib
+
+ File names that start with a dot (such as ".gitignore"
+ are now treated as file names and not extensions by
+ filename:extension/1 and filename:rootname/1.
+
+
+ OTP-16950 Application(s): stdlib
+ Related Id(s): ERL-1378
+
+ Fixed a bug where beam_lib:chunks/3 with the
+ allow_missing_chunks option would crash if a named
+ chunk was missing.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17133 Application(s): stdlib
+
+ On Solaris, the math:acos/1 and math:asin/1 functions
+ would not fail for arguments outside the valid domain.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14646 Application(s): stdlib
+ Related Id(s): PR-2920
+
+ In the rand module it is now possible to seed the
+ default algorithm using an algorithm alias: default.
+
+ Generating pseudo random binaries has been implemented
+ with rand:bytes/1 and rand:bytes_s/2.
+
+
+ OTP-14647 Application(s): stdlib
+ Related Id(s): PR-2910
+
+ New functions have been added to the proplists module:
+ to_map/1,2 and from_map/1.
+
+
+ OTP-14650 Application(s): stdlib
+ Related Id(s): PR-2850
+
+ New functions have been added to the queue module:
+ all/2, any/2, delete/2, delete_r/2, delete_with/2, and
+ delete_with_r/2.
+
+
+ OTP-14793 Application(s): stdlib
+ Related Id(s): PR-2791
+
+ New function have been added to the queue module:
+ fold/2 and filtermap/2.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16910 Application(s): stdlib
+ Related Id(s): PR-2771
+
+ Improved documentation about exit signals emitted when
+ a gen_server terminates.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16971 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the the
+ digit that may have been rounded always appears last or
+ just before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17024 Application(s): stdlib
+
+ Add option location to erl_parse:abstract/2.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17059 Application(s): stdlib
+ Related Id(s): PR-2864
+
+ The sets module now has an optional map-based
+ implementation, as described in EEP 50.
+
+ To use this implementation, pass the {version,2} option
+ to sets:new/1 or sets:from_list/2.
+
+
+ OTP-17120 Application(s): stdlib
+
+ Added shell_docs:supported_tags/0. This function can be
+ used to retrieve the tags currently supported by
+ shell_docs.
+
+
+ OTP-17121 Application(s): stdlib
+
+ The application/erlang+html documentation storage
+ format used by shell_docs has been updated to include
+ the tags b, strong, h4, h5 and h6.
+
+
+ OTP-17171 Application(s): stdlib
+ Related Id(s): PR-3011
+
+ Improved explanation of {continue,Continue} in
+ Module:init/1 of the gen_server documentation.
+
+
+ OTP-17175 Application(s): stdlib
+
+ The erl_eval module now accepts a map for keeping track
+ of bindings. Using an orddict for bindings will still
+ work.
+
+
+ OTP-17199 Application(s): stdlib
+ Related Id(s): PR-2658
+
+ Documented epp:scan_erl_form/1 and added
+ epp:scan_file/2.
+
+
+ OTP-17210 Application(s): stdlib
+
+ The standard floating point printing algorithm used by
+ the io and io_lib modules has been changed from the
+ algorithm described in [1] to the Ryu algorithm [2].
+ This gives a significant speed improvement for the
+ printing of most floating point numbers and a small
+ memory consumption improvement.
+
+ [1]: Robert G. Burger and R. Kent Dybvig. 1996.
+ Printing floating-point numbers quickly and accurately.
+ In Proceedings of the ACM SIGPLAN 1996 conference on
+ Programming language design and implementation (PLDI
+ '96). Association for Computing Machinery, New York,
+ NY, USA, 108–116.
+ DOI:https://doi.org/10.1145/231379.231397
+
+ [2]: Ulf Adams. 2018. Ryū: fast float-to-string
+ conversion. In Proceedings of the 39th ACM SIGPLAN
+ Conference on Programming Language Design and
+ Implementation (PLDI 2018). Association for Computing
+ Machinery, New York, NY, USA, 270–282.
+ DOI:https://doi.org/10.1145/3192366.3192369
+
+ Thanks to Thomas Depierre
+
+
+ Full runtime dependencies of stdlib-3.15: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.5 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-17180 Application(s): syntax_tools
+
+ The igor and erl_tidy modules have been the removed and
+ are now maintained by their original author Richard
+ Carlsson. They can be found at github.com/richcarl/igor
+ and github.com/richcarl/erl_tidy, respectively.
+
+
+ Full runtime dependencies of syntax_tools-2.5: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17162 Application(s): tools
+ Related Id(s): elixir-lang/elixir#10666
+
+ cover would crash when compiling a module having an
+ exported function named clauses.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of tools-3.5: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.0 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16800 Application(s): wx
+
+ *** HIGHLIGHT ***
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ *** HIGHLIGHT ***
+
+ Added support for wxWebView.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ Full runtime dependencies of wx-2.0: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of xmerl-1.4: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Alexander Clouter, Andrew Shymanel, Bruce Yinhe, Bryan Paxton, Cheng
+ Zhe, Erlend Hamberg, Filipe Cristovao, Frej Drejhammar, Henrik
+ Lagebrand, Jesper Eskilson, José Valim, Jérôme de Bretagne,
+ Linus.yuan, Luca Favatella, Luis Rascao, Luke Bakken, Maria-12648430,
+ Mariano Guerra, Mattias Hansson, Maxim Fedorov, Michał Muskała,
+ Mikael Pettersson, Paulo F. Oliveira, Philip Kuryloski, Philipp Klaus
+ Krause, Pierre Allix, Radek Szymczyszyn, Richard Carlsson, Ruud
+ Kamphuis, Stavros Aronis, Taras Halturin, Thomas Depierre, Tianon
+ Gravi, Viktor Söderqvist, Wojtek Mach, lagebr, vans163, yfractal,
+ Łukasz Niemier
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0-rc2.README.txt b/release-notes/OTP-24.0-rc2.README.txt
new file mode 100644
index 0000000..4d19031
--- /dev/null
+++ b/release-notes/OTP-24.0-rc2.README.txt
@@ -0,0 +1,2965 @@
+Inital Release: OTP 24.0
+Git Tag: OTP-24.0
+Date: 2021-03-26
+Trouble Report Id: OTP-10391, OTP-13126, OTP-14485, OTP-14601,
+ OTP-14646, OTP-14647, OTP-14650, OTP-14700,
+ OTP-14793, OTP-15107, OTP-15523, OTP-16334,
+ OTP-16517, OTP-16560, OTP-16607, OTP-16611,
+ OTP-16653, OTP-16656, OTP-16678, OTP-16686,
+ OTP-16687, OTP-16698, OTP-16703, OTP-16706,
+ OTP-16712, OTP-16718, OTP-16720, OTP-16722,
+ OTP-16723, OTP-16724, OTP-16725, OTP-16749,
+ OTP-16750, OTP-16788, OTP-16793, OTP-16800,
+ OTP-16809, OTP-16811, OTP-16814, OTP-16822,
+ OTP-16824, OTP-16865, OTP-16867, OTP-16877,
+ OTP-16878, OTP-16879, OTP-16880, OTP-16881,
+ OTP-16882, OTP-16883, OTP-16884, OTP-16885,
+ OTP-16898, OTP-16905, OTP-16910, OTP-16926,
+ OTP-16936, OTP-16940, OTP-16943, OTP-16944,
+ OTP-16945, OTP-16947, OTP-16949, OTP-16950,
+ OTP-16952, OTP-16957, OTP-16963, OTP-16964,
+ OTP-16968, OTP-16970, OTP-16971, OTP-16974,
+ OTP-16980, OTP-16981, OTP-16986, OTP-16987,
+ OTP-16995, OTP-17001, OTP-17005, OTP-17007,
+ OTP-17014, OTP-17015, OTP-17020, OTP-17023,
+ OTP-17024, OTP-17028, OTP-17044, OTP-17049,
+ OTP-17051, OTP-17057, OTP-17059, OTP-17062,
+ OTP-17077, OTP-17078, OTP-17084, OTP-17092,
+ OTP-17095, OTP-17103, OTP-17104, OTP-17105,
+ OTP-17106, OTP-17117, OTP-17118, OTP-17120,
+ OTP-17121, OTP-17122, OTP-17123, OTP-17131,
+ OTP-17133, OTP-17140, OTP-17153, OTP-17156,
+ OTP-17168, OTP-17170, OTP-17171, OTP-17172,
+ OTP-17175, OTP-17177, OTP-17180, OTP-17181,
+ OTP-17183, OTP-17189, OTP-17192, OTP-17198,
+ OTP-17199, OTP-17201, OTP-17203, OTP-17206,
+ OTP-17207, OTP-17210, OTP-17213, OTP-17214,
+ OTP-17216, OTP-17217, OTP-17219, OTP-17221,
+ OTP-17222, OTP-17226, OTP-17236, OTP-17243,
+ OTP-17257, OTP-17259, OTP-17260, OTP-17262,
+ OTP-17263, OTP-17266, OTP-17267, OTP-17270,
+ OTP-17272, OTP-17275, OTP-17276, OTP-17277,
+ OTP-17278, OTP-17284, OTP-17286, OTP-17287,
+ OTP-17288
+Seq num: ERIERL-537, ERIERL-619, ERL-1113, ERL-1281,
+ ERL-1308, ERL-1313, ERL-1332, ERL-1335,
+ ERL-1348, ERL-1354, ERL-1367, ERL-1378,
+ ERL-1379, ERL-1380, ERL-1381, ERL-1418,
+ ERL-1430, ERL-1431, ERL-1450, ERL-1480,
+ ERL-892, GH-4019, GH-4033, GH-4360, GH-4469,
+ GH-4473, GH-4493, GH-4544, GH-4588, GH-4621,
+ GH-4626
+System: OTP
+Release: 24
+Application: asn1-5.1, common_test-1.20.1, compiler-8.0,
+ crypto-5.0, debugger-5.1, dialyzer-4.4,
+ edoc-1.0, erl_docgen-1.1, erl_interface-5.0,
+ erts-12.0, et-1.7, ftp-1.1, inets-7.4,
+ jinterface-1.12, kernel-8.0, megaco-4.0,
+ mnesia-4.19.1, observer-2.9.6, odbc-2.13.4,
+ os_mon-2.7, parsetools-2.3, reltool-0.9,
+ runtime_tools-1.16.1, sasl-4.1, snmp-5.8.1,
+ ssh-4.12, ssl-10.4, stdlib-3.15,
+ syntax_tools-2.6, tftp-1.0.3, tools-3.5,
+ wx-2.0, xmerl-1.4
+Predecessor: OTP
+
+ Check out the git tag OTP-24.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16800 Application(s): wx
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16964 Application(s): compiler
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ Added support for wxWebView.
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16560 Application(s): megaco
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-16656 Application(s): crypto
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-16811 Application(s): kernel
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16878 Application(s): erts
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16945 Application(s): erts
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ The pg2 module has been removed.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-16971 Application(s): stdlib
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16974 Application(s): ssl
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-16987 Application(s): erts
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17156 Application(s): kernel
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-24.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17272 Application(s): otp
+ Related Id(s): GH-4626, PR-4627
+
+ Updated autoconf auxiliary files.
+
+
+ OTP-17278 Application(s): otp
+ Related Id(s): GH-4621
+
+ Do not allow a mandatory application to be disabled
+ using the configure switch --without-appname.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of asn1-5.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16940 Application(s): common_test
+ Related Id(s): ERL-1335
+
+ The option release_shell could crash when used together
+ with the spec option.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of common_test-1.20.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17104 Application(s): compiler
+ Related Id(s): ERL-1380
+
+ A repeated stack trace variable in a try/catch was not
+ rejected. The following example will now cause a
+ compilation error:
+
+ try E catch _:A:A -> A end.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17206 Application(s): compiler
+
+ When the makedep option was given, the compiler would
+ crash if the dependency output contained non-latin1
+ characters. The compiler will now output the dependency
+ information encoded in UTF-8 to avoid crashing.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10391 Application(s): compiler
+ Related Id(s): OTP-16226
+
+ Selective receive optimization will now be applied much
+ more often.
+
+ The new recv_opt_info compile flag can be used to print
+ diagnostics relating to this optimization.
+
+ You can read more about the selective receive
+ optimization in the Efficiency Guide.
+
+
+ OTP-16334 Application(s): compiler
+
+ erlang:throw/1 will no longer build stack traces when
+ we can prove that they will never be inspected.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ *** HIGHLIGHT ***
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16867 Application(s): compiler
+ Related Id(s): ERL-1354
+
+ Fixed a performance bug that made functions with lots
+ of try/after blocks slow to compile.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16964 Application(s): compiler
+
+ *** HIGHLIGHT ***
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ *** HIGHLIGHT ***
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17078 Application(s): compiler
+ Related Id(s): ERL-1430, PR-2918
+
+ The previously undocumented compiler options
+ warn_missing_spec and warn_missing_spec_all are now
+ documented.
+
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ OTP-17168 Application(s): compiler
+
+ Erlang source files not encoded in utf-8 will no longer
+ be accepted by the compiler unless it contains a
+ "coding: latin-1" comment.
+
+
+ OTP-17172 Application(s): compiler
+
+ New compiler options from_abstr and no_lint have been
+ added. They are useful when implementing other
+ languages running on the BEAM.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ *** HIGHLIGHT ***
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ OTP-17260 Application(s): compiler
+
+ It is now possible to disable warnings emitted from the
+ compiler's optimization passes with the new options
+ nowarn_opportunistic, nowarn_nomatch, nowarn_ignored,
+ and nowarn_failed.
+
+
+ Full runtime dependencies of compiler-8.0: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16882 Application(s): crypto
+
+ Add /usr/local/opt/openssl to the openssl configure
+ search path. This path is where some tools on OS X
+ place openssl.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16656 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-17001 Application(s): crypto
+ Related Id(s): PR-2852
+
+ Removed installed directory priv/obj/ containing
+ superfluous object files.
+
+
+ Full runtime dependencies of crypto-5.0: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ Full runtime dependencies of debugger-5.1: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16883 Application(s): dialyzer
+
+ Some internal HiPE modules have been moved into the
+ dialyzer application so that dialyzer works when HiPE
+ is disabled.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16986 Application(s): dialyzer
+ Related Id(s): ERL-1379, ERL-1480, GH-4033
+
+ Add warning option no_underspecs.
+
+
+ OTP-16995 Application(s): dialyzer
+ Related Id(s): ERL-1348
+
+ Report filename and location for warnings returned due
+ to the -Wunknown option. When used from the
+ command-line, one location per file is printed.
+
+
+ OTP-17084 Application(s): dialyzer
+
+ Add types and specifications for documentation.
+
+
+ OTP-17177 Application(s): dialyzer
+ Related Id(s): OTP-16824
+
+ Add option error_location. The option is recognized if
+ included in the environment variable
+ ERL_COMPILER_OPTIONS.
+
+
+ OTP-17183 Application(s): dialyzer
+ Related Id(s): ERL-892, GH-4493
+
+ Clarify how to declare records used in match patterns.
+
+
+ Full runtime dependencies of dialyzer-4.4: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17092 Application(s): edoc
+
+ Fix so that the edoc_doclet option file_suffix also
+ effects the links emitted into the module index.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-17095 Application(s): edoc
+ Related Id(s): PR-2914
+
+ Edoc has been updated to use -spec to document its own
+ interface instead of @doc@ tags.
+
+ Together with this change the inter-application linking
+ for -spec style documentation has been improved.
+
+
+ OTP-17153 Application(s): edoc
+ Related Id(s): PR-2674
+
+ Allow user defined edoc macros to be functions.
+
+
+ Full runtime dependencies of edoc-1.0: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17257 Application(s): erl_docgen
+
+ Fix bug where see* elements within type/name were
+ removed when generating html. Bug has been present
+ since OTP-21.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16877 Application(s): erl_docgen
+
+ Add support for displaying .svg images.
+
+
+ OTP-17192 Application(s): erl_docgen
+ Related Id(s): PR-2803
+
+ Updated the way specs are generated after changes in
+ edoc.
+
+
+ Full runtime dependencies of erl_docgen-1.1: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17270 Application(s): erl_interface
+ Related Id(s): OTP-17127
+
+ Support the new link protocol in order to be able to
+ phase out the old link protocol in the future.
+ erl_interface does not support setting up or removing
+ links from the erl_interface side, so the bug present
+ with the old protocol did not effect erl_interface.
+ This since both participants of a link simultaneously
+ needed to operate on the link in order to trigger the
+ bug.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16822 Application(s): erts
+ Related Id(s): PR-2723
+
+ file:open/2 now throws an badarg error when opened with
+ both the ram and raw options.
+
+
+ OTP-16879 Application(s): erts
+
+ The estone benchmark has been updated to better reflect
+ changes in the compiler and run-time system.
+
+
+ OTP-16880 Application(s): erts
+
+ Fix profile guided optimization of run-time system when
+ using GCC 7 or later.
+
+
+ OTP-16884 Application(s): erts
+
+ Fix double close of fd when creating crash dump.
+
+
+ OTP-17014 Application(s): erts
+
+ Improve erl error message when unable to open included
+ args_file.
+
+
+ OTP-17020 Application(s): erts
+
+ Remove warning text about the -- operation from
+ documentation
+
+ The -- operation was optimized in Erlang/OTP 22 so that
+ its worst case complexity is O(N*log(N)), where N is
+ the total size of the input lists. Therefore, the
+ warning in the documentation saying that the time
+ complexity is proportional to length(A)*length(B) is
+ incorrect and is no longer needed. Notice that
+ Erlang/OTP 21 will no longer be supported when
+ Erlang/OTP 24 gets released.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17131 Application(s): erts
+ Related Id(s): GH-4360, PR-3031
+
+ Windows process erl.exe killed if its service process
+ erlsrv.exe terminates.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16653 Application(s): erts
+
+ The deprecated function erlang:get_stacktrace/0 has
+ been removed. Use the new syntax in try/catch to
+ retrieve the stack backtrace.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16687 Application(s): erts
+ Related Id(s): PR-2762, PR-2996
+
+ The erlang module documentation has been updated to
+ improve clarity and description of edge cases.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16712 Application(s): erts
+
+ Improve code generation when creating funs by adding a
+ new beam instruction make_fun3 that does not do GC and
+ allows for better register allocation.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16788 Application(s): erts
+
+ Remove old unused +MYm and ERL_MALLOC_LIB options.
+
+
+ OTP-16814 Application(s): erts
+ Related Id(s): PR-2704
+
+ Increase timer resolution on windows.
+
+
+ OTP-16878 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16881 Application(s): erts
+
+ Add support in the Erlang/OTP build system to generate
+ a compilation database that can be used by third-party
+ tools (such as irony in Emacs) to compile the erts C
+ and C++ source code. Create the database using make
+ compdb.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ *** HIGHLIGHT ***
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16898 Application(s): erts
+ Related Id(s): OTP-16856
+
+ By default all ERTS internal memory allocators based on
+ alloc_util will now use their own separate carrier pool
+ for migration of carriers instead of using a node
+ global carrier pool. This was the default behavior
+ between OTP 17 and OTP 21, but changed to use a node
+ global carrier pool as of OTP 22.0. Usage of the node
+ global carrier pool proved troublesome since it had a
+ tendency to spread long lived blocks into allocators
+ with normally short lived blocks causing increased
+ memory fragmentation. The node global carrier pool
+ behavior as well as other behaviors can be configured
+ using the +M<S>cp command line argument.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16945 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-16987 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17028 Application(s): erts
+
+ One can now pass the ERL_ROOTDIR environment variable
+ to the erl and start scrips. This makes it easier to
+ use Erlang for Android apps. On Android, apps don't
+ control where they will be installed.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ Full runtime dependencies of erts-12.0: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- et-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of et-1.7: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16926 Application(s): ftp
+ Related Id(s): ERL-1450, GH-4473
+
+ Use OTP supervisor as intended, avoiding surprising
+ behavior as the killing of the user's process. Also,
+ FTP state handling logic is improved to avoid race
+ conditions that could result in unexpected errors.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ *** HIGHLIGHT ***
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ Full runtime dependencies of ftp-1.1: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16722 Application(s): inets
+
+ Drop all support for ftp and tftp in inets code.
+
+
+ OTP-16723 Application(s): inets
+
+ Deprecate following functions in httpd_util module:
+ flatlength/1, lhexlist_to_integer/1,
+ integer_to_hexlist/1, strip/1, and suffix/1.
+
+
+ OTP-16724 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpd.
+
+
+ OTP-16725 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpc.
+
+
+ Full runtime dependencies of inets-7.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.12 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17170 Application(s): jinterface
+ Related Id(s): PR-3005
+
+ Make OtpErlangExternalFun's fields module, function and
+ arity public.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14700 Application(s): kernel
+ Related Id(s): PR-2848
+
+ A bug has been fixed for the internal inet_res resolver
+ cache that handled a resolver configuration file status
+ timer incorrectly and caused performance problems due
+ to many unnecessary file system accesses.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17262 Application(s): kernel
+ Related Id(s): GH-4588, OTP-16487, PR-4604
+
+ inet:get_rc/0 has been corrected to return host entries
+ as separate entries instead of (incorrectly) in a list
+ within the list. This bug was introduced by OTP-16487
+ in OTP-23.0-rc1.
+
+
+ OTP-17277 Application(s): kernel
+
+ The type gen_tcp:option_name() had a duplicate
+ pktoptions value.
+
+
+ OTP-17286 Application(s): kernel
+ Related Id(s): PR-4619
+
+ Fixed removal of empty groups from internal state in
+ pg.
+
+
+ OTP-17287 Application(s): kernel
+ Related Id(s): PR-4581
+
+ erl -remsh now prints an error message when it fails to
+ connect to the remote node.
+
+
+ OTP-17288 Application(s): kernel
+ Related Id(s): PR-4581
+
+ Fix bugs related to corrupt shell history files.
+
+ Error messages printed by shell history are now logged
+ as logger error reports instead of written to standard
+ error.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13126 Application(s): kernel
+ Related Id(s): PR-3041
+
+ The cache used by the DNS resolver inet_res has been
+ improved to use ETS lookups instead of server calls.
+ This is a considerable speed improvement for cache
+ hits.
+
+
+ OTP-14485 Application(s): kernel
+ Related Id(s): PR-2891
+
+ The cache ETS table type for the internal DNS resolver
+ inet_res has changed type (internally) to get better
+ speed and atomicity.
+
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16517 Application(s): kernel
+ Related Id(s): PR-2827
+
+ The DNS resolver inet_res has been updated to support
+ CAA (RFC 6844) and URI (RFC 7553) records.
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ *** HIGHLIGHT ***
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16698 Application(s): kernel
+ Related Id(s): PR-2634
+
+ The file server can now be bypassed in file:delete/1,2
+ with the raw option.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16793 Application(s): kernel
+ Related Id(s): ERL-1332, PR-2740
+
+ New function os:env/0 returns all OS environment
+ variables as a list of 2-tuples.
+
+
+ OTP-16811 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16947 Application(s): kernel
+ Related Id(s): PR-2781
+
+ Expand the spec for erl_epmd:listen_port_please/2 to
+ mirror erl_epmd:port_please/2.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The pg2 module has been removed.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17015 Application(s): kernel
+
+ Allow utf-8 binaries as parts of logger_formatter
+ template.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17103 Application(s): kernel
+ Related Id(s): PR-2949
+
+ Allow the shell history of an erlang node to be fetched
+ and stores using a custom callback module. See
+ shell_history configuration parameter in the kernel
+ documentation for more details.
+
+
+ OTP-17106 Application(s): kernel
+ Related Id(s): PR-2885
+
+ The simple logger (used to log events that happen
+ before kernel has been started) has been improved to
+ print prettier error messages.
+
+
+ OTP-17156 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17181 Application(s): kernel
+ Related Id(s): PR-2457
+
+ Added support in logger for setting primary metadata.
+ The primary metadata is passed as a base metadata to
+ all log events in the system. See Metadata in the
+ Logger chapter of the Kernel User's Guide for more
+ details.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17198 Application(s): kernel
+ Related Id(s): PR-2721
+
+ The Fun's passed to logger:log/2,3,4 can now return
+ metadata that will only be fetched when needed. See
+ logger:log/2,3,4 for more details.
+
+
+ OTP-17201 Application(s): kernel
+ Related Id(s): PR-4534
+
+ erpc:multicall() has been rewritten to be able to
+ utilize the newly introduced and improved
+ reference/receive optimization.
+
+
+ OTP-17203 Application(s): kernel
+ Related Id(s): OTP-17156
+
+ Add utility fiunction inet:info/1 to provide
+ miscellaneous info about a socket.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17266 Application(s): kernel
+ Related Id(s): PR-4564
+
+ An option {nxdomain_reply, boolean()} has been
+ implemented in the DNS resolver inet_res. It is useful
+ since an nxdomain error from a name server does contain
+ the SOA record if the domain exists at all. This record
+ is useful to determine a TTL for negative caching of
+ the failed entry.
+
+
+ OTP-17284 Application(s): kernel
+ Related Id(s): PR-4615
+
+ Optimized lookup of local processes part of groups in
+ pg.
+
+
+ Full runtime dependencies of kernel-8.0: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16560 Application(s): megaco
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of megaco-4.0: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.19.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17217 Application(s): mnesia
+
+ Suppression of deprecation warnings has been added to
+ the source files of the Mnesia application.
+
+
+ Full runtime dependencies of mnesia-4.19.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.9.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17214 Application(s): observer
+
+ Updated gui parts to work with the new wx version.
+
+
+ Full runtime dependencies of observer-2.9.6: erts-11.0, et-1.5,
+ kernel-7.0, runtime_tools-1.8.14, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ Full runtime dependencies of odbc-2.13.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16944 Application(s): os_mon
+ Related Id(s): PR-2787
+
+ Fix disk_sup to also search the system PATH on linux
+ when looking for the df program.
+
+
+ Full runtime dependencies of os_mon-2.7: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-17023 Application(s): parsetools
+
+ Let Leex and Yecc recognize the environment variable
+ ERL_COMPILER_OPTIONS. Add Yecc option {error_location,
+ column | line}.
+
+
+ Full runtime dependencies of parsetools-2.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ Full runtime dependencies of reltool-0.9: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.16.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of runtime_tools-1.16.1: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ Full runtime dependencies of sasl-4.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.8.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of snmp-5.8.1: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16750 Application(s): ssh
+
+ Removed usage of erlang:is_port/1 from the SSH
+ implementation.
+
+
+ OTP-17051 Application(s): ssh
+
+ Internal connection setup refactoring.
+
+
+ OTP-17140 Application(s): ssh
+
+ Refactor SSH fsm into a (hopefully) more comprehensible
+ set of gen_statem callback-files.
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ Full runtime dependencies of ssh-4.12: crypto-4.6.4, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16974 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ *** HIGHLIGHT ***
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17117 Application(s): ssl
+ Related Id(s): PR-2933
+
+ Randomize internal {active,n} optimization when running
+ Erlang distribution over TLS to spread RAM/CPU spike
+ that may occur when starting up a big cluster.
+
+
+ Full runtime dependencies of ssl-10.4: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16865 Application(s): stdlib
+
+ Fix bugs in erl_eval concerning bitstring
+ comprehensions.
+
+
+ OTP-16905 Application(s): stdlib
+
+ File names that start with a dot (such as ".gitignore"
+ are now treated as file names and not extensions by
+ filename:extension/1 and filename:rootname/1.
+
+
+ OTP-16950 Application(s): stdlib
+ Related Id(s): ERL-1378
+
+ Fixed a bug where beam_lib:chunks/3 with the
+ allow_missing_chunks option would crash if a named
+ chunk was missing.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17133 Application(s): stdlib
+
+ On Solaris, the math:acos/1 and math:asin/1 functions
+ would not fail for arguments outside the valid domain.
+
+
+ OTP-17222 Application(s): stdlib
+ Related Id(s): GH-4544
+
+ Documented a deficiency in the re module regarding the
+ [:ascii:] character class matching Latin-1 characters.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14646 Application(s): stdlib
+ Related Id(s): PR-2920
+
+ In the rand module it is now possible to seed the
+ default algorithm using an algorithm alias: default.
+
+ Generating pseudo random binaries has been implemented
+ with rand:bytes/1 and rand:bytes_s/2.
+
+
+ OTP-14647 Application(s): stdlib
+ Related Id(s): PR-2910
+
+ New functions have been added to the proplists module:
+ to_map/1,2 and from_map/1.
+
+
+ OTP-14650 Application(s): stdlib
+ Related Id(s): PR-2850
+
+ New functions have been added to the queue module:
+ all/2, any/2, delete/2, delete_r/2, delete_with/2, and
+ delete_with_r/2.
+
+
+ OTP-14793 Application(s): stdlib
+ Related Id(s): PR-2791
+
+ New function have been added to the queue module:
+ fold/2 and filtermap/2.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16910 Application(s): stdlib
+ Related Id(s): PR-2771
+
+ Improved documentation about exit signals emitted when
+ a gen_server terminates.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16971 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17024 Application(s): stdlib
+
+ Add option location to erl_parse:abstract/2.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17059 Application(s): stdlib
+ Related Id(s): PR-2864
+
+ The sets module now has an optional map-based
+ implementation, as described in EEP 50.
+
+ To use this implementation, pass the {version,2} option
+ to sets:new/1 or sets:from_list/2.
+
+
+ OTP-17120 Application(s): stdlib
+
+ Added shell_docs:supported_tags/0. This function can be
+ used to retrieve the tags currently supported by
+ shell_docs.
+
+
+ OTP-17121 Application(s): stdlib
+
+ The application/erlang+html documentation storage
+ format used by shell_docs has been updated to include
+ the tags b, strong, h4, h5 and h6.
+
+
+ OTP-17171 Application(s): stdlib
+ Related Id(s): PR-3011
+
+ Improved explanation of {continue,Continue} in
+ Module:init/1 of the gen_server documentation.
+
+
+ OTP-17175 Application(s): stdlib
+
+ The erl_eval module now accepts a map for keeping track
+ of bindings. Using an orddict for bindings will still
+ work.
+
+
+ OTP-17199 Application(s): stdlib
+ Related Id(s): PR-2658
+
+ Documented epp:scan_erl_form/1 and added
+ epp:scan_file/2.
+
+
+ OTP-17210 Application(s): stdlib
+
+ The standard floating point printing algorithm used by
+ the io and io_lib modules has been changed from the
+ algorithm described in [1] to the Ryu algorithm [2].
+ This gives a significant speed improvement for the
+ printing of most floating point numbers and a small
+ memory consumption improvement.
+
+ [1]: Robert G. Burger and R. Kent Dybvig. 1996.
+ Printing floating-point numbers quickly and accurately.
+ In Proceedings of the ACM SIGPLAN 1996 conference on
+ Programming language design and implementation (PLDI
+ '96). Association for Computing Machinery, New York,
+ NY, USA, 108–116.
+ DOI:https://doi.org/10.1145/231379.231397
+
+ [2]: Ulf Adams. 2018. Ryū: fast float-to-string
+ conversion. In Proceedings of the 39th ACM SIGPLAN
+ Conference on Programming Language Design and
+ Implementation (PLDI 2018). Association for Computing
+ Machinery, New York, NY, USA, 270–282.
+ DOI:https://doi.org/10.1145/3192366.3192369
+
+ Thanks to Thomas Depierre
+
+
+ OTP-17236 Application(s): stdlib
+ Related Id(s): PR-3014
+
+ Add hex encoding and decoding functions in the binary
+ module.
+
+
+ OTP-17263 Application(s): stdlib
+
+ The undocumented and partially broken ets:filter/3
+ function has been removed.
+
+
+ OTP-17267 Application(s): stdlib
+
+ Add support in shell_docs to display any "text"
+ documentation format. This means that h(Module) in the
+ shell now can display the "text/markdown" of Elixir
+ documentation.
+
+
+ OTP-17276 Application(s): stdlib
+ Related Id(s): PR-2979
+
+ The internal hashing of keys within ETS tables of types
+ set, bag, duplicate_bag has been salted to diverge from
+ erlang:phash2. This to avoid bad hashing if phash2 is
+ used to distribute the keys over separate tables/nodes.
+
+
+ Full runtime dependencies of stdlib-3.15: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.6 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-17180 Application(s): syntax_tools
+
+ The igor and erl_tidy modules have been the removed and
+ are now maintained by their original author Richard
+ Carlsson. They can be found at github.com/richcarl/igor
+ and github.com/richcarl/erl_tidy, respectively.
+
+
+ Full runtime dependencies of syntax_tools-2.6: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ Full runtime dependencies of tftp-1.0.3: erts-6.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17221 Application(s): tools
+ Related Id(s): PR-4547
+
+ For cover-compiled code, the error behaviour of list
+ and binary comprehensions that used andalso/orelse in
+ guards could be changed so that a filter that was
+ supposed be evaluated in guard context was evaluated in
+ body context. That is, there was a possibility that
+ comprehensions that did not raise exceptions could
+ raise exceptions when being run using cover.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of tools-3.5: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.0 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16800 Application(s): wx
+
+ *** HIGHLIGHT ***
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ *** HIGHLIGHT ***
+
+ Added support for wxWebView.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ Full runtime dependencies of wx-2.0: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of xmerl-1.4: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Alexander Clouter, Andreas Schultz, Bryan Paxton, Cheng Zhe, Dominic
+ Letz, Erlend Hamberg, Filipe Cristovao, Frej Drejhammar, Henrik
+ Lagebrand, Jesper Eskilson, Jonathan Klabunde Tomer, José Valim,
+ Jérôme de Bretagne, Linus.yuan, Luca Favatella, Luis Rascao, Luke
+ Bakken, Maria-12648430, Mariano Guerra, Mattias Hansson, Max
+ Nordlund, Maxim Fedorov, Michał Muskała, Mikael Pettersson, Nalin
+ Ranjan, Nico Piderman, Oskar, Paulo F. Oliveira, Philip Kuryloski,
+ Philipp Klaus Krause, Pierre Allix, Radek Szymczyszyn, Richard
+ Carlsson, Ruud Kamphuis, Stavros Aronis, Taras Halturin, Thomas
+ Depierre, Tianon Gravi, Tony Rogvall, Viktor Söderqvist, Wojtek Mach,
+ Zeyu Zhang, ergl, gearnode, ilya-klyuchnikov, lagebr, vans163,
+ yfractal, Łukasz Niemier
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0-rc3.README.txt b/release-notes/OTP-24.0-rc3.README.txt
new file mode 100644
index 0000000..f20b91f
--- /dev/null
+++ b/release-notes/OTP-24.0-rc3.README.txt
@@ -0,0 +1,3215 @@
+Inital Release: OTP 24.0
+Git Tag: OTP-24.0
+Date: 2021-04-21
+Trouble Report Id: OTP-10391, OTP-13126, OTP-14485, OTP-14601,
+ OTP-14646, OTP-14647, OTP-14650, OTP-14700,
+ OTP-14793, OTP-15107, OTP-15523, OTP-16334,
+ OTP-16517, OTP-16560, OTP-16607, OTP-16611,
+ OTP-16653, OTP-16656, OTP-16678, OTP-16686,
+ OTP-16687, OTP-16698, OTP-16703, OTP-16706,
+ OTP-16712, OTP-16718, OTP-16720, OTP-16722,
+ OTP-16723, OTP-16724, OTP-16725, OTP-16749,
+ OTP-16750, OTP-16788, OTP-16793, OTP-16800,
+ OTP-16809, OTP-16811, OTP-16814, OTP-16822,
+ OTP-16824, OTP-16865, OTP-16867, OTP-16877,
+ OTP-16878, OTP-16879, OTP-16880, OTP-16881,
+ OTP-16882, OTP-16883, OTP-16884, OTP-16885,
+ OTP-16898, OTP-16905, OTP-16910, OTP-16926,
+ OTP-16936, OTP-16940, OTP-16943, OTP-16944,
+ OTP-16945, OTP-16947, OTP-16949, OTP-16950,
+ OTP-16952, OTP-16957, OTP-16963, OTP-16964,
+ OTP-16968, OTP-16970, OTP-16971, OTP-16974,
+ OTP-16980, OTP-16981, OTP-16986, OTP-16987,
+ OTP-16995, OTP-17001, OTP-17005, OTP-17007,
+ OTP-17014, OTP-17015, OTP-17020, OTP-17023,
+ OTP-17024, OTP-17028, OTP-17044, OTP-17049,
+ OTP-17051, OTP-17057, OTP-17059, OTP-17062,
+ OTP-17077, OTP-17078, OTP-17084, OTP-17092,
+ OTP-17095, OTP-17103, OTP-17104, OTP-17105,
+ OTP-17106, OTP-17117, OTP-17118, OTP-17120,
+ OTP-17121, OTP-17122, OTP-17123, OTP-17131,
+ OTP-17132, OTP-17133, OTP-17140, OTP-17153,
+ OTP-17156, OTP-17168, OTP-17169, OTP-17170,
+ OTP-17171, OTP-17172, OTP-17175, OTP-17177,
+ OTP-17180, OTP-17181, OTP-17183, OTP-17186,
+ OTP-17189, OTP-17192, OTP-17198, OTP-17199,
+ OTP-17201, OTP-17203, OTP-17206, OTP-17207,
+ OTP-17210, OTP-17213, OTP-17214, OTP-17216,
+ OTP-17217, OTP-17219, OTP-17221, OTP-17222,
+ OTP-17226, OTP-17236, OTP-17243, OTP-17257,
+ OTP-17259, OTP-17260, OTP-17262, OTP-17263,
+ OTP-17266, OTP-17267, OTP-17270, OTP-17272,
+ OTP-17275, OTP-17276, OTP-17277, OTP-17278,
+ OTP-17284, OTP-17285, OTP-17286, OTP-17287,
+ OTP-17288, OTP-17292, OTP-17293, OTP-17294,
+ OTP-17300, OTP-17302, OTP-17310, OTP-17312,
+ OTP-17313, OTP-17314, OTP-17315, OTP-17321,
+ OTP-17322, OTP-17327, OTP-17329, OTP-17330,
+ OTP-17334, OTP-17341, OTP-17342, OTP-17343
+Seq num: ERIERL-537, ERIERL-619, ERL-1113, ERL-1281,
+ ERL-1308, ERL-1313, ERL-1332, ERL-1335,
+ ERL-1348, ERL-1354, ERL-1367, ERL-1378,
+ ERL-1379, ERL-1380, ERL-1381, ERL-1418,
+ ERL-1430, ERL-1431, ERL-1450, ERL-1480,
+ ERL-892, GH-4019, GH-4033, GH-4360, GH-4469,
+ GH-4473, GH-4493, GH-4525, GH-4544, GH-4588,
+ GH-4621, GH-4624, GH-4626, GH-4725
+System: OTP
+Release: 24
+Application: asn1-5.1, common_test-1.20.1, compiler-8.0,
+ crypto-5.0, debugger-5.1, dialyzer-4.4,
+ edoc-1.0, erl_docgen-1.1, erl_interface-5.0,
+ erts-12.0, et-1.7, eunit-2.6.1, ftp-1.1,
+ inets-7.4, jinterface-1.12, kernel-8.0,
+ megaco-4.0, mnesia-4.19.1, observer-2.9.6,
+ odbc-2.13.4, os_mon-2.7, parsetools-2.3,
+ reltool-0.9, runtime_tools-1.16.1, sasl-4.1,
+ snmp-5.8.1, ssh-4.12, ssl-10.4, stdlib-3.15,
+ syntax_tools-2.6, tftp-1.0.3, tools-3.5,
+ wx-2.0, xmerl-1.4
+Predecessor: OTP
+
+ Check out the git tag OTP-24.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16800 Application(s): wx
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16964 Application(s): compiler
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ Added support for wxWebView.
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ OTP-17334 Application(s): stdlib
+ Related Id(s): EEP-56, PR-4638
+
+ Implementation of EEP 56 in supervisor. It adds the
+ concept of significant children as well as the
+ auto_shutdown supervisor flag.
+
+ See the supervisor manual page for more information.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16560 Application(s): megaco
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-16656 Application(s): crypto
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-16811 Application(s): kernel
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16878 Application(s): erts
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16945 Application(s): erts
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ The pg2 module has been removed.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-16971 Application(s): stdlib
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16974 Application(s): ssl
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-16987 Application(s): erts
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17156 Application(s): kernel
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-24.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17272 Application(s): otp
+ Related Id(s): GH-4626, PR-4627
+
+ Updated autoconf auxiliary files.
+
+
+ OTP-17278 Application(s): otp
+ Related Id(s): GH-4621
+
+ Do not allow a mandatory application to be disabled
+ using the configure switch --without-appname.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of asn1-5.1: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16940 Application(s): common_test
+ Related Id(s): ERL-1335
+
+ The option release_shell could crash when used together
+ with the spec option.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of common_test-1.20.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17104 Application(s): compiler
+ Related Id(s): ERL-1380
+
+ A repeated stack trace variable in a try/catch was not
+ rejected. The following example will now cause a
+ compilation error:
+
+ try E catch _:A:A -> A end.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17206 Application(s): compiler
+
+ When the makedep option was given, the compiler would
+ crash if the dependency output contained non-latin1
+ characters. The compiler will now output the dependency
+ information encoded in UTF-8 to avoid crashing.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10391 Application(s): compiler
+ Related Id(s): OTP-16226
+
+ Selective receive optimization will now be applied much
+ more often.
+
+ The new recv_opt_info compile flag can be used to print
+ diagnostics relating to this optimization.
+
+ You can read more about the selective receive
+ optimization in the Efficiency Guide.
+
+
+ OTP-16334 Application(s): compiler
+
+ erlang:throw/1 will no longer build stack traces when
+ we can prove that they will never be inspected.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ *** HIGHLIGHT ***
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16867 Application(s): compiler
+ Related Id(s): ERL-1354
+
+ Fixed a performance bug that made functions with lots
+ of try/after blocks slow to compile.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16964 Application(s): compiler
+
+ *** HIGHLIGHT ***
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ *** HIGHLIGHT ***
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17078 Application(s): compiler
+ Related Id(s): ERL-1430, PR-2918
+
+ The previously undocumented compiler options
+ warn_missing_spec and warn_missing_spec_all are now
+ documented.
+
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ OTP-17168 Application(s): compiler
+
+ Erlang source files not encoded in utf-8 will no longer
+ be accepted by the compiler unless it contains a
+ "coding: latin-1" comment.
+
+
+ OTP-17172 Application(s): compiler
+
+ New compiler options from_abstr and no_lint have been
+ added. They are useful when implementing other
+ languages running on the BEAM.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ *** HIGHLIGHT ***
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ OTP-17260 Application(s): compiler
+
+ It is now possible to disable warnings emitted from the
+ compiler's optimization passes with the new options
+ nowarn_opportunistic, nowarn_nomatch, nowarn_ignored,
+ and nowarn_failed.
+
+
+ OTP-17330 Application(s): compiler, stdlib
+
+ Add compiler option {nowarn_unused_record,
+ RecordNames}. Document compiler option
+ nowarn_unused_type.
+
+
+ Full runtime dependencies of compiler-8.0: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16882 Application(s): crypto
+
+ Add /usr/local/opt/openssl to the openssl configure
+ search path. This path is where some tools on OS X
+ place openssl.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17312 Application(s): crypto
+ Related Id(s): PR-4723
+
+ The value 'none' was missing in the specs of
+ crypto:sign/4 and crypto:verify/6.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16656 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-17001 Application(s): crypto
+ Related Id(s): PR-2852
+
+ Removed installed directory priv/obj/ containing
+ superfluous object files.
+
+
+ OTP-17313 Application(s): crypto
+ Related Id(s): PR-4686
+
+ Add prop_aead attribute to map from
+ crypto:cipher_info/1.
+
+
+ Full runtime dependencies of crypto-5.0: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ Full runtime dependencies of debugger-5.1: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16883 Application(s): dialyzer
+
+ Some internal HiPE modules have been moved into the
+ dialyzer application so that dialyzer works when HiPE
+ is disabled.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16986 Application(s): dialyzer
+ Related Id(s): ERL-1379, ERL-1480, GH-4033
+
+ Add warning option no_underspecs.
+
+
+ OTP-16995 Application(s): dialyzer
+ Related Id(s): ERL-1348
+
+ Report filename and location for warnings returned due
+ to the -Wunknown option. When used from the
+ command-line, one location per file is printed.
+
+
+ OTP-17084 Application(s): dialyzer
+
+ Add types and specifications for documentation.
+
+
+ OTP-17177 Application(s): dialyzer
+ Related Id(s): OTP-16824
+
+ Add option error_location. The option is recognized if
+ included in the environment variable
+ ERL_COMPILER_OPTIONS.
+
+
+ OTP-17183 Application(s): dialyzer
+ Related Id(s): ERL-892, GH-4493
+
+ Clarify how to declare records used in match patterns.
+
+
+ Full runtime dependencies of dialyzer-4.4: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17092 Application(s): edoc
+
+ Fix so that the edoc_doclet option file_suffix also
+ effects the links emitted into the module index.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-17095 Application(s): edoc
+ Related Id(s): PR-2914
+
+ Edoc has been updated to use -spec to document its own
+ interface instead of @doc@ tags.
+
+ Together with this change the inter-application linking
+ for -spec style documentation has been improved.
+
+
+ OTP-17153 Application(s): edoc
+ Related Id(s): PR-2674
+
+ Allow user defined edoc macros to be functions.
+
+
+ Full runtime dependencies of edoc-1.0: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17257 Application(s): erl_docgen
+
+ Fix bug where see* elements within type/name were
+ removed when generating html. Bug has been present
+ since OTP-21.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16877 Application(s): erl_docgen
+
+ Add support for displaying .svg images.
+
+
+ OTP-17192 Application(s): erl_docgen
+ Related Id(s): PR-2803
+
+ Updated the way specs are generated after changes in
+ edoc.
+
+
+ Full runtime dependencies of erl_docgen-1.1: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17132 Application(s): erl_interface, kernel
+
+ Two options have been added to erl_call. The
+ -fetch_stdout option fetches stdout data resulting from
+ the code invoked by erl_call. The -fetch_stdout option
+ disables printing of the result term. In order to
+ implement the first of these two options a new function
+ called ei_xrpc_from has been added to erl_interface.
+ For details see the erl_call documentation and
+ erl_interface documentation.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17270 Application(s): erl_interface
+ Related Id(s): OTP-17127
+
+ Support the new link protocol in order to be able to
+ phase out the old link protocol in the future.
+ erl_interface does not support setting up or removing
+ links from the erl_interface side, so the bug present
+ with the old protocol did not effect erl_interface.
+ This since both participants of a link simultaneously
+ needed to operate on the link in order to trigger the
+ bug.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16822 Application(s): erts
+ Related Id(s): PR-2723
+
+ file:open/2 now throws an badarg error when opened with
+ both the ram and raw options.
+
+
+ OTP-16879 Application(s): erts
+
+ The estone benchmark has been updated to better reflect
+ changes in the compiler and run-time system.
+
+
+ OTP-16880 Application(s): erts
+
+ Fix profile guided optimization of run-time system when
+ using GCC 7 or later.
+
+
+ OTP-16884 Application(s): erts
+
+ Fix double close of fd when creating crash dump.
+
+
+ OTP-17014 Application(s): erts
+
+ Improve erl error message when unable to open included
+ args_file.
+
+
+ OTP-17020 Application(s): erts
+
+ Remove warning text about the -- operation from
+ documentation
+
+ The -- operation was optimized in Erlang/OTP 22 so that
+ its worst case complexity is O(N*log(N)), where N is
+ the total size of the input lists. Therefore, the
+ warning in the documentation saying that the time
+ complexity is proportional to length(A)*length(B) is
+ incorrect and is no longer needed. Notice that
+ Erlang/OTP 21 will no longer be supported when
+ Erlang/OTP 24 gets released.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17131 Application(s): erts
+ Related Id(s): GH-4360, PR-3031
+
+ Windows process erl.exe killed if its service process
+ erlsrv.exe terminates.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ OTP-17314 Application(s): erts
+ Related Id(s): GH-4624, OTP-15926, PR-
+
+ Add check to make sure that when passing an option to
+ erl that requires an argument, but none is given, we
+ report an error. This fixes a bug introduced in
+ OTP-22.1 via OTP-15926.
+
+
+ OTP-17329 Application(s): erts
+ Related Id(s): PR-4730
+
+ The "Last calls" section in crash dumps have been
+ updated to print newlines after each non-function
+ save_calls state (send, receive, timeout).
+
+
+ --- Improvements and New Features ---
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16653 Application(s): erts
+
+ The deprecated function erlang:get_stacktrace/0 has
+ been removed. Use the new syntax in try/catch to
+ retrieve the stack backtrace.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16687 Application(s): erts
+ Related Id(s): PR-2762, PR-2996
+
+ The erlang module documentation has been updated to
+ improve clarity and description of edge cases.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16712 Application(s): erts
+
+ Improve code generation when creating funs by adding a
+ new beam instruction make_fun3 that does not do GC and
+ allows for better register allocation.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16788 Application(s): erts
+
+ Remove old unused +MYm and ERL_MALLOC_LIB options.
+
+
+ OTP-16814 Application(s): erts
+ Related Id(s): PR-2704
+
+ Increase timer resolution on windows.
+
+
+ OTP-16878 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16881 Application(s): erts
+
+ Add support in the Erlang/OTP build system to generate
+ a compilation database that can be used by third-party
+ tools (such as irony in Emacs) to compile the erts C
+ and C++ source code. Create the database using make
+ compdb.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ *** HIGHLIGHT ***
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16898 Application(s): erts
+ Related Id(s): OTP-16856
+
+ By default all ERTS internal memory allocators based on
+ alloc_util will now use their own separate carrier pool
+ for migration of carriers instead of using a node
+ global carrier pool. This was the default behavior
+ between OTP 17 and OTP 21, but changed to use a node
+ global carrier pool as of OTP 22.0. Usage of the node
+ global carrier pool proved troublesome since it had a
+ tendency to spread long lived blocks into allocators
+ with normally short lived blocks causing increased
+ memory fragmentation. The node global carrier pool
+ behavior as well as other behaviors can be configured
+ using the +M<S>cp command line argument.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16945 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-16987 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17028 Application(s): erts
+
+ One can now pass the ERL_ROOTDIR environment variable
+ to the erl and start scrips. This makes it easier to
+ use Erlang for Android apps. On Android, apps don't
+ control where they will be installed.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ OTP-17285 Application(s): erts
+ Related Id(s): PR-4651
+
+ Add process_flag(fullsweep_after, N) to change
+ fullsweep_after value in an already spawned process.
+
+
+ OTP-17293 Application(s): erts
+ Related Id(s): PR-4672
+
+ The max_heap_size error report has been updated to
+ include the message queue size.
+
+
+ OTP-17310 Application(s): erts
+ Related Id(s): PR-4656
+
+ Optimize updates of large maps with identical keys and
+ values. E.g. in the example below the original Map will
+ be reused as the return of the second update.
+
+ 1> Map = LargeMap#{ a => b }.
+
+ 2> Map#{ a := b }.
+
+ The same optimization was done for small maps (< 33
+ keys) in erts-10.4 (OTP 22.0).
+
+
+ OTP-17341 Application(s): erts
+ Related Id(s): PR-2945
+
+ The previously undocumented internal -no_epmd option
+ has been made documented and public.
+
+
+ Full runtime dependencies of erts-12.0: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- et-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of et-1.7: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.6.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17300 Application(s): eunit
+ Related Id(s): PR-4695
+
+ The eunit_surefire report handler has been updated to
+ automatically create the directories needed to store
+ the surefire xml file.
+
+
+ Full runtime dependencies of eunit-2.6.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16926 Application(s): ftp
+ Related Id(s): ERL-1450, GH-4473
+
+ Use OTP supervisor as intended, avoiding surprising
+ behavior as the killing of the user's process. Also,
+ FTP state handling logic is improved to avoid race
+ conditions that could result in unexpected errors.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ *** HIGHLIGHT ***
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ Full runtime dependencies of ftp-1.1: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16722 Application(s): inets
+
+ Drop all support for ftp and tftp in inets code.
+
+
+ OTP-16723 Application(s): inets
+
+ Deprecate following functions in httpd_util module:
+ flatlength/1, lhexlist_to_integer/1,
+ integer_to_hexlist/1, strip/1, and suffix/1.
+
+
+ OTP-16724 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpd.
+
+
+ OTP-16725 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpc.
+
+
+ Full runtime dependencies of inets-7.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.12 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17170 Application(s): jinterface
+ Related Id(s): PR-3005
+
+ Make OtpErlangExternalFun's fields module, function and
+ arity public.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14700 Application(s): kernel
+ Related Id(s): PR-2848
+
+ A bug has been fixed for the internal inet_res resolver
+ cache that handled a resolver configuration file status
+ timer incorrectly and caused performance problems due
+ to many unnecessary file system accesses.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-17132 Application(s): erl_interface, kernel
+
+ Two options have been added to erl_call. The
+ -fetch_stdout option fetches stdout data resulting from
+ the code invoked by erl_call. The -fetch_stdout option
+ disables printing of the result term. In order to
+ implement the first of these two options a new function
+ called ei_xrpc_from has been added to erl_interface.
+ For details see the erl_call documentation and
+ erl_interface documentation.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17262 Application(s): kernel
+ Related Id(s): GH-4588, OTP-16487, PR-4604
+
+ inet:get_rc/0 has been corrected to return host entries
+ as separate entries instead of (incorrectly) in a list
+ within the list. This bug was introduced by OTP-16487
+ in OTP-23.0-rc1.
+
+
+ OTP-17277 Application(s): kernel
+
+ The type gen_tcp:option_name() had a duplicate
+ pktoptions value.
+
+
+ OTP-17286 Application(s): kernel
+ Related Id(s): PR-4619
+
+ Fixed removal of empty groups from internal state in
+ pg.
+
+
+ OTP-17287 Application(s): kernel
+ Related Id(s): PR-4581
+
+ erl -remsh now prints an error message when it fails to
+ connect to the remote node.
+
+
+ OTP-17288 Application(s): kernel
+ Related Id(s): PR-4581
+
+ Fix bugs related to corrupt shell history files.
+
+ Error messages printed by shell history are now logged
+ as logger error reports instead of written to standard
+ error.
+
+
+ OTP-17315 Application(s): kernel
+ Related Id(s): GH-4626
+
+ A logger warning is now issues when too many arguments
+ are given to -name or -sname. Example: erl -name a b.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13126 Application(s): kernel
+ Related Id(s): PR-3041
+
+ The cache used by the DNS resolver inet_res has been
+ improved to use ETS lookups instead of server calls.
+ This is a considerable speed improvement for cache
+ hits.
+
+
+ OTP-14485 Application(s): kernel
+ Related Id(s): PR-2891
+
+ The cache ETS table type for the internal DNS resolver
+ inet_res has changed type (internally) to get better
+ speed and atomicity.
+
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16517 Application(s): kernel
+ Related Id(s): PR-2827
+
+ The DNS resolver inet_res has been updated to support
+ CAA (RFC 6844) and URI (RFC 7553) records.
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ *** HIGHLIGHT ***
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16698 Application(s): kernel
+ Related Id(s): PR-2634
+
+ The file server can now be bypassed in file:delete/1,2
+ with the raw option.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16793 Application(s): kernel
+ Related Id(s): ERL-1332, PR-2740
+
+ New function os:env/0 returns all OS environment
+ variables as a list of 2-tuples.
+
+
+ OTP-16811 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16947 Application(s): kernel
+ Related Id(s): PR-2781
+
+ Expand the spec for erl_epmd:listen_port_please/2 to
+ mirror erl_epmd:port_please/2.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The pg2 module has been removed.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17015 Application(s): kernel
+
+ Allow utf-8 binaries as parts of logger_formatter
+ template.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17103 Application(s): kernel
+ Related Id(s): PR-2949
+
+ Allow the shell history of an erlang node to be fetched
+ and stores using a custom callback module. See
+ shell_history configuration parameter in the kernel
+ documentation for more details.
+
+
+ OTP-17106 Application(s): kernel
+ Related Id(s): PR-2885
+
+ The simple logger (used to log events that happen
+ before kernel has been started) has been improved to
+ print prettier error messages.
+
+
+ OTP-17156 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17181 Application(s): kernel
+ Related Id(s): PR-2457
+
+ Added support in logger for setting primary metadata.
+ The primary metadata is passed as a base metadata to
+ all log events in the system. See Metadata in the
+ Logger chapter of the Kernel User's Guide for more
+ details.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17198 Application(s): kernel
+ Related Id(s): PR-2721
+
+ The Fun's passed to logger:log/2,3,4 can now return
+ metadata that will only be fetched when needed. See
+ logger:log/2,3,4 for more details.
+
+
+ OTP-17201 Application(s): kernel
+ Related Id(s): PR-4534
+
+ erpc:multicall() has been rewritten to be able to
+ utilize the newly introduced and improved
+ reference/receive optimization.
+
+
+ OTP-17203 Application(s): kernel
+ Related Id(s): OTP-17156
+
+ Add utility fiunction inet:info/1 to provide
+ miscellaneous info about a socket.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17266 Application(s): kernel
+ Related Id(s): PR-4564
+
+ An option {nxdomain_reply, boolean()} has been
+ implemented in the DNS resolver inet_res. It is useful
+ since an nxdomain error from a name server does contain
+ the SOA record if the domain exists at all. This record
+ is useful to determine a TTL for negative caching of
+ the failed entry.
+
+
+ OTP-17284 Application(s): kernel
+ Related Id(s): PR-4615
+
+ Optimized lookup of local processes part of groups in
+ pg.
+
+
+ Full runtime dependencies of kernel-8.0: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16560 Application(s): megaco
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of megaco-4.0: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.19.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17217 Application(s): mnesia
+
+ Suppression of deprecation warnings has been added to
+ the source files of the Mnesia application.
+
+
+ OTP-17294 Application(s): mnesia
+ Related Id(s): GH-4525, PR-4674
+
+ Fixed that the backend plugin initialization is done
+ only once.
+
+
+ Full runtime dependencies of mnesia-4.19.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.9.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17214 Application(s): observer
+
+ Updated gui parts to work with the new wx version.
+
+
+ Full runtime dependencies of observer-2.9.6: erts-11.0, et-1.5,
+ kernel-7.0, runtime_tools-1.8.14, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ Full runtime dependencies of odbc-2.13.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16944 Application(s): os_mon
+ Related Id(s): PR-2787
+
+ Fix disk_sup to also search the system PATH on linux
+ when looking for the df program.
+
+
+ Full runtime dependencies of os_mon-2.7: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-17023 Application(s): parsetools
+
+ Let Leex and Yecc recognize the environment variable
+ ERL_COMPILER_OPTIONS. Add Yecc option {error_location,
+ column | line}.
+
+
+ Full runtime dependencies of parsetools-2.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17292 Application(s): reltool, sasl
+ Related Id(s): PR-4684, PR-4685
+
+ Removed timestamps from files generated by sasl and
+ reltool to enable deterministic builds.
+
+
+ Full runtime dependencies of reltool-0.9: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.16.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of runtime_tools-1.16.1: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17292 Application(s): reltool, sasl
+ Related Id(s): PR-4684, PR-4685
+
+ Removed timestamps from files generated by sasl and
+ reltool to enable deterministic builds.
+
+
+ Full runtime dependencies of sasl-4.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.8.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of snmp-5.8.1: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16750 Application(s): ssh
+
+ Removed usage of erlang:is_port/1 from the SSH
+ implementation.
+
+
+ OTP-17051 Application(s): ssh
+
+ Internal connection setup refactoring.
+
+
+ OTP-17140 Application(s): ssh
+
+ Refactor SSH fsm into a (hopefully) more comprehensible
+ set of gen_statem callback-files.
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ OTP-17322 Application(s): ssh
+ Related Id(s): EEP-56, OTP-17334, PR-4638
+
+ Adapt ssh supervisors to new 'significant' and
+ 'auto_shutdown' in supervisor.
+
+
+ Full runtime dependencies of ssh-4.12: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17343 Application(s): ssl
+
+ TLS handshake should fail if OCSP staple is requested
+ but missing. Note that OCSP support is still considered
+ experimental and only partially implemented.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16974 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ *** HIGHLIGHT ***
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17117 Application(s): ssl
+ Related Id(s): PR-2933
+
+ Randomize internal {active,n} optimization when running
+ Erlang distribution over TLS to spread RAM/CPU spike
+ that may occur when starting up a big cluster.
+
+
+ Full runtime dependencies of ssl-10.4: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16865 Application(s): stdlib
+
+ Fix bugs in erl_eval concerning bitstring
+ comprehensions.
+
+
+ OTP-16905 Application(s): stdlib
+
+ File names that start with a dot (such as ".gitignore"
+ are now treated as file names and not extensions by
+ filename:extension/1 and filename:rootname/1.
+
+
+ OTP-16950 Application(s): stdlib
+ Related Id(s): ERL-1378
+
+ Fixed a bug where beam_lib:chunks/3 with the
+ allow_missing_chunks option would crash if a named
+ chunk was missing.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17133 Application(s): stdlib
+
+ On Solaris, the math:acos/1 and math:asin/1 functions
+ would not fail for arguments outside the valid domain.
+
+
+ OTP-17186 Application(s): stdlib
+
+ Silence unused_record warnings when using ms_transform.
+ The parse transform ms_transform replaces records with
+ tuples, which can cause the Erlang code linter to emit
+ warnings about unused records.
+
+
+ OTP-17222 Application(s): stdlib
+ Related Id(s): GH-4544
+
+ Documented a deficiency in the re module regarding the
+ [:ascii:] character class matching Latin-1 characters.
+
+
+ OTP-17342 Application(s): stdlib
+ Related Id(s): GH-4725, PR-4726
+
+ Fixed spec of start functions in generic behaviors.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14646 Application(s): stdlib
+ Related Id(s): PR-2920
+
+ In the rand module it is now possible to seed the
+ default algorithm using an algorithm alias: default.
+
+ Generating pseudo random binaries has been implemented
+ with rand:bytes/1 and rand:bytes_s/2.
+
+
+ OTP-14647 Application(s): stdlib
+ Related Id(s): PR-2910
+
+ New functions have been added to the proplists module:
+ to_map/1,2 and from_map/1.
+
+
+ OTP-14650 Application(s): stdlib
+ Related Id(s): PR-2850
+
+ New functions have been added to the queue module:
+ all/2, any/2, delete/2, delete_r/2, delete_with/2, and
+ delete_with_r/2.
+
+
+ OTP-14793 Application(s): stdlib
+ Related Id(s): PR-2791
+
+ New function have been added to the queue module:
+ fold/2 and filtermap/2.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ Process aliases as outlined by EEP 53 has been
+ introduced. Process aliases is introduced in order to
+ provide a lightweight mechanism that can prevent late
+ replies after timeout or connection loss. For more
+ information, see EEP 53 and the documentation of the
+ new alias/1 BIF and the new options to the monitor/3
+ BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16910 Application(s): stdlib
+ Related Id(s): PR-2771
+
+ Improved documentation about exit signals emitted when
+ a gen_server terminates.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16971 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17024 Application(s): stdlib
+
+ Add option location to erl_parse:abstract/2.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17059 Application(s): stdlib
+ Related Id(s): PR-2864
+
+ The sets module now has an optional map-based
+ implementation, as described in EEP 50.
+
+ To use this implementation, pass the {version,2} option
+ to sets:new/1 or sets:from_list/2.
+
+
+ OTP-17120 Application(s): stdlib
+
+ Added shell_docs:supported_tags/0. This function can be
+ used to retrieve the tags currently supported by
+ shell_docs.
+
+
+ OTP-17121 Application(s): stdlib
+
+ The application/erlang+html documentation storage
+ format used by shell_docs has been updated to include
+ the tags b, strong, h4, h5 and h6.
+
+
+ OTP-17169 Application(s): stdlib
+ Related Id(s): PR-2584
+
+ Do not pretty-print catch expressions with unnecessary
+ parentheses. The re-write of the Erlang parser grammar
+ in PR-2584 implies that parentheses around catch
+ expressions are in many cases no longer required.
+
+
+ OTP-17171 Application(s): stdlib
+ Related Id(s): PR-3011
+
+ Improved explanation of {continue,Continue} in
+ Module:init/1 of the gen_server documentation.
+
+
+ OTP-17175 Application(s): stdlib
+
+ The erl_eval module now accepts a map for keeping track
+ of bindings. Using an orddict for bindings will still
+ work.
+
+
+ OTP-17199 Application(s): stdlib
+ Related Id(s): PR-2658
+
+ Documented epp:scan_erl_form/1 and added
+ epp:scan_file/2.
+
+
+ OTP-17210 Application(s): stdlib
+
+ The standard floating point printing algorithm used by
+ the io and io_lib modules has been changed from the
+ algorithm described in [1] to the Ryu algorithm [2].
+ This gives a significant speed improvement for the
+ printing of most floating point numbers and a small
+ memory consumption improvement.
+
+ [1]: Robert G. Burger and R. Kent Dybvig. 1996.
+ Printing floating-point numbers quickly and accurately.
+ In Proceedings of the ACM SIGPLAN 1996 conference on
+ Programming language design and implementation (PLDI
+ '96). Association for Computing Machinery, New York,
+ NY, USA, 108–116.
+ DOI:https://doi.org/10.1145/231379.231397
+
+ [2]: Ulf Adams. 2018. Ryū: fast float-to-string
+ conversion. In Proceedings of the 39th ACM SIGPLAN
+ Conference on Programming Language Design and
+ Implementation (PLDI 2018). Association for Computing
+ Machinery, New York, NY, USA, 270–282.
+ DOI:https://doi.org/10.1145/3192366.3192369
+
+ Thanks to Thomas Depierre
+
+
+ OTP-17236 Application(s): stdlib
+ Related Id(s): PR-3014
+
+ Add hex encoding and decoding functions in the binary
+ module.
+
+
+ OTP-17263 Application(s): stdlib
+
+ The undocumented and partially broken ets:filter/3
+ function has been removed.
+
+
+ OTP-17267 Application(s): stdlib
+
+ Add support in shell_docs to display any "text"
+ documentation format. This means that h(Module) in the
+ shell now can display the "text/markdown" of Elixir
+ documentation.
+
+
+ OTP-17276 Application(s): stdlib
+ Related Id(s): PR-2979
+
+ The internal hashing of keys within ETS tables of types
+ set, bag, duplicate_bag has been salted to diverge from
+ erlang:phash2. This to avoid bad hashing if phash2 is
+ used to distribute the keys over separate tables/nodes.
+
+
+ OTP-17327 Application(s): stdlib
+ Related Id(s): PR-4707
+
+ Updated to the Unicode 13.0 specification.
+
+
+ OTP-17330 Application(s): compiler, stdlib
+
+ Add compiler option {nowarn_unused_record,
+ RecordNames}. Document compiler option
+ nowarn_unused_type.
+
+
+ OTP-17334 Application(s): stdlib
+ Related Id(s): EEP-56, PR-4638
+
+ *** HIGHLIGHT ***
+
+ Implementation of EEP 56 in supervisor. It adds the
+ concept of significant children as well as the
+ auto_shutdown supervisor flag.
+
+ See the supervisor manual page for more information.
+
+
+ Full runtime dependencies of stdlib-3.15: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.6 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17302 Application(s): syntax_tools
+ Related Id(s): PR-4705
+
+ The type spec of erl_syntax:function_type/2 has been
+ fixed.
+
+
+ OTP-17321 Application(s): syntax_tools
+
+ Output parentheses around BitStringExpr when
+ pretty-printing binary comprehensions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-17180 Application(s): syntax_tools
+
+ The igor and erl_tidy modules have been the removed and
+ are now maintained by their original author Richard
+ Carlsson. They can be found at github.com/richcarl/igor
+ and github.com/richcarl/erl_tidy, respectively.
+
+
+ Full runtime dependencies of syntax_tools-2.6: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ Full runtime dependencies of tftp-1.0.3: erts-6.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17221 Application(s): tools
+ Related Id(s): PR-4547
+
+ For cover-compiled code, the error behaviour of list
+ and binary comprehensions that used andalso/orelse in
+ guards could be changed so that a filter that was
+ supposed be evaluated in guard context was evaluated in
+ body context. That is, there was a possibility that
+ comprehensions that did not raise exceptions could
+ raise exceptions when being run using cover.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of tools-3.5: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.0 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16800 Application(s): wx
+
+ *** HIGHLIGHT ***
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ *** HIGHLIGHT ***
+
+ Added support for wxWebView.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ Full runtime dependencies of wx-2.0: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17123 Application(s): asn1, compiler, et, xmerl
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ Full runtime dependencies of xmerl-1.4: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Alexander Clouter, Alexander Petrovsky, Andreas Schultz, Bryan
+ Paxton, Cheng Zhe, Dominic Letz, Eksperimental, Erlend Hamberg,
+ Filipe Cristovao, Frej Drejhammar, Henrik Lagebrand, Jesper Eskilson,
+ Jonathan Klabunde Tomer, José Valim, João Henrique Ferreira de
+ Freitas, Jérôme de Bretagne, Leo Liu, Linus.yuan, Loïc Hoguin, Luca
+ Favatella, Luis Rascao, Luke Bakken, Maria Scott, Maria-12648430,
+ Mariano Guerra, Mattias Hansson, Max Nordlund, Maxim Fedorov, Michal
+ Palka, Michal Piotrowski, Michal Slaski, Michał Muskała, Mikael
+ Pettersson, Nalin Ranjan, Nelson Vides, Nico Piderman, Oskar, Paulo
+ F. Oliveira, Philip Kuryloski, Philipp Klaus Krause, Pierre Allix,
+ Péter Gömöri, Radek Szymczyszyn, Richard Carlsson, Ruud Kamphuis,
+ Stavros Aronis, Taras Halturin, Thomas Depierre, Tianon Gravi, Tony
+ Rogvall, Ulf Wiger, Viktor Söderqvist, Wojtek Mach, Zeyu Zhang, ergl,
+ gearnode, ilya-klyuchnikov, juhlig, lagebr, vans163, yfractal, Łukasz
+ Niemier
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0.1.README.txt b/release-notes/OTP-24.0.1.README.txt
new file mode 100644
index 0000000..82021ee
--- /dev/null
+++ b/release-notes/OTP-24.0.1.README.txt
@@ -0,0 +1,249 @@
+Patch Package: OTP 24.0.1
+Git Tag: OTP-24.0.1
+Date: 2021-05-20
+Trouble Report Id: OTP-17391, OTP-17397, OTP-17398, OTP-17407,
+ OTP-17419, OTP-17420
+Seq num: GH-4810, GH-4821, GH-4834
+System: OTP
+Release: 24
+Application: common_test-1.20.4, crypto-5.0.1,
+ erl_interface-5.0.1, erts-12.0.1,
+ megaco-4.0.1, odbc-2.13.5, snmp-5.9.1,
+ ssh-4.12.1, wx-2.0.1
+Predecessor: OTP 24.0
+
+ Check out the git tag OTP-24.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-24.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17398 Application(s): otp
+ Related Id(s): GH-4821
+
+ The by autoconf generated configure scripts are now
+ commited into the git repository and will thus always
+ be available. This ensures that the scripts have been
+ generated by an autoconf version that has been tested
+ and by this preventing misconfiguration of OTP. The
+ ./otp_build autoconf build step is therefore no longer
+ necessary and will if executed only print a message and
+ then exit successfully. Currently the configure scripts
+ will be generated using the by Debian patched autoconf
+ version 2.69-11.
+
+
+ OTP-17419 Application(s): crypto, otp
+ Related Id(s): GH-4821
+
+ Fixed and documented the DED_LDFLAGS_CONFTEST
+ configuration variable in $ERL_TOP/HOWTO/INSTALL.md.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.4 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20.4 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of common_test-1.20.4: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17391 Application(s): crypto
+ Related Id(s): GH-4810
+
+ Removed a risk for coredump.
+
+
+ OTP-17419 Application(s): crypto, otp
+ Related Id(s): GH-4821
+
+ Fixed and documented the DED_LDFLAGS_CONFTEST
+ configuration variable in $ERL_TOP/HOWTO/INSTALL.md.
+
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of crypto-5.0.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.0.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.0.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of erts-12.0.1: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of megaco-4.0.1: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.13.5 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of odbc-2.13.5: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.9.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.9.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of snmp-5.9.1: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.12.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17397 Application(s): ssh
+
+ Add missing known_hosts and authorized_keys file types
+ to ssh_file:decode/2 and ssh_file:encode/2.
+
+
+ Full runtime dependencies of ssh-4.12.1: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.0.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17407 Application(s): wx
+ Related Id(s): GH-4834
+
+ Fix build problems when wxWidgets are built with
+ -enable-std.
+
+
+ OTP-17420 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, snmp, wx
+ Related Id(s): GH-4821, OTP-17398
+
+ Commit of generated configure script.
+
+
+ Full runtime dependencies of wx-2.0.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0.2.README.txt b/release-notes/OTP-24.0.2.README.txt
new file mode 100644
index 0000000..399beaf
--- /dev/null
+++ b/release-notes/OTP-24.0.2.README.txt
@@ -0,0 +1,325 @@
+Patch Package: OTP 24.0.2
+Git Tag: OTP-24.0.2
+Date: 2021-06-01
+Trouble Report Id: OTP-16033, OTP-17427, OTP-17428, OTP-17431,
+ OTP-17433, OTP-17435, OTP-17436, OTP-17437,
+ OTP-17439, OTP-17442, OTP-17448, OTP-17451,
+ OTP-17452, OTP-17459, OTP-17462
+Seq num: ERIERL-329, ERIERL-653, ERL-1414, ERL-885,
+ GH-3923, GH-4448, GH-4774, GH-4824, GH-4827,
+ GH-4838, GH-4842, GH-4849, GH-4858, GH-4859,
+ GH-4861, GH-4885, GH-4898
+System: OTP
+Release: 24
+Application: compiler-8.0.1, crypto-5.0.2,
+ erl_docgen-1.1.1, erts-12.0.2, kernel-8.0.1,
+ ssh-4.12.2, ssl-10.4.1, stdlib-3.15.1
+Predecessor: OTP 24.0.1
+
+ Check out the git tag OTP-24.0.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17428 Application(s): compiler
+ Related Id(s): GH-4859
+
+ Fixed a bug that could cause after blocks to be ignored
+ when erlang:raise/3 was used in a catch block.
+
+
+ OTP-17437 Application(s): compiler
+ Related Id(s): GH-4774, OTP-17357
+
+ Fixed a bug in the validation pass that could cause it
+ to reject valid code.
+
+
+ Full runtime dependencies of compiler-8.0.1: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17442 Application(s): crypto
+ Related Id(s): GH-4861
+
+ EC keys are now zero-padded to the expected length if
+ needed.
+
+
+ Full runtime dependencies of crypto-5.0.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.1.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.1.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17433 Application(s): erl_docgen
+ Related Id(s): GH-4849, PR-4857
+
+ Fix links generated in specs to types in other
+ applications to point to the correct place. This bug
+ was introduced in Erlang/OTP 24.0.
+
+
+ Full runtime dependencies of erl_docgen-1.1.1: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.0.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17431 Application(s): erts
+ Related Id(s): GH-4858, OTP-16718, PR-4870
+
+ Not yet handled alias-message signals in the signal
+ queue at the time when a garbage collection was
+ performed could cause a memory corruption which in turn
+ could result in a crash of the runtime system. This bug
+ was introduced in OTP 24.0.
+
+
+ OTP-17436 Application(s): erts
+ Related Id(s): PR-4875
+
+ Fixed bug when using external pids/ports in keys of big
+ maps (> 32). Could cause runtime crash. Bug exists
+ since OTP 24.0.
+
+
+ OTP-17439 Application(s): erts, kernel
+ Related Id(s): GH-4827, GH-4838, PR-4888
+
+ After a node restart with init:restart/0,1, the module
+ socket was not usable because supporting tables had
+ been cleared and not re-initialized. This has now been
+ fixed.
+
+ Handling of the "." domain as a search domain was
+ incorrect and caused a crash in the DNS resolver
+ inet_res, which has now been fixed.
+
+
+ OTP-17448 Application(s): erts
+ Related Id(s): GH-4898, OTP-17291, PR-4903
+
+ A call to port_command() could cause a scheduler to end
+ up in an eternal loop if the port was busy and the
+ calling process had incoming signals at the time of the
+ call. This bug was introduced in OTP 23.3.2 (ERTS
+ version 11.2.1), OTP 22.3.4.18 (ERTS version
+ 10.7.2.10), and OTP 21.3.8.23 (ERTS version 10.3.5.18).
+
+
+ OTP-17452 Application(s): erts, kernel
+
+ Bug fixes and code cleanup for the new socket
+ implementation, such as:
+
+ Assertions on the result of demonitoring has been added
+ in the NIF code, where appropriate.
+
+ Internal state handling for socket close in the NIF
+ code has been reviewed.
+
+ Looping over close() for EINTR in the NIF code has been
+ removed, since it is strongly discouraged on Linux and
+ Posix is not clear about if it is allowed.
+
+ The inet_backend temporary socket option for legacy
+ gen_tcp sockets has been documented.
+
+ The return value from net:getaddrinfo/2 has been
+ corrected: the protocol field is now an atom(), instead
+ of, incorrectly, list(atom()). The documentation has
+ also been corrected about this return type.
+
+ Deferred close of a socket:sendfile/* file was broken
+ and has been corrected.
+
+ Some debug code, not enabled by default, in the socket
+ NIF has been corrected to not accidentally core dump
+ for debug printouts of more or less innocent events.
+
+
+ OTP-17462 Application(s): erts
+ Related Id(s): GH-4885, OTP-17127, PR-4914
+
+ Dirty execution of a process in combination with an
+ unlink signal from a port to the process could cause
+ the signal queue of the process to enter into an
+ inconsistent state. The result of the inconsistency
+ typically caused a crash of the runtime system. This
+ bug was introduced in OTP 23.3 (ERTS version 11.2).
+
+
+ Full runtime dependencies of erts-12.0.2: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-8.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16033 Application(s): kernel
+ Related Id(s): ERIERL-329, ERL-1414, ERL-885, GH-3923,
+ GH-4448
+
+ Fix a race condition in Global.
+
+
+ OTP-17439 Application(s): erts, kernel
+ Related Id(s): GH-4827, GH-4838, PR-4888
+
+ After a node restart with init:restart/0,1, the module
+ socket was not usable because supporting tables had
+ been cleared and not re-initialized. This has now been
+ fixed.
+
+ Handling of the "." domain as a search domain was
+ incorrect and caused a crash in the DNS resolver
+ inet_res, which has now been fixed.
+
+
+ OTP-17451 Application(s): kernel
+ Related Id(s): OTP-17374
+
+ Handling of combinations of the fd option and binding
+ to an address has been corrected, especially for the
+ local address family.
+
+
+ OTP-17452 Application(s): erts, kernel
+
+ Bug fixes and code cleanup for the new socket
+ implementation, such as:
+
+ Assertions on the result of demonitoring has been added
+ in the NIF code, where appropriate.
+
+ Internal state handling for socket close in the NIF
+ code has been reviewed.
+
+ Looping over close() for EINTR in the NIF code has been
+ removed, since it is strongly discouraged on Linux and
+ Posix is not clear about if it is allowed.
+
+ The inet_backend temporary socket option for legacy
+ gen_tcp sockets has been documented.
+
+ The return value from net:getaddrinfo/2 has been
+ corrected: the protocol field is now an atom(), instead
+ of, incorrectly, list(atom()). The documentation has
+ also been corrected about this return type.
+
+ Deferred close of a socket:sendfile/* file was broken
+ and has been corrected.
+
+ Some debug code, not enabled by default, in the socket
+ NIF has been corrected to not accidentally core dump
+ for debug printouts of more or less innocent events.
+
+
+ Full runtime dependencies of kernel-8.0.1: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.12.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17427 Application(s): ssh
+
+ Avoid an extra blank line in the ssh known_hosts file
+
+
+ Full runtime dependencies of ssh-4.12.2: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.4.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.4.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17435 Application(s): ssl
+ Related Id(s): ERIERL-653
+
+ Fix cache invalidation problem for CA certs provided by
+ the cacertfile option.
+
+
+ Full runtime dependencies of ssl-10.4.1: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.15.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.15.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17459 Application(s): stdlib
+ Related Id(s): GH-4824, GH-4842
+
+ Fix a bug that could cause a loop when formatting terms
+ using the control sequences p or P and limiting the
+ output with the option chars_limit.
+
+
+ Full runtime dependencies of stdlib-3.15.1: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0.3.README.txt b/release-notes/OTP-24.0.3.README.txt
new file mode 100644
index 0000000..b7cfdf3
--- /dev/null
+++ b/release-notes/OTP-24.0.3.README.txt
@@ -0,0 +1,167 @@
+Patch Package: OTP 24.0.3
+Git Tag: OTP-24.0.3
+Date: 2021-06-28
+Trouble Report Id: OTP-17443, OTP-17468, OTP-17472, OTP-17482,
+ OTP-17489, OTP-17490, OTP-17493, OTP-17500,
+ OTP-17502
+Seq num: ERIERL-656, GH-4809, GH-4890, GH-4953
+System: OTP
+Release: 24
+Application: compiler-8.0.2, dialyzer-4.4.1, erts-12.0.3,
+ inets-7.4.1, ssh-4.12.3
+Predecessor: OTP 24.0.2
+
+ Check out the git tag OTP-24.0.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-24.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17502 Application(s): otp
+
+ A new page called "Coming Potential Incompatibilities"
+ has been added to the documentation.
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.0.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17489 Application(s): compiler
+ Related Id(s): GH-4953
+
+ A compiler optimization pass could crash when given odd
+ but legal code using throw/1.
+
+
+ Full runtime dependencies of compiler-8.0.2: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.4.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17443 Application(s): dialyzer
+ Related Id(s): GH-4890
+
+ Do not expose line number 0 in messages if there are
+ other locations to use.
+
+
+ OTP-17482 Application(s): dialyzer
+
+ In rare circumstances, Dialyzer could crash analyzing
+ code with a list comprehension whose value was ignored.
+ (Thanks to Ulf Wiger for reporting this bug.)
+
+
+ Full runtime dependencies of dialyzer-4.4.1: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.0.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17472 Application(s): erts
+ Related Id(s): PR-4932
+
+ A call to erlang:cancel_timer(_, [{info, false}]) could
+ cause the calling process to block forever in the call.
+ Note that only the synchronous version of the call
+ (that is, the async option is false) in combination
+ with the info option set to false was effected by this
+ bug.
+
+
+ OTP-17493 Application(s): erts
+
+ Microstate accounting (msacc) and os:perf_counter()
+ unintentionally used system time instead of monotonic
+ time for time measurements on a lot of systems. These
+ systems were all non x86/x86_64 systems or x86/x86_64
+ systems without a reliable and constant rdtsc
+ instruction.
+
+ The lock counting (lcnt) built runtime system also
+ unintentionally used system time instead of monotonic
+ time for time measurements on all systems.
+
+
+ OTP-17500 Application(s): erts
+ Related Id(s): GH-4809
+
+ Simultaneous calls to
+ erlang:system_flag(schedulers_online, _) could cause
+ callers to end up in a suspended state forever.
+
+
+ Full runtime dependencies of erts-12.0.3: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.4.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.4.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17490 Application(s): inets
+
+ Improved user input handling in inets/mod_esi
+ preventing unnecessary atom creation.
+
+
+ Full runtime dependencies of inets-7.4.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.12.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17468 Application(s): ssh
+ Related Id(s): ERIERL-656
+
+ Filter out sensitive data (passwords etc) from progress
+ reports and supervisor reports.
+
+
+ Full runtime dependencies of ssh-4.12.3: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0.4.README.txt b/release-notes/OTP-24.0.4.README.txt
new file mode 100644
index 0000000..69020ac
--- /dev/null
+++ b/release-notes/OTP-24.0.4.README.txt
@@ -0,0 +1,144 @@
+Patch Package: OTP 24.0.4
+Git Tag: OTP-24.0.4
+Date: 2021-07-22
+Trouble Report Id: OTP-17150, OTP-17475, OTP-17506, OTP-17509,
+ OTP-17525, OTP-17529
+Seq num: GH-4877, GH-4958, GH-5053
+System: OTP
+Release: 24
+Application: common_test-1.20.5, public_key-1.11.1,
+ ssl-10.4.2, stdlib-3.15.2
+Predecessor: OTP 24.0.3
+
+ Check out the git tag OTP-24.0.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.5 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.20.5 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17506 Application(s): common_test
+
+ An incoming NETCONF notification received before a call
+ to ct_netconfc:create_subscription/* caused the
+ connection process to fail with badarg. Unexpected
+ notifications are now logged in the same way as other
+ unexpected messages.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17509 Application(s): common_test
+
+ Add 'receiver' option to ct_netconfc
+
+ To allow a destination for incoming NETCONF
+ notifications to be specified at sessions creation.
+ Previously, a caller of create_subscription/* became
+ the destination, but RFC 5277 create-subscription is no
+ longer the only way in which NETCONF notifications can
+ be ordered.
+
+
+ Full runtime dependencies of common_test-1.20.5: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.11.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.11.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17475 Application(s): public_key, ssl
+ Related Id(s): GH-4877
+
+ Handle cross-signed root certificates when old root
+ expired as reported in GH-4877.
+
+
+ Full runtime dependencies of public_key-1.11.1: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.4.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.4.2 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.1 (first satisfied in OTP 24.0.4)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17475 Application(s): public_key, ssl
+ Related Id(s): GH-4877
+
+ Handle cross-signed root certificates when old root
+ expired as reported in GH-4877.
+
+
+ OTP-17529 Application(s): ssl
+ Related Id(s): GH-4958, PR-4979
+
+ The signature selection algorithm has been changed to
+ also verify if the client supports signatures using the
+ elliptic curve of the server's public/private key pair.
+ This change fixes #4958.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17150 Application(s): ssl
+ Related Id(s): GH-4877
+
+ Slight optimization of certificate decoding.
+
+
+ Full runtime dependencies of ssl-10.4.2: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.11.1, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.15.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.15.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17525 Application(s): stdlib
+ Related Id(s): GH-5053
+
+ Fix a bug that could cause a crash when formatting
+ tuples using the control sequences p or P and limiting
+ the output with the option chars_limit.
+
+
+ Full runtime dependencies of stdlib-3.15.2: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0.5.README.txt b/release-notes/OTP-24.0.5.README.txt
new file mode 100644
index 0000000..d0432f3
--- /dev/null
+++ b/release-notes/OTP-24.0.5.README.txt
@@ -0,0 +1,49 @@
+Patch Package: OTP 24.0.5
+Git Tag: OTP-24.0.5
+Date: 2021-07-30
+Trouble Report Id: OTP-17536
+Seq num: ERIERL-677
+System: OTP
+Release: 24
+Application: kernel-8.0.2
+Predecessor: OTP 24.0.4
+
+ Check out the git tag OTP-24.0.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- kernel-8.0.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-8.0.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17536 Application(s): kernel
+ Related Id(s): ERIERL-677, OTP-17216
+
+ For gen_tcp:connect/3,4 it is possible to specify a
+ specific source port, which should be enough to bind
+ the socket to an address with that port before
+ connecting.
+
+ Unfortunately that feature was lost in OTP-17216 that
+ made it mandatory to specify the source address to get
+ an address binding, and ignored a specified source port
+ if no source address was specified.
+
+ That bug has now been corrected.
+
+
+ Full runtime dependencies of kernel-8.0.2: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0.6.README.txt b/release-notes/OTP-24.0.6.README.txt
new file mode 100644
index 0000000..bfacc0a
--- /dev/null
+++ b/release-notes/OTP-24.0.6.README.txt
@@ -0,0 +1,76 @@
+Patch Package: OTP 24.0.6
+Git Tag: OTP-24.0.6
+Date: 2021-09-03
+Trouble Report Id: OTP-17548, OTP-17560, OTP-17568, OTP-17585,
+ OTP-17594
+Seq num: GH-5116, GH-5150
+System: OTP
+Release: 24
+Application: erts-12.0.4
+Predecessor: OTP 24.0.5
+
+ Check out the git tag OTP-24.0.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.0.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.0.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17548 Application(s): erts
+ Related Id(s): OTP-10391, PR-5078
+
+ A call to the process_info() BIF could end up hanging
+ for ever due to a bug introduced when the new selective
+ receive optimization was introduced in OTP 24.0. Note
+ that this bug only effects process_info().
+
+
+ OTP-17560 Application(s): erts
+ Related Id(s): GH-5116
+
+ Fix buffer overrun problem in the tty driver. The
+ problem happens on some platforms when using the CTRL+R
+ functionality of newshell with very long strings in the
+ history.
+
+
+ OTP-17568 Application(s): erts
+ Related Id(s): PR-4940
+
+ Fix race-condition that could cause a crash when
+ tracing scheduling or garbage collections on a process
+ that was running on a dirty scheduler.
+
+
+ OTP-17585 Application(s): erts
+ Related Id(s): GH-5150
+
+ Fix rare bug where re:run would crash/return invalid
+ results when given a subbinary as subject.
+
+ This bug has existed since Erlang/OTP 20.0.
+
+
+ OTP-17594 Application(s): erts
+
+ binary_to_term/1,2 is now more resilient against
+ corrupted binaries containing maps in the external
+ format.
+
+
+ Full runtime dependencies of erts-12.0.4: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.0.README.txt b/release-notes/OTP-24.0.README.txt
new file mode 100644
index 0000000..22d062a
--- /dev/null
+++ b/release-notes/OTP-24.0.README.txt
@@ -0,0 +1,3569 @@
+Inital Release: OTP 24.0
+Git Tag: OTP-24.0
+Date: 2021-05-12
+Trouble Report Id: OTP-10391, OTP-13126, OTP-14485, OTP-14601,
+ OTP-14646, OTP-14647, OTP-14650, OTP-14700,
+ OTP-14753, OTP-14793, OTP-15107, OTP-15523,
+ OTP-16226, OTP-16334, OTP-16517, OTP-16560,
+ OTP-16607, OTP-16611, OTP-16653, OTP-16656,
+ OTP-16678, OTP-16686, OTP-16687, OTP-16698,
+ OTP-16703, OTP-16706, OTP-16712, OTP-16718,
+ OTP-16720, OTP-16722, OTP-16723, OTP-16724,
+ OTP-16725, OTP-16749, OTP-16750, OTP-16788,
+ OTP-16793, OTP-16800, OTP-16809, OTP-16811,
+ OTP-16814, OTP-16822, OTP-16824, OTP-16865,
+ OTP-16867, OTP-16877, OTP-16878, OTP-16879,
+ OTP-16880, OTP-16881, OTP-16882, OTP-16883,
+ OTP-16884, OTP-16885, OTP-16898, OTP-16905,
+ OTP-16910, OTP-16926, OTP-16936, OTP-16940,
+ OTP-16943, OTP-16944, OTP-16945, OTP-16947,
+ OTP-16949, OTP-16950, OTP-16952, OTP-16957,
+ OTP-16963, OTP-16964, OTP-16968, OTP-16970,
+ OTP-16971, OTP-16974, OTP-16980, OTP-16981,
+ OTP-16986, OTP-16987, OTP-16995, OTP-17001,
+ OTP-17005, OTP-17007, OTP-17014, OTP-17015,
+ OTP-17020, OTP-17023, OTP-17024, OTP-17028,
+ OTP-17044, OTP-17049, OTP-17051, OTP-17057,
+ OTP-17059, OTP-17062, OTP-17077, OTP-17078,
+ OTP-17084, OTP-17092, OTP-17095, OTP-17103,
+ OTP-17104, OTP-17105, OTP-17106, OTP-17117,
+ OTP-17118, OTP-17120, OTP-17121, OTP-17122,
+ OTP-17123, OTP-17131, OTP-17132, OTP-17133,
+ OTP-17140, OTP-17142, OTP-17153, OTP-17154,
+ OTP-17155, OTP-17156, OTP-17157, OTP-17168,
+ OTP-17169, OTP-17170, OTP-17171, OTP-17172,
+ OTP-17175, OTP-17177, OTP-17180, OTP-17181,
+ OTP-17183, OTP-17186, OTP-17189, OTP-17192,
+ OTP-17198, OTP-17199, OTP-17201, OTP-17203,
+ OTP-17206, OTP-17207, OTP-17210, OTP-17213,
+ OTP-17214, OTP-17216, OTP-17217, OTP-17219,
+ OTP-17221, OTP-17222, OTP-17226, OTP-17236,
+ OTP-17243, OTP-17254, OTP-17257, OTP-17259,
+ OTP-17260, OTP-17262, OTP-17263, OTP-17266,
+ OTP-17267, OTP-17270, OTP-17272, OTP-17275,
+ OTP-17276, OTP-17277, OTP-17278, OTP-17284,
+ OTP-17285, OTP-17286, OTP-17287, OTP-17288,
+ OTP-17292, OTP-17293, OTP-17294, OTP-17300,
+ OTP-17301, OTP-17302, OTP-17310, OTP-17312,
+ OTP-17313, OTP-17314, OTP-17315, OTP-17321,
+ OTP-17322, OTP-17327, OTP-17329, OTP-17330,
+ OTP-17334, OTP-17341, OTP-17342, OTP-17343,
+ OTP-17344, OTP-17352, OTP-17353, OTP-17354,
+ OTP-17355, OTP-17364, OTP-17368, OTP-17372,
+ OTP-17373, OTP-17374, OTP-17378, OTP-17384,
+ OTP-17385, OTP-17387, OTP-17388
+Seq num: ERIERL-537, ERIERL-618, ERIERL-619, ERL-1113,
+ ERL-1281, ERL-1308, ERL-1313, ERL-1332,
+ ERL-1335, ERL-1348, ERL-1354, ERL-1367,
+ ERL-1378, ERL-1379, ERL-1380, ERL-1381,
+ ERL-1418, ERL-1430, ERL-1431, ERL-1450,
+ ERL-1480, ERL-892, GH-4019, GH-4033, GH-4230,
+ GH-4360, GH-4469, GH-4473, GH-4493, GH-4525,
+ GH-4544, GH-4588, GH-4621, GH-4624, GH-4626,
+ GH-4631, GH-4636, GH-4637, GH-4650, GH-4680,
+ GH-4725, GH-4800
+System: OTP
+Release: 24
+Application: asn1-5.0.16, common_test-1.20.3,
+ compiler-8.0, crypto-5.0, debugger-5.1,
+ dialyzer-4.4, edoc-1.0, erl_docgen-1.1,
+ erl_interface-5.0, erts-12.0, et-1.6.5,
+ eunit-2.6.1, ftp-1.1, inets-7.4,
+ jinterface-1.12, kernel-8.0, megaco-4.0,
+ mnesia-4.19.1, observer-2.9.6, odbc-2.13.4,
+ os_mon-2.7, parsetools-2.3, public_key-1.11,
+ reltool-0.9, runtime_tools-1.16.2, sasl-4.1,
+ snmp-5.9, ssh-4.12, ssl-10.4, stdlib-3.15,
+ syntax_tools-2.6, tftp-1.0.3, tools-3.5,
+ wx-2.0, xmerl-1.3.28
+Predecessor: OTP
+
+ Check out the git tag OTP-24.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-10391 Application(s): compiler
+ Related Id(s): OTP-16226
+
+ Selective receive optimization will now be applied much
+ more often.
+
+ The new recv_opt_info compile flag can be used to print
+ diagnostics relating to this optimization.
+
+ You can read more about the selective receive
+ optimization in the Efficiency Guide.
+
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16800 Application(s): wx
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16964 Application(s): compiler
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ Added support for wxWebView.
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ OTP-17334 Application(s): stdlib
+ Related Id(s): EEP-56, PR-4638
+
+ Implementation of EEP 56 in supervisor. It adds the
+ concept of significant children as well as the
+ auto_shutdown supervisor flag.
+
+ See the supervisor manual page for more information.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16560 Application(s): megaco
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-16656 Application(s): crypto
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-16811 Application(s): kernel
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16878 Application(s): erts
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16945 Application(s): erts
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ The pg2 module has been removed.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-16971 Application(s): stdlib
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16974 Application(s): ssl
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-16987 Application(s): erts
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17156 Application(s): kernel
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ OTP-17355 Application(s): kernel
+ Related Id(s): OTP-17154
+
+ The return values from module socket functions send(),
+ sendto(), sendmsg(), sendfile() and recv() has been
+ changed to return a tuple tagged with select when a
+ SelectInfo was returned, and not sometimes tagged with
+ ok.
+
+ This is a backwards incompatible change that improves
+ usability for code using asynchronous operations.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-24.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17272 Application(s): otp
+ Related Id(s): GH-4626, PR-4627
+
+ Updated autoconf auxiliary files.
+
+
+ OTP-17278 Application(s): otp
+ Related Id(s): GH-4621
+
+ Do not allow a mandatory application to be disabled
+ using the configure switch --without-appname.
+
+
+ OTP-17373 Application(s): otp
+ Related Id(s): PR-4645
+
+ A build of OTP configured with --without-jinterface now
+ builds without complaining about missing jinterface
+ files.
+
+
+ OTP-17378 Application(s): otp
+ Related Id(s): PR-4791
+
+ The documentation about signaling in Erlang has been
+ improved in the Processes chapter of the Erlang
+ Reference Manual.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.16 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17387 Application(s): asn1
+ Related Id(s): OTP-17123
+
+ Fixed a bug in the asn1 compiler that potentially could
+ cause it to fail to open a file.
+
+
+ Full runtime dependencies of asn1-5.0.16: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.20.3 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16940 Application(s): common_test
+ Related Id(s): ERL-1335
+
+ The option release_shell could crash when used together
+ with the spec option.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of common_test-1.20.3: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17104 Application(s): compiler
+ Related Id(s): ERL-1380
+
+ A repeated stack trace variable in a try/catch was not
+ rejected. The following example will now cause a
+ compilation error:
+
+ try E catch _:A:A -> A end.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17206 Application(s): compiler
+
+ When the makedep option was given, the compiler would
+ crash if the dependency output contained non-latin1
+ characters. The compiler will now output the dependency
+ information encoded in UTF-8 to avoid crashing.
+
+
+ --- Improvements and New Features ---
+
+ OTP-10391 Application(s): compiler
+ Related Id(s): OTP-16226
+
+ *** HIGHLIGHT ***
+
+ Selective receive optimization will now be applied much
+ more often.
+
+ The new recv_opt_info compile flag can be used to print
+ diagnostics relating to this optimization.
+
+ You can read more about the selective receive
+ optimization in the Efficiency Guide.
+
+
+ OTP-16334 Application(s): compiler
+
+ erlang:throw/1 will no longer build stack traces when
+ we can prove that they will never be inspected.
+
+
+ OTP-16706 Application(s): compiler
+ Related Id(s): ERL-1281
+
+ *** HIGHLIGHT ***
+
+ Variables bound between the keywords 'try' and 'of' can
+ now be used in the clauses following the 'of' keyword
+ (that is, in the success case when no exception was
+ raised).
+
+
+ OTP-16824 Application(s): compiler
+ Related Id(s): PR-2664, PR-3006
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Compiler warnings and errors now include column numbers
+ in addition to line numbers.
+
+ When a compiler message is emitted, the source line is
+ printed along with a marker (a ^ character) that
+ indicates the column position of the issue. The option
+ 'brief' removes the printout of the source line.
+
+ The compiler option {error_location, line | column} has
+ been added. The default value is column. Besides adding
+ column numbers to compilation warnings and errors, the
+ option also determines whether column numbers are
+ included in abstract code. If tools stop working,
+ setting the environment variable ERL_COMPILER_OPTIONS
+ can help (include {error_location, line}).
+
+ The compiler will now call the function
+ PT:parse_transform_info/0 in parse transforms (if it
+ exists). It can be used by parse transforms to signal
+ that they can only handle line numbers in abstract
+ code.
+
+
+ OTP-16867 Application(s): compiler
+ Related Id(s): ERL-1354
+
+ Fixed a performance bug that made functions with lots
+ of try/after blocks slow to compile.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16964 Application(s): compiler
+
+ *** HIGHLIGHT ***
+
+ Generators in list and binary comprehensions will now
+ raise a {bad_generator,Generator} exception if the
+ generator has an incorrect type (instead of raising an
+ ad-hoc badarg or badarih exception). Similarly, when a
+ filter does not evaluate to a boolean, a
+ {bad_filter,Filter} exception will be raised. Some
+ minor bugs in the compilation of binary comprehensions
+ have also been fixed.
+
+
+ OTP-16981 Application(s): compiler
+ Related Id(s): ERL-1113
+
+ *** HIGHLIGHT ***
+
+ Some compiler warnings, such as the warning for an
+ expression whose result is ignored, could not be
+ suppressed by assigning to a variable beginning with
+ '_', but only by assigning to the anonymous variable
+ ('_'). This has now been changed so that any warning
+ that can be suppressed by assigning to the anonymous
+ variable can also be suppressed by assigning to a
+ variable beginning with '_'.
+
+
+ OTP-17078 Application(s): compiler
+ Related Id(s): ERL-1430, PR-2918
+
+ The previously undocumented compiler options
+ warn_missing_spec and warn_missing_spec_all are now
+ documented.
+
+
+ OTP-17123 Application(s): compiler
+
+ The compiler will now emit warnings when (previously
+ bound) underscore-prefixed variables are matched.
+
+
+ OTP-17168 Application(s): compiler
+
+ Erlang source files not encoded in utf-8 will no longer
+ be accepted by the compiler unless it contains a
+ "coding: latin-1" comment.
+
+
+ OTP-17172 Application(s): compiler
+
+ New compiler options from_abstr and no_lint have been
+ added. They are useful when implementing other
+ languages running on the BEAM.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ OTP-17226 Application(s): compiler
+ Related Id(s): GH-4019, PR-4545
+
+ *** HIGHLIGHT ***
+
+ The compiler will now inline funs that are used only
+ once immediately after their definition.
+
+
+ OTP-17260 Application(s): compiler
+
+ It is now possible to disable warnings emitted from the
+ compiler's optimization passes with the new options
+ nowarn_opportunistic, nowarn_nomatch, nowarn_ignored,
+ and nowarn_failed.
+
+
+ OTP-17301 Application(s): compiler, erts
+ Related Id(s): GH-4636
+
+ Introduce new types nonempty_binary() and
+ nonempty_bitstring().
+
+
+ OTP-17330 Application(s): compiler, stdlib
+
+ Add compiler option {nowarn_unused_record,
+ RecordNames}. Document compiler option
+ nowarn_unused_type.
+
+
+ Full runtime dependencies of compiler-8.0: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16882 Application(s): crypto
+
+ Add /usr/local/opt/openssl to the openssl configure
+ search path. This path is where some tools on OS X
+ place openssl.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17254 Application(s): crypto, erts
+ Related Id(s): ERIERL-618, GH-4230
+
+ The configure scripts in crypto and erts now fail if a
+ requested feature cannot be enabled.
+
+ Large parts of the configure script of crypto have been
+ rewritten with various improvements and bug fixes. It
+ is now better at finding usable OpenSSL libraries, but
+ will in the following cases fail to detect OpenSSL
+ libraries where it previously sometimes detected the
+ libraries by chance:
+
+ -- OpenSSL installations with include directory and lib
+ directory parts installed in different base
+ directories. In order to detect such installations
+ after this change, the user must explicitly specify the
+ locations using the --with-ssl=<path> and the
+ --with-ssl-incl=<path> configure command line
+ arguments.
+
+ -- When building with old gcc compilers or other
+ compilers on Debian derivatives with multiarch
+ directories under the lib directory. In order to detect
+ such installations after this change, the user must
+ explicitly specify the multiarch directory name using
+ the --with-ssl-lib-subdir=lib/<multiarch-dir> configure
+ command line argument.
+
+
+ OTP-17312 Application(s): crypto
+ Related Id(s): PR-4723
+
+ The value 'none' was missing in the specs of
+ crypto:sign/4 and crypto:verify/6.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16656 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The functions and cipher names that were deprecated in
+ OTP-23.0 are now removed.
+
+
+ OTP-17001 Application(s): crypto
+ Related Id(s): PR-2852
+
+ Removed installed directory priv/obj/ containing
+ superfluous object files.
+
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ *** HIGHLIGHT ***
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17313 Application(s): crypto
+ Related Id(s): PR-4686
+
+ Add prop_aead attribute to map from
+ crypto:cipher_info/1.
+
+
+ Full runtime dependencies of crypto-5.0: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ Full runtime dependencies of debugger-5.1: compiler-5.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16883 Application(s): dialyzer
+
+ Some internal HiPE modules have been moved into the
+ dialyzer application so that dialyzer works when HiPE
+ is disabled.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16986 Application(s): dialyzer
+ Related Id(s): ERL-1379, ERL-1480, GH-4033
+
+ Add warning option no_underspecs.
+
+
+ OTP-16995 Application(s): dialyzer
+ Related Id(s): ERL-1348
+
+ Report filename and location for warnings returned due
+ to the -Wunknown option. When used from the
+ command-line, one location per file is printed.
+
+
+ OTP-17084 Application(s): dialyzer
+
+ Add types and specifications for documentation.
+
+
+ OTP-17177 Application(s): dialyzer
+ Related Id(s): OTP-16824
+
+ Add option error_location. The option is recognized if
+ included in the environment variable
+ ERL_COMPILER_OPTIONS.
+
+
+ OTP-17183 Application(s): dialyzer
+ Related Id(s): ERL-892, GH-4493
+
+ Clarify how to declare records used in match patterns.
+
+
+ Full runtime dependencies of dialyzer-4.4: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17092 Application(s): edoc
+
+ Fix so that the edoc_doclet option file_suffix also
+ effects the links emitted into the module index.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16949 Application(s): edoc
+ Related Id(s): OTP-17192, PR-2803
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ EDoc, the Erlang documentation engine, hits version 1.0
+ with this release, which means a few changes.
+
+ EDoc is now capable of emitting EEP-48 doc chunks. This
+ means that, with some configuration, community projects
+ can now provide documentation for shell_docs the same
+ way that OTP libraries did since OTP 23.0.
+
+ The @spec and @type EDoc tags have been deprecated.
+ These are not supported with the new chunk-generating
+ doclet and layout. Moreover, previously when there was
+ a redundant @spec tag and -spec attribute defined for
+ the same function, the @spec tag would take precedence.
+ Now, the -spec attribute takes precedence and is more
+ important. The same is true for redundant @type tags
+ and -type attributes. Warnings are now emitted when
+ such redundant entries are found.
+
+ The ?NO_APP macro in edoc_doclet.hrl has been
+ deprecated. Use the atom no_app instead.
+
+ See the Doc chunks chapter in the Edoc User's Guide for
+ more details.
+
+
+ OTP-17095 Application(s): edoc
+ Related Id(s): PR-2914
+
+ Edoc has been updated to use -spec to document its own
+ interface instead of @doc@ tags.
+
+ Together with this change the inter-application linking
+ for -spec style documentation has been improved.
+
+
+ OTP-17153 Application(s): edoc
+ Related Id(s): PR-2674
+
+ Allow user defined edoc macros to be functions.
+
+
+ Full runtime dependencies of edoc-1.0: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17257 Application(s): erl_docgen
+
+ Fix bug where see* elements within type/name were
+ removed when generating html. Bug has been present
+ since OTP-21.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16877 Application(s): erl_docgen
+
+ Add support for displaying .svg images.
+
+
+ OTP-17192 Application(s): erl_docgen
+ Related Id(s): PR-2803
+
+ Updated the way specs are generated after changes in
+ edoc.
+
+
+ Full runtime dependencies of erl_docgen-1.1: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17132 Application(s): erl_interface, kernel
+
+ Two options have been added to erl_call. The
+ -fetch_stdout option fetches stdout data resulting from
+ the code invoked by erl_call. The -fetch_stdout option
+ disables printing of the result term. In order to
+ implement the first of these two options a new function
+ called ei_xrpc_from has been added to erl_interface.
+ For details see the erl_call documentation and
+ erl_interface documentation.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16970 Application(s): erl_interface
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The registry functionality part of erl_interface has
+ been removed. It was as of OTP 23 deprecated and
+ scheduled for removal in OTP 24.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17270 Application(s): erl_interface
+ Related Id(s): OTP-17127
+
+ Support the new link protocol in order to be able to
+ phase out the old link protocol in the future.
+ erl_interface does not support setting up or removing
+ links from the erl_interface side, so the bug present
+ with the old protocol did not effect erl_interface.
+ This since both participants of a link simultaneously
+ needed to operate on the link in order to trigger the
+ bug.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16822 Application(s): erts
+ Related Id(s): PR-2723
+
+ file:open/2 now throws an badarg error when opened with
+ both the ram and raw options.
+
+
+ OTP-16879 Application(s): erts
+
+ The estone benchmark has been updated to better reflect
+ changes in the compiler and run-time system.
+
+
+ OTP-16880 Application(s): erts
+
+ Fix profile guided optimization of run-time system when
+ using GCC 7 or later.
+
+
+ OTP-16884 Application(s): erts
+
+ Fix double close of fd when creating crash dump.
+
+
+ OTP-17014 Application(s): erts
+
+ Improve erl error message when unable to open included
+ args_file.
+
+
+ OTP-17020 Application(s): erts
+
+ Remove warning text about the -- operation from
+ documentation
+
+ The -- operation was optimized in Erlang/OTP 22 so that
+ its worst case complexity is O(N*log(N)), where N is
+ the total size of the input lists. Therefore, the
+ warning in the documentation saying that the time
+ complexity is proportional to length(A)*length(B) is
+ incorrect and is no longer needed. Notice that
+ Erlang/OTP 21 will no longer be supported when
+ Erlang/OTP 24 gets released.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ OTP-17131 Application(s): erts
+ Related Id(s): GH-4360, PR-3031
+
+ Windows process erl.exe killed if its service process
+ erlsrv.exe terminates.
+
+
+ OTP-17254 Application(s): crypto, erts
+ Related Id(s): ERIERL-618, GH-4230
+
+ The configure scripts in crypto and erts now fail if a
+ requested feature cannot be enabled.
+
+ Large parts of the configure script of crypto have been
+ rewritten with various improvements and bug fixes. It
+ is now better at finding usable OpenSSL libraries, but
+ will in the following cases fail to detect OpenSSL
+ libraries where it previously sometimes detected the
+ libraries by chance:
+
+ -- OpenSSL installations with include directory and lib
+ directory parts installed in different base
+ directories. In order to detect such installations
+ after this change, the user must explicitly specify the
+ locations using the --with-ssl=<path> and the
+ --with-ssl-incl=<path> configure command line
+ arguments.
+
+ -- When building with old gcc compilers or other
+ compilers on Debian derivatives with multiarch
+ directories under the lib directory. In order to detect
+ such installations after this change, the user must
+ explicitly specify the multiarch directory name using
+ the --with-ssl-lib-subdir=lib/<multiarch-dir> configure
+ command line argument.
+
+
+ OTP-17275 Application(s): erts
+ Related Id(s): PR-4553
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl command line arguments +Bi, +Bd, and +B
+ erroneously caused reception of the USR1 signal to
+ terminate the runtime system without creating a crash
+ dump. Reception of the USR1 signal now always cause
+ termination *with* creation of a crash dump, regardless
+ of command line arguments passed. This bug has existed
+ at least since OTP R5B.
+
+
+ OTP-17314 Application(s): erts
+ Related Id(s): GH-4624, OTP-15926, PR-
+
+ Add check to make sure that when passing an option to
+ erl that requires an argument, but none is given, we
+ report an error. This fixes a bug introduced in
+ OTP-22.1 via OTP-15926.
+
+
+ OTP-17329 Application(s): erts
+ Related Id(s): PR-4730
+
+ The "Last calls" section in crash dumps have been
+ updated to print newlines after each non-function
+ save_calls state (send, receive, timeout).
+
+
+ OTP-17372 Application(s): erts, kernel
+
+ Sockets created with socket:accept not counted
+ (socket:info/0).
+
+
+ --- Improvements and New Features ---
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-14753 Application(s): erts
+
+ New functions enif_dynamic_resource_call enables NIFs
+ to call native code in another NIF module. The call is
+ done via a resource callback function dyncall supplied
+ by the user with the new enif_init_resource_type.
+
+
+ OTP-16226 Application(s): erts
+ Related Id(s): OTP-10391
+
+ Runtime support for new improved selective receive
+ optimization.
+
+
+ OTP-16653 Application(s): erts
+
+ The deprecated function erlang:get_stacktrace/0 has
+ been removed. Use the new syntax in try/catch to
+ retrieve the stack backtrace.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16687 Application(s): erts
+ Related Id(s): PR-2762, PR-2996
+
+ The erlang module documentation has been updated to
+ improve clarity and description of edge cases.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16712 Application(s): erts
+
+ Improve code generation when creating funs by adding a
+ new beam instruction make_fun3 that does not do GC and
+ allows for better register allocation.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16788 Application(s): erts
+
+ Remove old unused +MYm and ERL_MALLOC_LIB options.
+
+
+ OTP-16814 Application(s): erts
+ Related Id(s): PR-2704
+
+ Increase timer resolution on windows.
+
+
+ OTP-16878 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The code loader has been rewritten in order to be able
+ to load JIT:ed code. As a consequence of this, it is no
+ longer possible to load HiPE code.
+
+
+ OTP-16881 Application(s): erts
+
+ Add support in the Erlang/OTP build system to generate
+ a compilation database that can be used by third-party
+ tools (such as irony in Emacs) to compile the erts C
+ and C++ source code. Create the database using make
+ compdb.
+
+
+ OTP-16885 Application(s): erts
+ Related Id(s): PR-2745
+
+ *** HIGHLIGHT ***
+
+ The BeamAsm JIT-compiler has been added to Erlang/OTP.
+ The JIT-compiler is enabled by default on most x86
+ 64-bit platforms that have a C++ compiler that can
+ compile C++17. To verify that a JIT enabled emulator is
+ running you can use erlang:system_info(emu_flavor).
+
+ For more information see the internal documentation of
+ BeamAsm in erts.
+
+
+ OTP-16898 Application(s): erts
+ Related Id(s): OTP-16856
+
+ By default all ERTS internal memory allocators based on
+ alloc_util will now use their own separate carrier pool
+ for migration of carriers instead of using a node
+ global carrier pool. This was the default behavior
+ between OTP 17 and OTP 21, but changed to use a node
+ global carrier pool as of OTP 22.0. Usage of the node
+ global carrier pool proved troublesome since it had a
+ tendency to spread long lived blocks into allocators
+ with normally short lived blocks causing increased
+ memory fragmentation. The node global carrier pool
+ behavior as well as other behaviors can be configured
+ using the +M<S>cp command line argument.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16945 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change escripts to output any errors or warnings to
+ standard error instead of standard out.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-16987 Application(s): erts
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erlang:monitor_node/2 BIF will now fail with a
+ notalive exception if distribution has not been started
+ on the current node; it used to fail with a badarg
+ exception.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17028 Application(s): erts
+
+ One can now pass the ERL_ROOTDIR environment variable
+ to the erl and start scrips. This makes it easier to
+ use Erlang for Android apps. On Android, apps don't
+ control where they will be installed.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17154 Application(s): erts, kernel
+ Related Id(s): OTP-16749
+
+ socket:sendfile/2,3,4,5 has been implemented, for
+ platforms that support the underlying socket library
+ call.
+
+
+ OTP-17207 Application(s): compiler, erts
+
+ The bit matching and construction syntax now supports
+ 16-bit floats (IEEE 754-2008).
+
+
+ OTP-17285 Application(s): erts
+ Related Id(s): PR-4651
+
+ Add process_flag(fullsweep_after, N) to change
+ fullsweep_after value in an already spawned process.
+
+
+ OTP-17293 Application(s): erts
+ Related Id(s): PR-4672
+
+ The max_heap_size error report has been updated to
+ include the message queue size.
+
+
+ OTP-17301 Application(s): compiler, erts
+ Related Id(s): GH-4636
+
+ Introduce new types nonempty_binary() and
+ nonempty_bitstring().
+
+
+ OTP-17310 Application(s): erts
+ Related Id(s): PR-4656
+
+ Optimize updates of large maps with identical keys and
+ values. E.g. in the example below the original Map will
+ be reused as the return of the second update.
+
+ 1> Map = LargeMap#{ a => b }.
+
+ 2> Map#{ a := b }.
+
+ The same optimization was done for small maps (< 33
+ keys) in erts-10.4 (OTP 22.0).
+
+
+ OTP-17341 Application(s): erts
+ Related Id(s): PR-2945
+
+ The previously undocumented internal -no_epmd option
+ has been made documented and public.
+
+
+ OTP-17368 Application(s): erts
+
+ Reduce memory carrier super alignment on 64-bit
+ architectures. In practice allows more fine grained
+ control over configuration of memory carrier sizes,
+ from increments of 256kb to 16kb.
+
+
+ Full runtime dependencies of erts-12.0: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- et-1.6.5 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of et-1.6.5: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.6.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17300 Application(s): eunit
+ Related Id(s): PR-4695
+
+ The eunit_surefire report handler has been updated to
+ automatically create the directories needed to store
+ the surefire xml file.
+
+
+ Full runtime dependencies of eunit-2.6.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-16926 Application(s): ftp
+ Related Id(s): ERL-1450, GH-4473
+
+ Use OTP supervisor as intended, avoiding surprising
+ behavior as the killing of the user's process. Also,
+ FTP state handling logic is improved to avoid race
+ conditions that could result in unexpected errors.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15523 Application(s): ftp
+ Related Id(s): OTP-15352, PR-1968
+
+ *** HIGHLIGHT ***
+
+ Add support for FTPES (explicit FTP over TLS).
+
+
+ Full runtime dependencies of ftp-1.1: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16722 Application(s): inets
+
+ Drop all support for ftp and tftp in inets code.
+
+
+ OTP-16723 Application(s): inets
+
+ Deprecate following functions in httpd_util module:
+ flatlength/1, lhexlist_to_integer/1,
+ integer_to_hexlist/1, strip/1, and suffix/1.
+
+
+ OTP-16724 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpd.
+
+
+ OTP-16725 Application(s): inets
+
+ Remove support of HTTP 0.9 in httpc.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of inets-7.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.12 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16720 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-2680
+
+ Accept 64-bit process identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit pids in a future OTP release.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17007 Application(s): erl_interface, erts, jinterface
+
+ Accept 64-bit port identifiers from external nodes.
+ This is the first step in an upgrade path toward using
+ 64-bit port identifiers in a future OTP release.
+
+
+ OTP-17170 Application(s): jinterface
+ Related Id(s): PR-3005
+
+ Make OtpErlangExternalFun's fields module, function and
+ arity public.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14700 Application(s): kernel
+ Related Id(s): PR-2848
+
+ A bug has been fixed for the internal inet_res resolver
+ cache that handled a resolver configuration file status
+ timer incorrectly and caused performance problems due
+ to many unnecessary file system accesses.
+
+
+ OTP-16809 Application(s): kernel
+ Related Id(s): ERL-1313
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the value of the tag head returned by
+ disk_log:info/1 from {ok, Head} to just Head.
+
+
+ OTP-17132 Application(s): erl_interface, kernel
+
+ Two options have been added to erl_call. The
+ -fetch_stdout option fetches stdout data resulting from
+ the code invoked by erl_call. The -fetch_stdout option
+ disables printing of the result term. In order to
+ implement the first of these two options a new function
+ called ei_xrpc_from has been added to erl_interface.
+ For details see the erl_call documentation and
+ erl_interface documentation.
+
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17262 Application(s): kernel
+ Related Id(s): GH-4588, OTP-16487, PR-4604
+
+ inet:get_rc/0 has been corrected to return host entries
+ as separate entries instead of (incorrectly) in a list
+ within the list. This bug was introduced by OTP-16487
+ in OTP-23.0-rc1.
+
+
+ OTP-17277 Application(s): kernel
+
+ The type gen_tcp:option_name() had a duplicate
+ pktoptions value.
+
+
+ OTP-17286 Application(s): kernel
+ Related Id(s): PR-4619
+
+ Fixed removal of empty groups from internal state in
+ pg.
+
+
+ OTP-17287 Application(s): kernel
+ Related Id(s): PR-4581
+
+ erl -remsh now prints an error message when it fails to
+ connect to the remote node.
+
+
+ OTP-17288 Application(s): kernel
+ Related Id(s): PR-4581
+
+ Fix bugs related to corrupt shell history files.
+
+ Error messages printed by shell history are now logged
+ as logger error reports instead of written to standard
+ error.
+
+
+ OTP-17315 Application(s): kernel
+ Related Id(s): GH-4626
+
+ A logger warning is now issues when too many arguments
+ are given to -name or -sname. Example: erl -name a b.
+
+
+ OTP-17344 Application(s): kernel
+ Related Id(s): GH-4631, OTP-12136, OTP-14485, PR-4633
+
+ The cache used by inet_res now, again, can handle
+ multiple IP addresses per domain name, and thus fixes a
+ bug introduced in PR-3041 (OTP-13126) and PR-2891
+ (OTP-14485).
+
+
+ OTP-17372 Application(s): erts, kernel
+
+ Sockets created with socket:accept not counted
+ (socket:info/0).
+
+
+ OTP-17374 Application(s): kernel
+ Related Id(s): GH-4680, OTP-17216, PR-2989, PR-4787
+
+ The {fd, Fd} option to gen_tcp:listen/2 did not work
+ for inet_backend socket, which has been fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-13126 Application(s): kernel
+ Related Id(s): PR-3041
+
+ The cache used by the DNS resolver inet_res has been
+ improved to use ETS lookups instead of server calls.
+ This is a considerable speed improvement for cache
+ hits.
+
+
+ OTP-14485 Application(s): kernel
+ Related Id(s): PR-2891
+
+ The cache ETS table type for the internal DNS resolver
+ inet_res has changed type (internally) to get better
+ speed and atomicity.
+
+
+ OTP-14601 Application(s): erts, kernel
+ Related Id(s): OTP-16749, PR-2641, PR-2670
+
+ The experimental socket module can now use any protocol
+ (by name) the OS supports. Suggested in PR-2641,
+ implemented in PR-2670.
+
+
+ OTP-16517 Application(s): kernel
+ Related Id(s): PR-2827
+
+ The DNS resolver inet_res has been updated to support
+ CAA (RFC 6844) and URI (RFC 7553) records.
+
+
+ OTP-16611 Application(s): kernel
+ Related Id(s): OTP-16749
+
+ *** HIGHLIGHT ***
+
+ A compatibility adaptor for gen_tcp to use the new
+ socket API has been implemented (gen_tcp_socket). Used
+ when setting the kernel application variable
+ inet_backend = socket.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16698 Application(s): kernel
+ Related Id(s): PR-2634
+
+ The file server can now be bypassed in file:delete/1,2
+ with the raw option.
+
+
+ OTP-16703 Application(s): erts, kernel
+ Related Id(s): PR-2620
+
+ An example implementation of Erlang distribution over
+ UDS using distribution processes has been introduced.
+
+ Thanks to Jérôme de Bretagne
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16749 Application(s): erts, kernel
+ Related Id(s): OTP-14601
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental new socket API has been further
+ developed. Some backwards incompatible changes with
+ respect to OTP 23 have been made.
+
+ The control message format has been changed so a
+ decoded value is now in the 'value' field instead of in
+ the 'data' field. The 'data' field now always contains
+ binary data.
+
+ Some type names have been changed regarding message
+ headers and control message headers.
+
+ socket:bind/2 now returns plain ok instead of {ok,
+ Port} which was only relevant for the inet and inet6
+ address families and often not interesting. To find out
+ which port was chosen use socket:sockname/1.
+
+
+ OTP-16793 Application(s): kernel
+ Related Id(s): ERL-1332, PR-2740
+
+ New function os:env/0 returns all OS environment
+ variables as a list of 2-tuples.
+
+
+ OTP-16811 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove the support for distributed disk logs. The new
+ function disk_log:all/0 is to be used instead of
+ disk_log:accessible_logs/0. The function
+ disk_log:close/1 is to be used instead of
+ disk_log:lclose/1,2.
+
+
+ OTP-16947 Application(s): kernel
+ Related Id(s): PR-2781
+
+ Expand the spec for erl_epmd:listen_port_please/2 to
+ mirror erl_epmd:port_please/2.
+
+
+ OTP-16952 Application(s): erts, kernel
+
+ A new erl parameter for specifying a file descriptor
+ with configuration data has been added. This makes it
+ possible to pass the parameter "-configfd FD" when
+ executing the erl command. When this option is given,
+ the system will try to read and parse configuration
+ parameters from the file descriptor.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16968 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The pg2 module has been removed.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17015 Application(s): kernel
+
+ Allow utf-8 binaries as parts of logger_formatter
+ template.
+
+
+ OTP-17062 Application(s): kernel
+ Related Id(s): ERIERL-537, ERL-1418, GH-4469
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Let disk_log:open/1 change the size if a wrap log is
+ opened for the first time, that is, the disk log
+ process does not exist, and the value of option size
+ does not match the current size of the disk log.
+
+
+ OTP-17103 Application(s): kernel
+ Related Id(s): PR-2949
+
+ Allow the shell history of an erlang node to be fetched
+ and stores using a custom callback module. See
+ shell_history configuration parameter in the kernel
+ documentation for more details.
+
+
+ OTP-17106 Application(s): kernel
+ Related Id(s): PR-2885
+
+ The simple logger (used to log events that happen
+ before kernel has been started) has been improved to
+ print prettier error messages.
+
+
+ OTP-17154 Application(s): erts, kernel
+ Related Id(s): OTP-16749
+
+ socket:sendfile/2,3,4,5 has been implemented, for
+ platforms that support the underlying socket library
+ call.
+
+
+ OTP-17155 Application(s): kernel
+
+ Add socket monitor(s) for all types sockets.
+
+
+ OTP-17156 Application(s): kernel
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix various issues with the gen_tcp_socket. Including
+ documenting some incompatibilities.
+
+
+ OTP-17157 Application(s): kernel
+
+ inet:i/0 now also shows existing gen_tcp compatibility
+ sockets (based on 'socket').
+
+
+ OTP-17181 Application(s): kernel
+ Related Id(s): PR-2457
+
+ Added support in logger for setting primary metadata.
+ The primary metadata is passed as a base metadata to
+ all log events in the system. See Metadata in the
+ Logger chapter of the Kernel User's Guide for more
+ details.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17198 Application(s): kernel
+ Related Id(s): PR-2721
+
+ The Fun's passed to logger:log/2,3,4 can now return
+ metadata that will only be fetched when needed. See
+ logger:log/2,3,4 for more details.
+
+
+ OTP-17201 Application(s): kernel
+ Related Id(s): PR-4534
+
+ erpc:multicall() has been rewritten to be able to
+ utilize the newly introduced and improved selective
+ receive optimization.
+
+
+ OTP-17203 Application(s): kernel
+ Related Id(s): OTP-17156
+
+ Add utility fiunction inet:info/1 to provide
+ miscellaneous info about a socket.
+
+
+ OTP-17216 Application(s): kernel
+ Related Id(s): PR-2989
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The behaviour for gen_tcp:connect/3,4 has been changed
+ to not per default bind to an address, which allows the
+ network stack to delay the address and port selection
+ to when the remote address is known. This allows better
+ port re-use, and thus enables far more outgoing
+ connections, since the ephemeral port range no longer
+ has to be a hard limit.
+
+ There is a theoretical possibility that this behaviour
+ change can affect the set of possible error values, or
+ have other small implications on some platforms.
+
+
+ OTP-17266 Application(s): kernel
+ Related Id(s): PR-4564
+
+ An option {nxdomain_reply, boolean()} has been
+ implemented in the DNS resolver inet_res. It is useful
+ since an nxdomain error from a name server does contain
+ the SOA record if the domain exists at all. This record
+ is useful to determine a TTL for negative caching of
+ the failed entry.
+
+
+ OTP-17284 Application(s): kernel
+ Related Id(s): PR-4615
+
+ Optimized lookup of local processes part of groups in
+ pg.
+
+
+ OTP-17355 Application(s): kernel
+ Related Id(s): OTP-17154
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The return values from module socket functions send(),
+ sendto(), sendmsg(), sendfile() and recv() has been
+ changed to return a tuple tagged with select when a
+ SelectInfo was returned, and not sometimes tagged with
+ ok.
+
+ This is a backwards incompatible change that improves
+ usability for code using asynchronous operations.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of kernel-8.0: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16560 Application(s): megaco
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ All the pre-v3 codec(s) (prev3a, prev3b and prev3c) was
+ deprecated in OTP-23.0. They have now been removed.
+
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ Full runtime dependencies of megaco-4.0: asn1-3.0, debugger-4.0,
+ erts-7.0, et-1.5, kernel-3.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.19.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17217 Application(s): mnesia
+
+ Suppression of deprecation warnings has been added to
+ the source files of the Mnesia application.
+
+
+ OTP-17294 Application(s): mnesia
+ Related Id(s): GH-4525, PR-4674
+
+ Fixed that the backend plugin initialization is done
+ only once.
+
+
+ Full runtime dependencies of mnesia-4.19.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.9.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17214 Application(s): observer
+
+ Updated gui parts to work with the new wx version.
+
+
+ Full runtime dependencies of observer-2.9.6: erts-11.0, et-1.5,
+ kernel-7.0, runtime_tools-1.8.14, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.13.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ Full runtime dependencies of odbc-2.13.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16943 Application(s): os_mon
+ Related Id(s): OTP-16906
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The temporarily introduced configuration parameter
+ memsup_improved_system_memory_data has been removed.
+
+
+ OTP-16944 Application(s): os_mon
+ Related Id(s): PR-2787
+
+ Fix disk_sup to also search the system PATH on linux
+ when looking for the df program.
+
+
+ Full runtime dependencies of os_mon-2.7: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-17023 Application(s): parsetools
+
+ Let Leex and Yecc recognize the environment variable
+ ERL_COMPILER_OPTIONS. Add Yecc option {error_location,
+ column | line}.
+
+
+ Full runtime dependencies of parsetools-2.3: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.11 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ *** HIGHLIGHT ***
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17352 Application(s): public_key, ssh
+
+ The functions public_key:ssh_encode/2,
+ public_key:ssh_decode/2,
+ public_key:ssh_hostkey_fingerprint/1 and
+ public_key:ssh_hostkey_fingerprint/2 are deprecated.
+
+ Replacement functions are available in SSH, see the
+ Deprecations chapter in the Erlang/OTP documentation.
+
+
+ OTP-17384 Application(s): public_key, ssl
+ Related Id(s): GH-4800
+
+ Enhance documentation and logging of certificate
+ handling.
+
+
+ Full runtime dependencies of public_key-1.11: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.9 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17292 Application(s): reltool, sasl
+ Related Id(s): PR-4684, PR-4685
+
+ Removed timestamps from files generated by sasl and
+ reltool to enable deterministic builds.
+
+
+ Full runtime dependencies of reltool-0.9: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.16.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of runtime_tools-1.16.2: erts-11.0,
+ kernel-7.0, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17189 Application(s): kernel, reltool, sasl
+ Related Id(s): PR-2675
+
+ Recognize new key 'optional_applications' in
+ application resource files.
+
+
+ OTP-17292 Application(s): reltool, sasl
+ Related Id(s): PR-4684, PR-4685
+
+ Removed timestamps from files generated by sasl and
+ reltool to enable deterministic builds.
+
+
+ Full runtime dependencies of sasl-4.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.9 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17049 Application(s): megaco, snmp
+
+ Removed deprecated functions marked for removal.
+
+
+ OTP-17354 Application(s): snmp
+
+ Removed timestamps from files generated by snmp to
+ enable deterministic builds.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of snmp-5.9: crypto-3.3, erts-6.0,
+ kernel-3.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17353 Application(s): ssh
+
+ The send window handling is changed to not initialize a
+ too large window on some occasions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16750 Application(s): ssh
+
+ Removed usage of erlang:is_port/1 from the SSH
+ implementation.
+
+
+ OTP-17051 Application(s): ssh
+
+ Internal connection setup refactoring.
+
+
+ OTP-17140 Application(s): ssh
+
+ Refactor SSH fsm into a (hopefully) more comprehensible
+ set of gen_statem callback-files.
+
+
+ OTP-17259 Application(s): ssh
+ Related Id(s): ERIERL-619, OTP-16511
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The RSA SHA1 sign/verify variants are disabled by
+ default. That is, ssh-rsa is disabled by default as
+ well as the SHA1 sign/verify with RSA keys from id_rsa
+ and ssh_host_rsa_key. All SHA2 sign/verify are enabled
+ by default.
+
+ The reason is that SHA1 is now considered easy to
+ break.
+
+ To enable RSA with SHA1, for example for a very old and
+ unsafe peer, see Example 9 in the User's Guide chapter
+ Configuring algorithms in SSH.
+
+
+ OTP-17322 Application(s): ssh
+ Related Id(s): EEP-56, OTP-17334, PR-4638
+
+ Adapt ssh supervisors to the new 'significant' and
+ 'auto_shutdown' flags in supervisor.
+
+
+ OTP-17352 Application(s): public_key, ssh
+
+ The functions public_key:ssh_encode/2,
+ public_key:ssh_decode/2,
+ public_key:ssh_hostkey_fingerprint/1 and
+ public_key:ssh_hostkey_fingerprint/2 are deprecated.
+
+ Replacement functions are available in SSH, see the
+ Deprecations chapter in the Erlang/OTP documentation.
+
+
+ Full runtime dependencies of ssh-4.12: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ OTP-17343 Application(s): ssl
+
+ TLS handshake should fail if OCSP staple is requested
+ but missing. Note that OCSP support is still considered
+ experimental and only partially implemented.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16974 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed ssl:ssl_accept/1,2,3 and ssl:cipher:suites/0,1
+ use ssl:handshake/1,2,3 and ssl:cipher_suites/2,3
+ instead.
+
+
+ OTP-17044 Application(s): ssl
+ Related Id(s): PR-2654
+
+ *** HIGHLIGHT ***
+
+ Make TLS handshakes in Erlang distribution concurrent.
+
+
+ OTP-17117 Application(s): ssl
+ Related Id(s): PR-2933
+
+ Randomize internal {active,n} optimization when running
+ Erlang distribution over TLS to spread RAM/CPU spike
+ that may occur when starting up a big cluster.
+
+
+ OTP-17142 Application(s): crypto, public_key, ssl
+ Related Id(s): GH-4637, GH-4650, PR-4756
+
+ *** HIGHLIGHT ***
+
+ TLS connections now support EdDSA certificates.
+
+
+ OTP-17384 Application(s): public_key, ssl
+ Related Id(s): GH-4800
+
+ Enhance documentation and logging of certificate
+ handling.
+
+
+ Full runtime dependencies of ssl-10.4: crypto-4.2, erts-10.0,
+ inets-5.10.7, kernel-6.0, public_key-1.8, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.15 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-15107 Application(s): stdlib
+ Related Id(s): ERL-1381, PR-2813
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Time-outs in gen_statem with relative time 0 did not
+ behave quite according to the intended model. This has
+ now been corrected.
+
+ The correction introduces a small potential
+ incompatibility e.g when combining a state time-out
+ with inserted events, and the inserted event does a
+ state change in the state with the time-out. Before
+ this correction the state time-out could be delivered
+ even after the second state change, but now it is
+ guaranteed that a state time-out is only delivered in
+ the state it was started for, even in this corner case.
+
+
+ OTP-16865 Application(s): stdlib
+
+ Fix bugs in erl_eval concerning bitstring
+ comprehensions.
+
+
+ OTP-16905 Application(s): stdlib
+
+ File names that start with a dot (such as ".gitignore"
+ are now treated as file names and not extensions by
+ filename:extension/1 and filename:rootname/1.
+
+
+ OTP-16950 Application(s): stdlib
+ Related Id(s): ERL-1378
+
+ Fixed a bug where beam_lib:chunks/3 with the
+ allow_missing_chunks option would crash if a named
+ chunk was missing.
+
+
+ OTP-17077 Application(s): compiler, erts, stdlib
+ Related Id(s): ERL-1431, PR-2903, PR-2905, PR-2906
+
+ A floating point zero (0.0) can be both positive (+0.0)
+ and negative (-0.0). Multiple bugs in the compiler,
+ runtime system, and STDLIB have been fixed to ensure
+ that the minus sign on 0.0 is not lost.
+
+
+ OTP-17118 Application(s): compiler, stdlib
+ Related Id(s): PR-2825
+
+ Eliminated a Dialyzer crashed when the -MMD option is
+ used to generate a dependency file and a BEAM file a
+ the same time.
+
+
+ OTP-17122 Application(s): erl_docgen, stdlib
+
+ Fixed bug in shell_docs and erl_docgen that interpreted
+ em tags as strong.
+
+
+ OTP-17133 Application(s): stdlib
+
+ On Solaris, the math:acos/1 and math:asin/1 functions
+ would not fail for arguments outside the valid domain.
+
+
+ OTP-17186 Application(s): stdlib
+
+ Silence unused_record warnings when using ms_transform.
+ The parse transform ms_transform replaces records with
+ tuples, which can cause the Erlang code linter to emit
+ warnings about unused records.
+
+
+ OTP-17222 Application(s): stdlib
+ Related Id(s): GH-4544
+
+ Documented a deficiency in the re module regarding the
+ [:ascii:] character class matching Latin-1 characters.
+
+
+ OTP-17342 Application(s): stdlib
+ Related Id(s): GH-4725, PR-4726
+
+ Fixed spec of start functions in generic behaviors.
+
+
+ OTP-17364 Application(s): stdlib
+ Related Id(s): PR-4747
+
+ Supervisors rejected child specs with a shutdown value
+ of 0.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14646 Application(s): stdlib
+ Related Id(s): PR-2920
+
+ In the rand module it is now possible to seed the
+ default algorithm using an algorithm alias: default.
+
+ Generating pseudo random binaries has been implemented
+ with rand:bytes/1 and rand:bytes_s/2.
+
+
+ OTP-14647 Application(s): stdlib
+ Related Id(s): PR-2910
+
+ New functions have been added to the proplists module:
+ to_map/1,2 and from_map/1.
+
+
+ OTP-14650 Application(s): stdlib
+ Related Id(s): PR-2850
+
+ New functions have been added to the queue module:
+ all/2, any/2, delete/2, delete_r/2, delete_with/2, and
+ delete_with_r/2.
+
+
+ OTP-14793 Application(s): stdlib
+ Related Id(s): PR-2791
+
+ New function have been added to the queue module:
+ fold/2 and filtermap/2.
+
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16686 Application(s): debugger, erts, kernel, stdlib
+
+ *** HIGHLIGHT ***
+
+ Extended error information for failing BIF calls as
+ proposed in EEP 54 has been implemented.
+
+ When a BIF call from the Erlang shell fails, more
+ information about which argument or arguments that were
+ in error will be printed. The same extended error
+ information will by proc_lib, common_test, and qlc when
+ BIF calls fail.
+
+ For applications that wish to provide the same extended
+ error information, there are new functions
+ erl_error:format_exception/3 and
+ erl_error:format_exception/4.
+
+ There is a new error/3 BIF that allows applications or
+ libraries to provide extended error information in the
+ same way for their own exceptions.
+
+
+ OTP-16718 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-2735
+
+ *** HIGHLIGHT ***
+
+ The process alias feature as outlined by EEP 53 has
+ been introduced. It is introduced in order to provide a
+ lightweight mechanism that can prevent late replies
+ after timeout or connection loss. For more information,
+ see EEP 53 and the documentation of the new alias/1 BIF
+ and the new options to the monitor/3 BIF.
+
+ The call operation in the framework used by gen_server,
+ gen_statem, and gen_event has been updated to utilize
+ alias in order to prevent late responses. The
+ gen_statem behavior still use a proxy process in the
+ distributed case, since it has always prevented late
+ replies and aliases wont work against pre OTP 24 nodes.
+ The proxy process can be removed in OTP 26.
+
+ The alias feature also made it possible to introduce
+ new functions similar to the erpc:receive_response()
+ function in the gen behaviors, so the new functions
+ gen_server:receive_response(),
+ gen_statem:receive_response(),
+ gen_event:receive_response() have also been introduced.
+
+
+ OTP-16910 Application(s): stdlib
+ Related Id(s): PR-2771
+
+ Improved documentation about exit signals emitted when
+ a gen_server terminates.
+
+
+ OTP-16936 Application(s): erts, stdlib
+ Related Id(s): ERL-1367
+
+ New functions have been added to the maps module:
+ merge_with/3, intersect/2, intersect_with/3,
+ filtermap/2, from_keys/2, and maps:foreach/2.
+
+ maps:merge_with/3 is the same as merge/2 but takes an
+ extra fun that is used to combine items with the same
+ key.
+
+ maps:intersect/2 computes the intersection of two maps.
+
+ maps:intersect_with/3 is the same as intersect/2 but
+ takes an extra fun that is used to combine intersecting
+ items.
+
+ maps:filtermap/2 allows filtering and mapping of a map
+ in a single pass.
+
+ maps:from_keys/2 constructs a map from a list of keys
+ and a single value and can be used to to optimize sets
+ operations such as from_list/1, filter/2,
+ intersection/2, and subtract/2.
+
+ maps:foreach/2 allows iteration over a map without
+ returning any value.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-16971 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The filename:src/1 function which was deprecated in OTP
+ 20 has been removed. Use filelib:find_source/1,3
+ instead.
+
+
+ OTP-16980 Application(s): erts, stdlib
+ Related Id(s): ERL-1308
+
+ The pretty printer for floating point number have been
+ changed to make it easier to see if the integer part of
+ the number has been rounded. After the change the digit
+ that may have been rounded always appears last or just
+ before the exponent character (e or E). This is
+ accomplished by always printing the number using
+ scientific notation if it is so large that the integer
+ part could be rounded.
+
+
+ OTP-17005 Application(s): erl_interface, erts, jinterface,
+ kernel, stdlib
+ Related Id(s): OTP-16718
+
+ Accept references up to a size of 160-bits from remote
+ nodes. This is the first step in an upgrade path toward
+ using references up to 160-bits in a future OTP
+ release.
+
+
+ OTP-17024 Application(s): stdlib
+
+ Add option location to erl_parse:abstract/2.
+
+
+ OTP-17057 Application(s): erts, stdlib
+
+ All long running functions in the maps API are now
+ yielding. In previous releases the functions
+ maps:from_list/1, maps:keys/1 and maps:values/1 did not
+ yield. This could cause unfair scheduling of processes.
+
+
+ OTP-17059 Application(s): stdlib
+ Related Id(s): PR-2864
+
+ The sets module now has an optional map-based
+ implementation, as described in EEP 50.
+
+ To use this implementation, pass the {version,2} option
+ to sets:new/1 or sets:from_list/2.
+
+
+ OTP-17120 Application(s): stdlib
+
+ Added shell_docs:supported_tags/0. This function can be
+ used to retrieve the tags currently supported by
+ shell_docs.
+
+
+ OTP-17121 Application(s): stdlib
+
+ The application/erlang+html documentation storage
+ format used by shell_docs has been updated to include
+ the tags b, strong, h4, h5 and h6.
+
+
+ OTP-17169 Application(s): stdlib
+ Related Id(s): PR-2584
+
+ Do not pretty-print catch expressions with unnecessary
+ parentheses. The re-write of the Erlang parser grammar
+ in PR-2584 implies that parentheses around catch
+ expressions are in many cases no longer required.
+
+
+ OTP-17171 Application(s): stdlib
+ Related Id(s): PR-3011
+
+ Improved explanation of {continue,Continue} in
+ Module:init/1 of the gen_server documentation.
+
+
+ OTP-17175 Application(s): stdlib
+
+ The erl_eval module now accepts a map for keeping track
+ of bindings. Using an orddict for bindings will still
+ work.
+
+
+ OTP-17199 Application(s): stdlib
+ Related Id(s): PR-2658
+
+ Documented epp:scan_erl_form/1 and added
+ epp:scan_file/2.
+
+
+ OTP-17210 Application(s): stdlib
+
+ The standard floating point printing algorithm used by
+ the io and io_lib modules has been changed from the
+ algorithm described in [1] to the Ryu algorithm [2].
+ This gives a significant speed improvement for the
+ printing of most floating point numbers and a small
+ memory consumption improvement.
+
+ [1]: Robert G. Burger and R. Kent Dybvig. 1996.
+ Printing floating-point numbers quickly and accurately.
+ In Proceedings of the ACM SIGPLAN 1996 conference on
+ Programming language design and implementation (PLDI
+ '96). Association for Computing Machinery, New York,
+ NY, USA, 108–116.
+ DOI:https://doi.org/10.1145/231379.231397
+
+ [2]: Ulf Adams. 2018. Ryū: fast float-to-string
+ conversion. In Proceedings of the 39th ACM SIGPLAN
+ Conference on Programming Language Design and
+ Implementation (PLDI 2018). Association for Computing
+ Machinery, New York, NY, USA, 270–282.
+ DOI:https://doi.org/10.1145/3192366.3192369
+
+ Thanks to Thomas Depierre
+
+
+ OTP-17236 Application(s): stdlib
+ Related Id(s): PR-3014
+
+ Add hex encoding and decoding functions in the binary
+ module.
+
+
+ OTP-17263 Application(s): stdlib
+
+ The undocumented and partially broken ets:filter/3
+ function has been removed.
+
+
+ OTP-17267 Application(s): stdlib
+
+ Add support in shell_docs to display any "text"
+ documentation format. This means that h(Module) in the
+ shell now can display the "text/markdown" of Elixir
+ documentation.
+
+
+ OTP-17276 Application(s): stdlib
+ Related Id(s): PR-2979
+
+ The internal hashing of keys within ETS tables of types
+ set, bag, duplicate_bag has been salted to diverge from
+ erlang:phash2. This to avoid bad hashing if phash2 is
+ used to distribute the keys over separate tables/nodes.
+
+
+ OTP-17327 Application(s): stdlib
+ Related Id(s): PR-4707
+
+ Updated to the Unicode 13.0 specification.
+
+
+ OTP-17330 Application(s): compiler, stdlib
+
+ Add compiler option {nowarn_unused_record,
+ RecordNames}. Document compiler option
+ nowarn_unused_type.
+
+
+ OTP-17334 Application(s): stdlib
+ Related Id(s): EEP-56, PR-4638
+
+ *** HIGHLIGHT ***
+
+ Implementation of EEP 56 in supervisor. It adds the
+ concept of significant children as well as the
+ auto_shutdown supervisor flag.
+
+ See the supervisor manual page for more information.
+
+
+ OTP-17385 Application(s): common_test, et, inets, kernel, snmp,
+ stdlib
+ Related Id(s): OTP-17123
+
+ Fixed warnings in code matching on underscore prefixed
+ variables.
+
+
+ Full runtime dependencies of stdlib-3.15: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-2.6 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17302 Application(s): syntax_tools
+ Related Id(s): PR-4705
+
+ The type spec of erl_syntax:function_type/2 has been
+ fixed.
+
+
+ OTP-17321 Application(s): syntax_tools
+
+ Output parentheses around BitStringExpr when
+ pretty-printing binary comprehensions.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-17180 Application(s): syntax_tools
+
+ The igor and erl_tidy modules have been the removed and
+ are now maintained by their original author Richard
+ Carlsson. They can be found at github.com/richcarl/igor
+ and github.com/richcarl/erl_tidy, respectively.
+
+
+ Full runtime dependencies of syntax_tools-2.6: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17243 Application(s): erl_docgen, ftp, kernel, ssh, ssl,
+ tftp
+ Related Id(s): PR-4557
+
+ Missing runtime dependencies has been added to this
+ application.
+
+
+ Full runtime dependencies of tftp-1.0.3: erts-6.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17221 Application(s): tools
+ Related Id(s): PR-4547
+
+ For cover-compiled code, the error behaviour of list
+ and binary comprehensions that used andalso/orelse in
+ guards could be changed so that a filter that was
+ supposed be evaluated in guard context was evaluated in
+ body context. That is, there was a possibility that
+ comprehensions that did not raise exceptions could
+ raise exceptions when being run using cover.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16678 Application(s): erts, stdlib, syntax_tools, tools
+ Related Id(s): PR-2627
+
+ Support for handling abstract code created before OTP
+ R15 has been dropped.
+
+
+ OTP-16957 Application(s): parsetools, tools
+
+ Add types and specifications for documentation.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ Full runtime dependencies of tools-3.5: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.0 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17105 Application(s): crypto, erts, odbc, wx
+ Related Id(s): PR-2872
+
+ Fix compiler warnings produced by the clang compiler.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16800 Application(s): wx
+
+ *** HIGHLIGHT ***
+
+ The application has been completely rewritten in order
+ to use wxWidgets version 3 as its base.
+
+ Add basic documentation generated from the wxWidgets
+ project.
+
+
+ OTP-16963 Application(s): common_test, compiler, dialyzer,
+ erl_interface, erts, kernel, runtime_tools, sasl,
+ stdlib, tools, wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The experimental HiPE application has been removed,
+ together with all related functionality in other
+ applications.
+
+
+ OTP-17213 Application(s): wx
+ Related Id(s): PR-3027
+
+ *** HIGHLIGHT ***
+
+ Added support for wxWebView.
+
+
+ OTP-17219 Application(s): wx
+ Related Id(s): OTP-16800
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Due to the support of the new backend versions some API
+ incompatibilities have been introduced. Examples of
+ changes are:
+
+ wxWindowDC default creators have been removed
+ wxClientDC default creators have been removed
+ wxPaintDC default creators have been removed
+ wxWindow:setVirtualSizeHints() has been deprecated in
+ wxWidgets and removed
+ wxWindow:makeModal() has been deprecated in wxWidgets
+ and removed
+ wxToolBar:add/insertTool without label have been
+ deprecated in wxWidgets and removed
+ wxStyledTextCtrl some functions have changed arguments
+ from boolean to int
+ wxSizerItem:new() Some arguments have become options
+ Removed deprecated wxSizerItem:setWindow() use
+ assignWindow()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSpacer() use
+ assignSpacer()
+ Removed deprecated wxSizerItem:setSizer() use
+ assignSizer()
+ wxMenu append/insert/prepend have changed return value
+ and lost IsCheckable argument
+ wxListCtrl:setItem/4 changed return value
+ wxImage:convertToGreyscale() options have changed
+ wxGridSizer:wxGridSizer() options have changed
+ wxGrid API have many changes
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGraphicsRenderer:createPen() have been removed
+ wxGraphicsRenderer:create*GradientBrush() uses
+ GradientStops now
+ wxGLCanvas API is incompatible
+ wxFlexGridSizer:wxFlexGridSizer() options have changed
+ wxDisplay:new() options have changed
+ wxCalendarDateAttr:new(ColText [,OptList]) have been
+ removed
+ wxBitmapButton:set/getBitmapSelected() have been
+ removed
+
+
+ Full runtime dependencies of wx-2.0: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.28 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17388 Application(s): xmerl
+ Related Id(s): OTP-17123
+
+ Fixed a bug that could cause parsing to crash.
+
+
+ Full runtime dependencies of xmerl-1.3.28: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Alexander Clouter, Alexander Petrovsky, Andreas Schultz, Bryan
+ Paxton, Cheng Zhe, Dominic Letz, Eksperimental, Erlend Hamberg,
+ Filipe Cristovao, Frej Drejhammar, Henrik Lagebrand, Jesper Eskilson,
+ Jonathan Klabunde Tomer, José Valim, João Henrique Ferreira de
+ Freitas, Jérôme de Bretagne, Leo Liu, Linus.yuan, Loïc Hoguin, Luca
+ Favatella, Luis Rascao, Luke Bakken, Maria Scott, Maria-12648430,
+ Mariano Guerra, Mattias Hansson, Max Nordlund, Maxim Fedorov, Michal
+ Palka, Michal Piotrowski, Michal Slaski, Michał Muskała, Mikael
+ Pettersson, Nalin Ranjan, Nelson Vides, Nico Piderman, Oskar, Paulo
+ F. Oliveira, Philip Kuryloski, Philipp Klaus Krause, Pierre Allix,
+ Péter Gömöri, Radek Szymczyszyn, Richard Carlsson, Ruud Kamphuis,
+ Stavros Aronis, Taras Halturin, Thomas Depierre, Tianon Gravi, Tony
+ Rogvall, Ulf Wiger, Viktor Söderqvist, Wojtek Mach, Zeyu Zhang, ergl,
+ gearnode, ilya-klyuchnikov, juhlig, lagebr, plan-do-break-fix,
+ skatepalli, vans163, yfractal, Łukasz Niemier
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.1.README.txt b/release-notes/OTP-24.1.1.README.txt
new file mode 100644
index 0000000..aeb3ae0
--- /dev/null
+++ b/release-notes/OTP-24.1.1.README.txt
@@ -0,0 +1,152 @@
+Patch Package: OTP 24.1.1
+Git Tag: OTP-24.1.1
+Date: 2021-09-30
+Trouble Report Id: OTP-17640, OTP-17641, OTP-17642, OTP-17646,
+ OTP-17647, OTP-17649, OTP-17651, OTP-17665
+Seq num: GH-5193, GH-5221, GH-5225, GH-5235
+System: OTP
+Release: 24
+Application: erts-12.1.1, kernel-8.1.1, snmp-5.10.1,
+ stdlib-3.16.1
+Predecessor: OTP 24.1
+
+ Check out the git tag OTP-24.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.1.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.1.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17642 Application(s): erts
+ Related Id(s): PR-5248
+
+ A race between an exiting port and handling of
+ simultaneously received signals to that port could
+ cause a runtime system crash. The effected signals are
+ link, monitor and demonitor. On OTP 22 a similiar race
+ could also cause a memory leak when receiving an unlink
+ signal.
+
+
+ OTP-17646 Application(s): erts
+ Related Id(s): GH-5221, PR-5232
+
+ A user defined tag on a monitor message could cause the
+ runtime system to crash when the monitor message had
+ been received.
+
+
+ OTP-17647 Application(s): erts
+ Related Id(s): GH-5225, PR-5230
+
+ A call to erlang:demonitor(Ref) where the reference Ref
+ referred to an active alias, but not an active monitor,
+ caused the runtime system to crash.
+
+
+ OTP-17651 Application(s): erts
+ Related Id(s): GH-5235, PR-5244
+
+ The message queue of a process entered an inconsistent
+ state after a receive expression with an invalid
+ timeout value was executed. If the exception raised due
+ to the invalid timeout value was caught, the following
+ receive expression executed by the process could fail
+ to match messages already present in the message queue.
+
+ On OTP 24 this could also cause the whole runtime
+ system to crash.
+
+
+ OTP-17665 Application(s): erts
+ Related Id(s): PR-5248
+
+ Sending a Port ! {PortOwner, close} signal from a
+ process other than the port owner could erroneously
+ trigger a badsig exit signal being sent to the port
+ owner process even though the correct PortOwner had
+ been passed in the signal.
+
+
+ Full runtime dependencies of erts-12.1.1: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-8.1.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17640 Application(s): kernel
+
+ Add more info about the socket 'type' ('socket' or
+ 'port') for the DOWN message when monitoring sockets.
+
+
+ Full runtime dependencies of kernel-8.1.1: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.10.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.10.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17641 Application(s): snmp
+ Related Id(s): OTP-17640
+
+ Sockets are monitored, but the handling of the 'DOWN'
+ message expected a new style socket ('socket'), old
+ style (port) was not handled.
+
+
+ Full runtime dependencies of snmp-5.10.1: crypto-3.3, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.16.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.16.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17649 Application(s): stdlib
+ Related Id(s): GH-5193, PR-5201
+
+ Fixed a bug that could cause a child to become orphaned
+ when a supervisor died between unlinking and sending
+ the shutdown signal to this child.
+
+ There was also a possibility for erratic supervisor
+ reports caused by a race between a supervisor shutting
+ down a child and that child exiting by itself at the
+ same time.
+
+
+ Full runtime dependencies of stdlib-3.16.1: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.2.README.txt b/release-notes/OTP-24.1.2.README.txt
new file mode 100644
index 0000000..364120d
--- /dev/null
+++ b/release-notes/OTP-24.1.2.README.txt
@@ -0,0 +1,167 @@
+Patch Package: OTP 24.1.2
+Git Tag: OTP-24.1.2
+Date: 2021-10-05
+Trouble Report Id: OTP-17393, OTP-17657, OTP-17658, OTP-17659,
+ OTP-17666, OTP-17668, OTP-17670, OTP-17672
+Seq num: ERIERL-702, GH-5224, GH-5239
+System: OTP
+Release: 24
+Application: crypto-5.0.4, erts-12.1.2, kernel-8.1.2,
+ public_key-1.11.3, ssl-10.5.1
+Predecessor: OTP 24.1.1
+
+ Check out the git tag OTP-24.1.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17668 Application(s): crypto
+ Related Id(s): PR-5245
+
+ Fixed minor memory leak at crypto module purge.
+
+
+ OTP-17672 Application(s): crypto
+
+ Fix possible inconsistency in fips mode when linking
+ with some cryptolibs.
+
+
+ Full runtime dependencies of crypto-5.0.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.1.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.1.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17658 Application(s): erts
+
+ The python scripts that existed in
+ erts/lib_src/yielding_c_fun/lib/tiny_regex_c/scripts
+ had a license that was incompatible with Erlang/OTP's
+ license. This ticket removes these scripts that were
+ not used by us.
+
+
+ Full runtime dependencies of erts-12.1.2: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.1.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-8.1.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17659 Application(s): kernel
+ Related Id(s): ERIERL-702
+
+ The undocumented DNS encode/decode module inet_dns has
+ been cleaned up to handle the difference between
+ "symbolic" and "raw" records in a more consistent
+ manner.
+
+ PR-5145/OTP-17584 introduced a change that contributed
+ to an already existing confusion, which this correction
+ should remedy.
+
+
+ Full runtime dependencies of kernel-8.1.2: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.11.3 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.11.3 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17657 Application(s): public_key, ssl
+
+ Avoid re-encoding of decoded certificates. This could
+ cause unexpected failures as some subtle encoding
+ errors can be tolerated when decoding but hence
+ creating another sequence of bytes if the decoded value
+ is re-encoded.
+
+
+ Full runtime dependencies of public_key-1.11.3: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.5.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.5.1 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17393 Application(s): ssl
+
+ Before that change, TLS downgrade could occasionally
+ fail when data intended for downgraded socket were
+ delivered together with CLOSE_NOTIFY alert to ssl app.
+
+
+ OTP-17657 Application(s): public_key, ssl
+
+ Avoid re-encoding of decoded certificates. This could
+ cause unexpected failures as some subtle encoding
+ errors can be tolerated when decoding but hence
+ creating another sequence of bytes if the decoded value
+ is re-encoded.
+
+
+ OTP-17666 Application(s): ssl
+ Related Id(s): GH-5239
+
+ Fix possible process leak when the process doing
+ ssl:transport_accept dies before initiating the TLS
+ handshake.
+
+
+ OTP-17670 Application(s): ssl
+ Related Id(s): GH-5224
+
+ Fix dtls memory leak, the replay window code was
+ broken.
+
+
+ Full runtime dependencies of ssl-10.5.1: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.3.README.txt b/release-notes/OTP-24.1.3.README.txt
new file mode 100644
index 0000000..828cef4
--- /dev/null
+++ b/release-notes/OTP-24.1.3.README.txt
@@ -0,0 +1,163 @@
+Patch Package: OTP 24.1.3
+Git Tag: OTP-24.1.3
+Date: 2021-10-27
+Trouble Report Id: OTP-17675, OTP-17677, OTP-17679, OTP-17686,
+ OTP-17688, OTP-17700, OTP-17712, OTP-17722,
+ OTP-17723
+Seq num: GH-5255, GH-5271, GH-5300, GH-5310
+System: OTP
+Release: 24
+Application: erts-12.1.3, ssl-10.5.2
+Predecessor: OTP 24.1.2
+
+ Check out the git tag OTP-24.1.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-24.1.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17679 Application(s): otp
+ Related Id(s): PR-5251
+
+ Fix handling of the top configure command line
+ arguments --srcdir=<DIR>, --cache-file=<FILE>,
+ --without-<APP>, CFLAGS=<FLAGS>, and LDFLAGS=<FLAGS>
+ which failed on some platforms.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.1.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.1.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17675 Application(s): erts
+
+ Reduction counter was not updated before and after
+ doing apply operations on the runtime system with the
+ jit enabled. This caused reduction counting to get out
+ of sync if a garbage collection was made as part of the
+ apply operation.
+
+
+ OTP-17677 Application(s): erts
+
+ This fixes a bug in erts_factory_undo that caused the
+ heap to not be reset correctly. The erts_factory_undo
+ function is, for example, called when a
+ binary_to_term/1 call fails to reset the heap to its
+ state before the binary_to_term/1 call. This can cause
+ the heap to contain invalid terms which potentially can
+ cause issues (e.g., crashes) when the whole heap is
+ scanned.
+
+
+ OTP-17686 Application(s): erts
+
+ When attempting to construct a binary with an segment
+ having an illegal type for the size (e.g. an atom),
+ there could be an unnecessary memory allocation (and
+ subsequent deallocation) before the operation failed.
+ Amended to fail before allocating any memory for the
+ binary.
+
+
+ OTP-17700 Application(s): erts
+ Related Id(s): GH-5271, PR-5273
+
+ Fix bug in persistent_term when a key-value pair
+ contains a magic reference that is referred more than
+ once. Magic references are NIF resources or returned
+ from BIFs like ets:new, atomics:new. The bug could
+ cause the memory of the referred resource to be
+ prematurely deallocated.
+
+ The bug also apply to magic references in message
+ passing on a runtime built with configure option
+ --enable-sharing-preserving.
+
+ Bug exist for 64-bit since OTP-24.0 and for 32-bit
+ since OTP-20.0.
+
+
+ OTP-17712 Application(s): erts
+
+ Fixed a crash when inspecting the stack trace of an
+ exception raised at a very high line number.
+
+ This bug was introduced in OTP 24.
+
+
+ OTP-17722 Application(s): erts
+ Related Id(s): GH-5310, PR-5313
+
+ The following two bugs that caused erlang:demonitor()
+ to behave erroneously have been fixed. The bugs were
+ only triggered if the monitor that was removed by
+ demonitor() had previously been created simultaneously
+ as a monitor and as an alias.
+
+ -- A demonitor operation on a monitor created using the
+ {alias, reply_demonitor} option erroneously behaved as
+ if the {alias, explicit_unalias} option had been used.
+
+ -- A demonitor operation did not prevent a
+ corresponding 'DOWN' message from being delivered if
+ the monitor reference was kept as an active alias after
+ the operation. This could only occur if the monitored
+ process simultaneously terminated before the demonitor
+ signal reached it, and the exit reason was not an
+ immediate term. That is, a term larger than one machine
+ word.
+
+
+ Full runtime dependencies of erts-12.1.3: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.5.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.5.2 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17688 Application(s): ssl
+ Related Id(s): GH-5255
+
+ Fix TLS-1.2 RSA-PSS negotiation and also fix broken
+ certificate request message for pre-TLS-1.3 servers.
+
+
+ OTP-17723 Application(s): ssl
+ Related Id(s): GH-5300
+
+ Fix CRL issuer verification that under some
+ circumstances could fail with a function_clause error.
+
+
+ Full runtime dependencies of ssl-10.5.2: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.4.README.txt b/release-notes/OTP-24.1.4.README.txt
new file mode 100644
index 0000000..30472f2
--- /dev/null
+++ b/release-notes/OTP-24.1.4.README.txt
@@ -0,0 +1,49 @@
+Patch Package: OTP 24.1.4
+Git Tag: OTP-24.1.4
+Date: 2021-11-02
+Trouble Report Id: OTP-17731, OTP-17732
+Seq num: ERIERL-664
+System: OTP
+Release: 24
+Application: erts-12.1.4
+Predecessor: OTP 24.1.3
+
+ Check out the git tag OTP-24.1.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.1.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.1.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17731 Application(s): erts
+ Related Id(s): PR-5285
+
+ Fix bug where a gen_tcp write error that happened
+ during a delayed_send would cause a use after free
+ segfault.
+
+
+ OTP-17732 Application(s): erts
+ Related Id(s): ERIERL-664, PR-5331
+
+ Fix x86 JIT bug where a rem instruction could cause a
+ segfault if given values that would cause an badarith
+ exception.
+
+
+ Full runtime dependencies of erts-12.1.4: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.5.README.txt b/release-notes/OTP-24.1.5.README.txt
new file mode 100644
index 0000000..10a0d6b
--- /dev/null
+++ b/release-notes/OTP-24.1.5.README.txt
@@ -0,0 +1,156 @@
+Patch Package: OTP 24.1.5
+Git Tag: OTP-24.1.5
+Date: 2021-11-11
+Trouble Report Id: OTP-17734, OTP-17735, OTP-17736, OTP-17737
+Seq num: GH-4989, GH-5279, GH-5327, GH-5339, GH-5346
+System: OTP
+Release: 24
+Application: erts-12.1.5, kernel-8.1.3
+Predecessor: OTP 24.1.4
+
+ Check out the git tag OTP-24.1.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17734 Application(s): kernel
+ Related Id(s): GH-5327, OTP-17659
+
+ The internal, undocumented, but used, module inet_dns
+ has been fixed to handle mDNS high bit usage of the
+ Class field.
+
+ Code that uses the previously obsolete, undocumented
+ and unused record field #dns_rr.func will need to be
+ updated since that field is now used as a boolean flag
+ for the mDNS high Class bit. Code that uses the also
+ undocumented record #dns_query will need to be
+ recompiled since a boolean field
+ #dns_query.unicast_response has been added for the mDNS
+ high Class bit.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.1.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.1.5 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17735 Application(s): erts
+ Related Id(s): GH-5339
+
+ The runtime system could call select() with a too large
+ timeout value when executing on MacOS. This could in
+ turn cause the runtime system to crash.
+
+
+ OTP-17736 Application(s): erts, kernel
+ Related Id(s): GH-5279, OTP-17559, PR-5120
+
+ The fix for Linux's behaviour when reconnecting an UDP
+ socket in PR-5120 released in OTP-24.1.2 has been
+ refined to only dissolve the socket's connection before
+ a connect if the socket is already connected, that is:
+ only for a reconnect.
+
+ This allows code to open a socket with an ephemeral
+ port, get the port number and connect; without the port
+ number changing (on Linux). This turned out to have at
+ least one valid use case (besides test cases).
+
+ Should one reconnect the socket then the port number
+ may change, on Linux; it is a known quirk, which can be
+ worked around by binding to a specific port number when
+ opening the socket. If you can do without an ephemeral
+ port, that is...
+
+
+ OTP-17737 Application(s): erts
+ Related Id(s): GH-4989, GH-5346
+
+ Certain distributed signals that for various reasons
+ must to be forced into the distribution buffer even
+ when it is full would instead be lost if the
+ distribution buffer was full when sent. The effected
+ signals:
+
+ -- EXIT signals with exit reasons of one word size.
+
+ -- DOWN signals with exit reasons of one word size.
+
+ -- demonitor signals from a terminating process.
+
+ -- unlink_ack signals on OTP 23 and 24.
+
+ -- spawn_reply signals on OTP 23 and 24.
+
+
+ Full runtime dependencies of erts-12.1.5: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.1.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-8.1.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17734 Application(s): kernel
+ Related Id(s): GH-5327, OTP-17659
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The internal, undocumented, but used, module inet_dns
+ has been fixed to handle mDNS high bit usage of the
+ Class field.
+
+ Code that uses the previously obsolete, undocumented
+ and unused record field #dns_rr.func will need to be
+ updated since that field is now used as a boolean flag
+ for the mDNS high Class bit. Code that uses the also
+ undocumented record #dns_query will need to be
+ recompiled since a boolean field
+ #dns_query.unicast_response has been added for the mDNS
+ high Class bit.
+
+
+ OTP-17736 Application(s): erts, kernel
+ Related Id(s): GH-5279, OTP-17559, PR-5120
+
+ The fix for Linux's behaviour when reconnecting an UDP
+ socket in PR-5120 released in OTP-24.1.2 has been
+ refined to only dissolve the socket's connection before
+ a connect if the socket is already connected, that is:
+ only for a reconnect.
+
+ This allows code to open a socket with an ephemeral
+ port, get the port number and connect; without the port
+ number changing (on Linux). This turned out to have at
+ least one valid use case (besides test cases).
+
+ Should one reconnect the socket then the port number
+ may change, on Linux; it is a known quirk, which can be
+ worked around by binding to a specific port number when
+ opening the socket. If you can do without an ephemeral
+ port, that is...
+
+
+ Full runtime dependencies of kernel-8.1.3: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.6.README.txt b/release-notes/OTP-24.1.6.README.txt
new file mode 100644
index 0000000..ac61bd2
--- /dev/null
+++ b/release-notes/OTP-24.1.6.README.txt
@@ -0,0 +1,54 @@
+Patch Package: OTP 24.1.6
+Git Tag: OTP-24.1.6
+Date: 2021-11-18
+Trouble Report Id: OTP-17756, OTP-17757
+Seq num: GH-5352, GH-5383
+System: OTP
+Release: 24
+Application: ssl-10.5.3
+Predecessor: OTP 24.1.5
+
+ Check out the git tag OTP-24.1.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssl-10.5.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.5.3 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17756 Application(s): ssl
+ Related Id(s): GH-5383, PR-5397
+
+ Correct typo of ECC curve name in signature algorithm
+ handling. Will make the signature algorithm
+ ecdsa_secp521r1_sha512 succeed.
+
+
+ OTP-17757 Application(s): ssl
+ Related Id(s): GH-5352, PR-5395
+
+ Suppress authenticity warning when option verify_none
+ is explicitly supplied.
+
+
+ Full runtime dependencies of ssl-10.5.3: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.7.README.txt b/release-notes/OTP-24.1.7.README.txt
new file mode 100644
index 0000000..2a7e4f3
--- /dev/null
+++ b/release-notes/OTP-24.1.7.README.txt
@@ -0,0 +1,42 @@
+Patch Package: OTP 24.1.7
+Git Tag: OTP-24.1.7
+Date: 2021-11-22
+Trouble Report Id: OTP-17764
+Seq num: ERIERL-726
+System: OTP
+Release: 24
+Application: ssh-4.12.5
+Predecessor: OTP 24.1.6
+
+ Check out the git tag OTP-24.1.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.12.5 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17764 Application(s): ssh
+ Related Id(s): ERIERL-726
+
+ Fixed a race condition in the acceptor loop: if a
+ client disconnected immediately after the tcp connect,
+ the server could cease handling connection on that
+ address:port.
+
+
+ Full runtime dependencies of ssh-4.12.5: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.1.README.txt b/release-notes/OTP-24.1.README.txt
new file mode 100644
index 0000000..95f2d27
--- /dev/null
+++ b/release-notes/OTP-24.1.README.txt
@@ -0,0 +1,1416 @@
+Patch Package: OTP 24.1
+Git Tag: OTP-24.1
+Date: 2021-09-22
+Trouble Report Id: OTP-16590, OTP-16607, OTP-17317, OTP-17325,
+ OTP-17346, OTP-17376, OTP-17377, OTP-17383,
+ OTP-17389, OTP-17390, OTP-17392, OTP-17410,
+ OTP-17413, OTP-17421, OTP-17423, OTP-17424,
+ OTP-17425, OTP-17426, OTP-17429, OTP-17430,
+ OTP-17432, OTP-17434, OTP-17438, OTP-17440,
+ OTP-17441, OTP-17445, OTP-17446, OTP-17449,
+ OTP-17450, OTP-17453, OTP-17454, OTP-17456,
+ OTP-17458, OTP-17460, OTP-17463, OTP-17464,
+ OTP-17469, OTP-17476, OTP-17477, OTP-17478,
+ OTP-17483, OTP-17491, OTP-17492, OTP-17495,
+ OTP-17499, OTP-17501, OTP-17503, OTP-17505,
+ OTP-17507, OTP-17508, OTP-17510, OTP-17511,
+ OTP-17512, OTP-17513, OTP-17514, OTP-17517,
+ OTP-17519, OTP-17520, OTP-17521, OTP-17522,
+ OTP-17526, OTP-17530, OTP-17533, OTP-17534,
+ OTP-17535, OTP-17537, OTP-17538, OTP-17539,
+ OTP-17540, OTP-17541, OTP-17542, OTP-17549,
+ OTP-17552, OTP-17559, OTP-17564, OTP-17567,
+ OTP-17570, OTP-17571, OTP-17572, OTP-17573,
+ OTP-17574, OTP-17575, OTP-17576, OTP-17577,
+ OTP-17578, OTP-17580, OTP-17581, OTP-17583,
+ OTP-17584, OTP-17586, OTP-17590, OTP-17591,
+ OTP-17593, OTP-17596, OTP-17600, OTP-17602,
+ OTP-17604, OTP-17609, OTP-17613, OTP-17616,
+ OTP-17618, OTP-17622, OTP-17624, OTP-17626,
+ OTP-17628, OTP-17632, OTP-17634, OTP-17635
+Seq num: ERIERL-648, ERIERL-655, ERIERL-668,
+ ERIERL-679, ERIERL-683, ERIERL-685, ERL-1261,
+ ERL-1264, ERL-625, GH-3533, GH-4256, GH-4270,
+ GH-4501, GH-4677, GH-4761, GH-4772, GH-4796,
+ GH-4801, GH-4823, GH-4846, GH-4855, GH-4862,
+ GH-4900, GH-4902, GH-4916, GH-4918, GH-4920,
+ GH-4931, GH-4964, GH-4978, GH-4985, GH-4995,
+ GH-4999, GH-5007, GH-5009, GH-5014, GH-5029,
+ GH-5031, GH-5040, GH-5054, GH-5058, GH-5063,
+ GH-5067, GH-5092, GH-5103, GH-5118, GH-5122,
+ GH-5136, GH-5156, GH-5157, GH-5171, GH-5192,
+ GH-5196
+System: OTP
+Release: 24
+Application: asn1-5.0.17, common_test-1.21,
+ compiler-8.0.3, crypto-5.0.3, debugger-5.2,
+ dialyzer-4.4.2, edoc-1.0.1, erl_docgen-1.1.2,
+ erl_interface-5.1, erts-12.1, eunit-2.7,
+ inets-7.4.2, jinterface-1.12.1, kernel-8.1,
+ megaco-4.1, mnesia-4.20, observer-2.10,
+ os_mon-2.7.1, parsetools-2.3.1,
+ public_key-1.11.2, runtime_tools-1.17,
+ snmp-5.10, ssh-4.12.4, ssl-10.5, stdlib-3.16,
+ tools-3.5.1, wx-2.1
+Predecessor: OTP 24.0.6
+
+ Check out the git tag OTP-24.1, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17317 Application(s): stdlib
+ Related Id(s): PR-4757
+
+ Most output functions in the io module now print extra
+ error information when provided with invalid arguments.
+ The functions are: io:format, io:fwrite, io:put_chars,
+ io:nl and io:write.
+
+
+ OTP-17483 Application(s): otp
+
+ The Efficiency Guide has been extended with a chapter
+ about maps.
+
+
+ OTP-17542 Application(s): erts
+ Related Id(s): GH-5031, PR-5032
+
+ init:stop() no longer unloads loaded code before
+ terminating the runtime system. On systems with slow
+ CPUs (such as Raspberry PI Zero), that can
+ significantly speed up termination of the runtime
+ system.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-24.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17432 Application(s): otp
+ Related Id(s): GH-4862
+
+ In the Reference manual, the shadowing rules for list
+ comprehensions have been clarified.
+
+
+ OTP-17491 Application(s): otp
+ Related Id(s): PR-4909
+
+ Fixed configure issue on BSD.
+
+
+ OTP-17540 Application(s): otp
+ Related Id(s): PR-5101
+
+ The guard BIF is_map_key/2 is now included in the list
+ of guard BIFs in the Reference Manual.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17483 Application(s): otp
+
+ *** HIGHLIGHT ***
+
+ The Efficiency Guide has been extended with a chapter
+ about maps.
+
+
+ OTP-17514 Application(s): otp
+ Related Id(s): ERIERL-668
+
+ The configure stage now fails if the canonicalized host
+ value is equal to the canonicalized build value when
+ cross compiling. Previously the configure stage
+ succeeded and the cross build continued by overwriting
+ the bootstrap build results with cross build results
+ which caused failure to build Erlang code.
+
+
+ OTP-17549 Application(s): otp
+ Related Id(s): GH-3533
+
+ A new section about accidental loss of sharing has been
+ added to the "Common Caveat" chapter of the Efficiency
+ Guide.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.17 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.17 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17522 Application(s): asn1
+ Related Id(s): GH-4902
+
+ A parameterized type with a SEQUENCE with extension
+ ("...") made the compiler backend to crash. The
+ previous fix for this in GH-4514 was not complete.
+
+
+ Full runtime dependencies of asn1-5.0.17: erts-7.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.21 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.21 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17413 Application(s): common_test
+ Related Id(s): PR-4767
+
+ Float allowed as multiply_timetraps parameter.
+
+
+ OTP-17632 Application(s): common_test
+ Related Id(s): PR-5022
+
+ Remove usage of legacy API macro and functions.
+
+
+ Full runtime dependencies of common_test-1.21: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.0.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17421 Application(s): compiler
+
+ If a parse transform raised an exception using throw/1
+ or exit/1, the compiler would report that as an
+ internal compiler error, which would be confusing.
+ Amended to report that the parse transform failed.
+
+
+ OTP-17430 Application(s): compiler, stdlib
+
+ The failing call io:format("~p\n") would result in a
+ warning for line number 0 instead of the correct line
+ and column numbers. This has been corrected, and all
+ warnings for failing calls to io:format() has been
+ rephrased to make it clearer exactly what the problem
+ is.
+
+
+ OTP-17434 Application(s): compiler, stdlib
+ Related Id(s): GH-4772
+
+ When the options warn_missing_spec and export_all were
+ given, there would only be warnings for missing specs
+ for functions that had been explicitly exported using
+ an -export attribute.
+
+
+ OTP-17446 Application(s): compiler
+ Related Id(s): PR-4899
+
+ In rare circumstances, the compiler could emit an
+ incorrect warning for a term that was constructed but
+ never used.
+
+
+ OTP-17495 Application(s): compiler, erts
+ Related Id(s): PR-5153
+
+ Corrected bugs where builds were not reducible even
+ when the deterministic option was given. In particular,
+ modules with map literals with more than 32 elements
+ could cause this problem.
+
+ As part of this fix, the term_to_binary BIF now accepts
+ the option deterministic.
+
+
+ OTP-17505 Application(s): compiler, stdlib
+ Related Id(s): GH-4995
+
+ The MODULE and MODULE_STRING macros would always appear
+ to be defined (when tested by -ifdef), even though no
+ -module() declaration had been seen yet. Changed so
+ that -ifdef ?MODULE. will not consider ?MODULE defined
+ if -module() has not been previously seen.
+
+
+ OTP-17510 Application(s): compiler
+ Related Id(s): GH-5007
+
+ In a guard, not (X =:= true) would incorrectly evaluate
+ to false for non-boolean values of X.
+
+
+ OTP-17581 Application(s): compiler, stdlib
+ Related Id(s): PR-5141
+
+ When the deterministic option was given to the
+ compiler, the ?FILE macro would be expanded to full
+ path of the source file before the first include
+ directive and to base part of the filename after
+ include directive.
+
+
+ Full runtime dependencies of compiler-8.0.3: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17593 Application(s): crypto
+ Related Id(s): ERIERL-679
+
+ Fix bug in crypto:ensure_engine_unloaded. Also fixed
+ minor memory leak related to engine unloading.
+
+
+ OTP-17618 Application(s): crypto
+ Related Id(s): GH-4920, PR-5126
+
+ Fixes that FIPS enable and disable (or vice versa) on
+ Windows sometimes leads to core dump at the time of
+ process exit.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17389 Application(s): crypto
+
+ Disable fips if cryptolib < 1.0.1 and OTP/crypto is
+ configured with --enable-fips
+
+ If not, there could be compiling or loading problems
+ with antique OpenSSL versions.
+
+
+ Full runtime dependencies of crypto-5.0.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17574 Application(s): debugger
+
+ Improve record handling, print known records with
+ record syntax.
+
+
+ Full runtime dependencies of debugger-5.2: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.4.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17511 Application(s): dialyzer
+ Related Id(s): GH-4501
+
+ Do not crash if a PLT file no longer exists.
+
+
+ OTP-17537 Application(s): dialyzer
+
+ Fix bug in erl_types related to maps.
+
+
+ OTP-17541 Application(s): dialyzer
+
+ Fix bugs in erl_types regarding improper lists.
+
+
+ OTP-17616 Application(s): dialyzer
+ Related Id(s): GH-5118
+
+ The underspecs and overspecs options will now generate
+ correct warnings for misused opaque types.
+
+
+ Full runtime dependencies of dialyzer-4.4.2: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-1.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17552 Application(s): edoc
+ Related Id(s): GH-5058
+
+ Fix broken documentation link in edoc_extract:file/4.
+
+
+ Full runtime dependencies of edoc-1.0.1: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.1.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.1.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17458 Application(s): erl_docgen
+ Related Id(s): PR-4764
+
+ Fix codeinclude tags to work as part of reference
+ manual documentation.
+
+
+ OTP-17575 Application(s): erl_docgen
+ Related Id(s): PR-5132
+
+ Fix creation of link elements with anchors in EEP-48
+ style documentation.
+
+
+ Full runtime dependencies of erl_docgen-1.1.2: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17626 Application(s): erl_interface
+
+ erl_call now prints an error when the arguments cannot
+ be parsed.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17377 Application(s): erts, observer
+
+ Atoms with Unicode code points greater than 255 (for
+ example Greek or Cyrillic characters) would not be
+ displayed correctly by crashdump_viewer.
+
+
+ OTP-17445 Application(s): erts
+ Related Id(s): PR-4843
+
+ Fix rare minor memory leak related to jit code loading.
+
+
+ OTP-17449 Application(s): erts, kernel
+ Related Id(s): GH-4900
+
+ The extended error information has been corrected and
+ improved for the following BIFs:
+ binary_to_existing_atom/2, list_to_existing_atom/1,
+ erlang:send_after/{3,4}, and erlang:start_timer/{3,4}.
+
+
+ OTP-17477 Application(s): erts
+ Related Id(s): GH-4846, PR-4894
+
+ Fix bug provoked when building with gcc 10 and link
+ time optimization (-flto), causing Erlang compiler to
+ crash. Bug exists since OTP-24.0.
+
+
+ OTP-17495 Application(s): compiler, erts
+ Related Id(s): PR-5153
+
+ Corrected bugs where builds were not reducible even
+ when the deterministic option was given. In particular,
+ modules with map literals with more than 32 elements
+ could cause this problem.
+
+ As part of this fix, the term_to_binary BIF now accepts
+ the option deterministic.
+
+
+ OTP-17512 Application(s): erts
+
+ After an exception has been caught in a process, the
+ stack trace would be kept in the process longer than
+ necessary.
+
+
+ OTP-17513 Application(s): erts
+ Related Id(s): GH-4964, PR-5015
+
+ Fix rare race bug in memory management of distribution
+ entries. Have been seen to cause VM crash when massive
+ number of repeated concurrent failing connection
+ attempts.
+
+
+ OTP-17539 Application(s): erts
+
+ The configure test for --disable-esock-socket-registry
+ has been corrected so disabling now works.
+
+
+ OTP-17542 Application(s): erts
+ Related Id(s): GH-5031, PR-5032
+
+ *** HIGHLIGHT ***
+
+ init:stop() no longer unloads loaded code before
+ terminating the runtime system. On systems with slow
+ CPUs (such as Raspberry PI Zero), that can
+ significantly speed up termination of the runtime
+ system.
+
+
+ OTP-17567 Application(s): erts
+ Related Id(s): PR-4915, PR-5115
+
+ Fixed match specifications that use maps in either the
+ guard or the body to work properly.
+
+ With this fix both keys and values in maps can be
+ expressions.
+
+ Various other crashes and bugs when using maps in match
+ specifications have also been fixed.
+
+
+ OTP-17578 Application(s): erts, kernel
+ Related Id(s): ERIERL-683
+
+ Parsing of the result value in the native DNS resolver
+ has been made more defensive against incorrect results.
+
+
+ OTP-17591 Application(s): erts
+ Related Id(s): GH-5171
+
+ When binary_to_term/2 failed, the extended error
+ information would always blame the second argument even
+ if the actual error was in the first argument.
+
+
+ OTP-17604 Application(s): erts
+
+ On 32-bit computers, binary_to_term/1,2 is now more
+ resilient against corrupted binaries containing maps in
+ the external format.
+
+
+ OTP-17628 Application(s): erts
+
+ A call to process_info(Pid, status) could erroneously
+ report the status running when it should have reported
+ waiting. This occurred when the calling process was
+ executing on a higher priority than the process being
+ inspected. This bug has been present since OTP 21.0
+ (erts version 10.0).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17426 Application(s): erts
+ Related Id(s): PR-4785
+
+ Optimize memory usage of erts internal processes used
+ during code loading/purging by hibernating them after a
+ long time of inactivity.
+
+
+ OTP-17453 Application(s): erts
+ Related Id(s): PR-4764
+
+ Add the type erlang:stacktrace/0.
+
+
+ OTP-17456 Application(s): erts
+ Related Id(s): PR-4764
+
+ The arity argument of error/2,3 can now be none to
+ indicate that the calling functions arity should be
+ used.
+
+
+ OTP-17469 Application(s): erts
+
+ Optimize match spec compiler for immediate (single
+ word) constant terms.
+
+
+ OTP-17538 Application(s): erts, kernel
+ Related Id(s): GH-5063, PR-5111
+
+ Functions erlang:set_cookie(Cookie) and
+ erlang:get_cookie(Node) have been added for
+ completeness and to facilitate configuring distributed
+ nodes with different cookies.
+
+ The documentation regarding distribution cookies has
+ been improved to be less vague.
+
+
+ OTP-17559 Application(s): erts, kernel
+ Related Id(s): GH-5092, PR-5120
+
+ A workaround has been implemented for Linux's quirky
+ behaviour to not adjust the source IP address when
+ connecting a connected (reconnecing) UDP socket.
+
+ The workaround is to, on Linux, always dissolve any
+ connection before connecting an UDP socket.
+
+
+ OTP-17596 Application(s): erts
+
+ The internal documentation for how to use Yielding C
+ Fun (YCF) has been updated to contain text about best
+ practices for using YCF for ERTS.
+
+
+ OTP-17602 Application(s): erts
+ Related Id(s): PR-5149
+
+ Optimize garbage collection for processes with large
+ number of binaries, funs and/or external
+ pids/ports/refs.
+
+
+ Full runtime dependencies of erts-12.1: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.7 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.7 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17613 Application(s): eunit
+ Related Id(s): PR-5185
+
+ In an eunit test, when a test case times out, include a
+ stacktrace.
+
+
+ Full runtime dependencies of eunit-2.7: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.4.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.4.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17383 Application(s): inets
+ Related Id(s): GH-4677
+
+ Before this change hrefs in dir listing page contained
+ percentage encoded forward slashes which did not work
+ properly with httpd.
+
+
+ OTP-17600 Application(s): inets
+
+ Restored HTTP headers handling in inets/mod_esi.
+
+
+ OTP-17624 Application(s): inets
+ Related Id(s): GH-4855
+
+ inets/httpd dir listing icons and other improvements
+
+
+ --- Improvements and New Features ---
+
+ OTP-17460 Application(s): inets
+
+ httpc: Improve performance by removing redundant URI
+ handling
+
+
+ Full runtime dependencies of inets-7.4.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.12.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.12.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17478 Application(s): jinterface
+ Related Id(s): PR-4837
+
+ Fixed rare race bug that could cause
+ NullPointerException on local close of connection.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-8.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17449 Application(s): erts, kernel
+ Related Id(s): GH-4900
+
+ The extended error information has been corrected and
+ improved for the following BIFs:
+ binary_to_existing_atom/2, list_to_existing_atom/1,
+ erlang:send_after/{3,4}, and erlang:start_timer/{3,4}.
+
+
+ OTP-17476 Application(s): kernel
+ Related Id(s): GH-4931, PR-4934
+
+ Fixed rare bug that could cause net_kernel process to
+ hang for ever. Have seen to happen with massive number
+ of TLS connections while remote nodes are restarting.
+ Bug exists since OTP-22.0.
+
+
+ OTP-17492 Application(s): kernel
+
+ Improve handling of closed sockets for inet:info/1.
+
+
+ OTP-17519 Application(s): kernel
+
+ This change fixes a performance problem introduced in
+ pull-request #2675. Pull-request #2675 made so the
+ system tried to start children of already started
+ applications which is unnecessary. This change fixes
+ this performance problem.
+
+
+ OTP-17570 Application(s): kernel
+ Related Id(s): ERL-1261, GH-4256, PR-5139
+
+ Fix code:get_doc/1 to not crash when module is located
+ in an escript.
+
+
+ OTP-17578 Application(s): erts, kernel
+ Related Id(s): ERIERL-683
+
+ Parsing of the result value in the native DNS resolver
+ has been made more defensive against incorrect results.
+
+
+ OTP-17580 Application(s): kernel
+ Related Id(s): GH-5122
+
+ A bug in the option handling for the legacy socket
+ adaptor, that is; when using inet_backend = socket, has
+ been fixed. Now socket options are set before the
+ bind() call so options regarding, for example address
+ reuse have the desired effect.
+
+
+ OTP-17583 Application(s): kernel
+ Related Id(s): GH-5136
+
+ inet:ntoa/1 has been fixed to not accept invalid
+ numerical addresses.
+
+
+ OTP-17584 Application(s): kernel
+ Related Id(s): PR-5145
+
+ Parsing of DNS records has been improved for records of
+ known types to not accept and present malformed ones in
+ raw format.
+
+
+ OTP-17590 Application(s): kernel
+ Related Id(s): PR-5170
+
+ The ip_mreq() type for the {ip,add_membership} and
+ {ip,drop_membership} socket options has been corrected
+ to have an interface field instead of, incorrectly, an
+ address field.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17376 Application(s): kernel
+ Related Id(s): OTP-17157
+
+ Add simple utility function to display existing sockets
+ i the erlang shell (socket:i/0).
+
+
+ OTP-17410 Application(s): kernel
+
+ gen_udp can now be configured to use the socket
+ inet-backend (in the same way as gen_tcp).
+
+
+ OTP-17538 Application(s): erts, kernel
+ Related Id(s): GH-5063, PR-5111
+
+ Functions erlang:set_cookie(Cookie) and
+ erlang:get_cookie(Node) have been added for
+ completeness and to facilitate configuring distributed
+ nodes with different cookies.
+
+ The documentation regarding distribution cookies has
+ been improved to be less vague.
+
+
+ OTP-17559 Application(s): erts, kernel
+ Related Id(s): GH-5092, PR-5120
+
+ A workaround has been implemented for Linux's quirky
+ behaviour to not adjust the source IP address when
+ connecting a connected (reconnecing) UDP socket.
+
+ The workaround is to, on Linux, always dissolve any
+ connection before connecting an UDP socket.
+
+
+ OTP-17576 Application(s): kernel
+ Related Id(s): ERIERL-685
+
+ Documented our recommendation against opening
+ NFS-mounted files, FIFOs, devices, and similar using
+ file:open/2.
+
+
+ Full runtime dependencies of kernel-8.1: crypto-5.0, erts-12.0,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17533 Application(s): megaco
+
+ It is now possible to configure the built-in transports
+ (megaco_tcp and megaco udp) to use the new (gen_udp-
+ and gen_tcp-) option 'inet_backend'.
+
+
+ Full runtime dependencies of megaco-4.1: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17564 Application(s): mnesia
+ Related Id(s): GH-5040
+
+ Fixed that index keys was deleted for set tables when
+ mnesia:delete_object/1 tried to delete a non-existing
+ record.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17508 Application(s): mnesia
+
+ Optimized table loading and added max_transfer_size
+ configuration parameter.
+
+
+ Full runtime dependencies of mnesia-4.20: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.10 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The observer-2.10 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.1 (first satisfied in OTP 24.1)
+ -- runtime_tools-1.17 (first satisfied in OTP 24.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17377 Application(s): erts, observer
+
+ Atoms with Unicode code points greater than 255 (for
+ example Greek or Cyrillic characters) would not be
+ displayed correctly by crashdump_viewer.
+
+
+ OTP-17425 Application(s): observer
+ Related Id(s): PR-4799
+
+ Fix the crashdump_viewer to be able to parse
+ monitor_node/2 monitors correctly.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17346 Application(s): observer, runtime_tools
+
+ Observer now has a sectiion for new socket.
+
+
+ OTP-17520 Application(s): observer
+ Related Id(s): PR-4962
+
+ Added a trace all button to the trace window.
+
+
+ Full runtime dependencies of observer-2.10: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.17, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.7.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.7.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17441 Application(s): os_mon
+
+ On a Mac with Apple Silicon, memsup:get_os_wordsize/0
+ would return 32 instead of 64.
+
+
+ Full runtime dependencies of os_mon-2.7.1: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.3.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.3.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17499 Application(s): parsetools
+ Related Id(s): GH-4918
+
+ Fix a bug in Leex which caused the Erlang Compiler to
+ generate warnings.
+
+
+ OTP-17535 Application(s): parsetools
+ Related Id(s): GH-5067
+
+ Fix a bug in Yecc which caused the Erlang Compiler to
+ generate warnings.
+
+
+ Full runtime dependencies of parsetools-2.3.1: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.11.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.11.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17534 Application(s): public_key
+ Related Id(s): GH-5054, PR-5057
+
+ public_key:pkix_sign/2 now honors the salt length from
+ the provided input parameters. Earlier this could
+ result in incorrect signatures if not using recommended
+ defaults.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17609 Application(s): public_key
+ Related Id(s): GH-5156, GH-5157
+
+ When decoding an 'ECPrivateKey' unwrap the private key.
+ For more precise information see RFC 8410, section 7.
+
+
+ Full runtime dependencies of public_key-1.11.2: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.17 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The runtime_tools-1.17 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.1 (first satisfied in OTP 24.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-17346 Application(s): observer, runtime_tools
+
+ Observer now has a sectiion for new socket.
+
+
+ OTP-17572 Application(s): runtime_tools
+ Related Id(s): PR-5117
+
+ The dbg docs have been expanded to include the meaning
+ of all the function name acronyms.
+
+
+ Full runtime dependencies of runtime_tools-1.17: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.10 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.10 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17526 Application(s): snmp
+
+ It is now possible to configure the built-in net-if
+ processes (both agent and manager) to use the new
+ (gen_udp-) option 'inet_backend'.
+
+
+ Full runtime dependencies of snmp-5.10: crypto-3.3, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.12.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.12.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17390 Application(s): ssh
+ Related Id(s): ERIERL-648
+
+ Fixed that a slow start (>30s) of a client subsystem
+ could cause a log entry with the password.
+
+
+ OTP-17586 Application(s): ssh
+ Related Id(s): GH-5014
+
+ Fixed an error when running as an sftp server and a
+ client requests a directory contents listing.
+
+ The fix is to handle the error code {error, eacces} as
+ {error, enoent} in the ssh_sftpd:get_attrs/5 internal
+ function; that is, just skip it.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17450 Application(s): ssh
+ Related Id(s): ERIERL-655
+
+ The "Key exchange failed" Info Report is now more
+ informative.
+
+
+ Full runtime dependencies of ssh-4.12.4: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.5 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.5 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.1 (first satisfied in OTP 24.0.4)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17423 Application(s): ssl
+ Related Id(s): GH-4823, PR-4829
+
+ Fix Makefile dependency generation to work no matter
+ what the ERL_TOP folder is called.
+
+
+ OTP-17517 Application(s): ssl
+ Related Id(s): GH-5009
+
+ If trying to downgrade a TLS-1.3 connection to a plain
+ TCP connection, possible TLS-1.3 session ticket
+ messages will be ignored in the "downgrade" state while
+ waiting for the close notify alert.
+
+
+ OTP-17521 Application(s): ssl
+
+ Corrected error handling to correctly generate an
+ insufficient security alert when there are no suitable
+ groups that can be negotiated in TLS-1.3 instead of
+ crashing resulting in an internal error alert.
+
+
+ OTP-17635 Application(s): ssl
+ Related Id(s): GH-5192
+
+ Properly handle default session data storage.
+
+ When a client tries to reuse an expired session the
+ default server storage handling would crash loosing
+ other session data. This would cause a error report and
+ possible loss of abbreviated handshakes.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16590 Application(s): ssl
+ Related Id(s): ERL-625, GH-5029
+
+ Add support for RSA-PSS-PSS signatures and
+ signature_algorithms_cert in TLS-1.2. This is a TLS-1.3
+ RFC requirement to backport this functionality.
+
+
+ OTP-17392 Application(s): ssl
+ Related Id(s): PR-5050
+
+ Use inet:monitor/1 to monitor listen-sockets so that we
+ are compatible with the new socket backend for gen_tcp.
+
+
+ OTP-17464 Application(s): ssl
+
+ Enhance ssl:prf/4 handling and testing
+
+
+ OTP-17501 Application(s): ssl
+ Related Id(s): GH-4978
+
+ Enhanced cipher suite filtering functionality, making
+ sure TLS-1.3 and TLS-1.2 cipher suites can be supported
+ correctly together even when TLS-1.2 anonymous ciphers
+ are included.
+
+
+ OTP-17530 Application(s): ssl
+
+ Enhance gracefulness especially in TLS-1.3
+
+
+ Full runtime dependencies of ssl-10.5: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.1, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.16 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.16 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17424 Application(s): stdlib
+ Related Id(s): GH-4801, PR-4803
+
+ Fix io:format with ~p to no longer interpret floats as
+ printable characters.
+
+
+ OTP-17429 Application(s): stdlib
+ Related Id(s): GH-4761
+
+ Fix specs for base64 encode/decode functions to also
+ include 0.
+
+
+ OTP-17430 Application(s): compiler, stdlib
+
+ The failing call io:format("~p\n") would result in a
+ warning for line number 0 instead of the correct line
+ and column numbers. This has been corrected, and all
+ warnings for failing calls to io:format() has been
+ rephrased to make it clearer exactly what the problem
+ is.
+
+
+ OTP-17434 Application(s): compiler, stdlib
+ Related Id(s): GH-4772
+
+ When the options warn_missing_spec and export_all were
+ given, there would only be warnings for missing specs
+ for functions that had been explicitly exported using
+ an -export attribute.
+
+
+ OTP-17463 Application(s): stdlib
+ Related Id(s): GH-4916
+
+ Calling c:ls/1 with an atom whose contents is the the
+ name of a file (as opposed to a directory) would crash.
+
+
+ OTP-17505 Application(s): compiler, stdlib
+ Related Id(s): GH-4995
+
+ The MODULE and MODULE_STRING macros would always appear
+ to be defined (when tested by -ifdef), even though no
+ -module() declaration had been seen yet. Changed so
+ that -ifdef ?MODULE. will not consider ?MODULE defined
+ if -module() has not been previously seen.
+
+
+ OTP-17573 Application(s): stdlib
+ Related Id(s): ERL-1264, GH-4270
+
+ Fix bug with rendering of missing types and callbacks
+ in shell_docs.
+
+
+ OTP-17581 Application(s): compiler, stdlib
+ Related Id(s): PR-5141
+
+ When the deterministic option was given to the
+ compiler, the ?FILE macro would be expanded to full
+ path of the source file before the first include
+ directive and to base part of the filename after
+ include directive.
+
+
+ OTP-17622 Application(s): stdlib
+ Related Id(s): PR-5038
+
+ Fixed broken win32reg:delete_key and fixed
+ win32reg:value for default value.
+
+
+ OTP-17634 Application(s): stdlib
+ Related Id(s): GH-5196
+
+ Fixed error information for the call maps:get(some_key,
+ #{}).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17317 Application(s): stdlib
+ Related Id(s): PR-4757
+
+ *** HIGHLIGHT ***
+
+ Most output functions in the io module now print extra
+ error information when provided with invalid arguments.
+ The functions are: io:format, io:fwrite, io:put_chars,
+ io:nl and io:write.
+
+
+ OTP-17454 Application(s): stdlib
+ Related Id(s): PR-4764
+
+ EEP-54 (Provide more information about errors) now
+ includes two new return values for the format_error
+ callback, general and reason.
+
+ Multi-line error descriptions returned from a
+ format_error callback are now correctly indented.
+
+ The documentation for erl_error, error/3 and Errors and
+ Error Handling in the Erlang Reference Manual have been
+ extended.
+
+
+ OTP-17503 Application(s): stdlib
+ Related Id(s): GH-4985
+
+ In the documentation for the lists module, it has been
+ clarified that predicate funs must return a boolean.
+
+
+ OTP-17571 Application(s): stdlib
+ Related Id(s): GH-5103
+
+ The documentation for c:c/1, c:c/2, and c:c/3 has been
+ clarified.
+
+
+ Full runtime dependencies of stdlib-3.16: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-3.5.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17440 Application(s): tools
+ Related Id(s): GH-4796
+
+ The cover tool would not work on modules compiled with
+ the tuple_calls option.
+
+
+ Full runtime dependencies of tools-3.5.1: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.1 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17507 Application(s): wx
+
+ Fix crash when closing an application.
+
+
+ OTP-17577 Application(s): wx
+ Related Id(s): GH-4999
+
+ Some functions with overloaded color arguments could
+ not be used. For example the copy constructor
+ wxTextAttr:new(TextAttr) did not work.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17325 Application(s): wx
+
+ Added the Microsoft Edge WebView loader dll to the
+ installer on windows.
+
+
+ OTP-17438 Application(s): wx
+ Related Id(s): PR-4780
+
+ Handle specific Mac gui application events.
+
+
+ Full runtime dependencies of wx-2.1: erts-6.0, kernel-3.0, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.2.1.README.txt b/release-notes/OTP-24.2.1.README.txt
new file mode 100644
index 0000000..2217089
--- /dev/null
+++ b/release-notes/OTP-24.2.1.README.txt
@@ -0,0 +1,104 @@
+Patch Package: OTP 24.2.1
+Git Tag: OTP-24.2.1
+Date: 2022-01-25
+Trouble Report Id: OTP-17794, OTP-17827, OTP-17829, OTP-17831,
+ OTP-17871, OTP-17879
+Seq num: ERIERL-708, GH-4450, GH-5341, GH-5527,
+ GH-5624
+System: OTP
+Release: 24
+Application: erts-12.2.1, ssl-10.6.1
+Predecessor: OTP 24.2
+
+ Check out the git tag OTP-24.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.2.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17827 Application(s): erts
+ Related Id(s): GH-5527
+
+ Fixed a memory leak in file:read_file_info/2 and
+ file:read_file/1 on Windows.
+
+
+ OTP-17871 Application(s): erts
+ Related Id(s): PR-5612
+
+ Fix GC emulator crash when spawn_request was used when
+ message tracing was enabled.
+
+
+ Full runtime dependencies of erts-12.2.1: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.6.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.6.1 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17794 Application(s): ssl
+ Related Id(s): GH-4450, GH-5341
+
+ Improve SNI (server name indication) handling so that
+ protocol version can be selected with regards to SNI.
+ Also, make sure that ssl:connection_information/1
+ returns the correct SNI value.
+
+
+ OTP-17829 Application(s): ssl
+ Related Id(s): ERIERL-708
+
+ Fixed cipher suite listing functions so that the
+ listing of all cipher suites will be complete. Another
+ fix for cipher suite handling in OTP-24.1 accidentally
+ excludes a few cipher suites from the listing of all
+ cipher suites.
+
+
+ OTP-17879 Application(s): ssl
+ Related Id(s): GH-5624
+
+ Reenable legacy cipher suite
+ TLS_RSA_WITH_3DES_EDE_CBC_SHA for explicit
+ configuration in TLS-1.2, not supported by default.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17831 Application(s): ssl
+
+ Avoid unnecessary logs by better adjusting the
+ tls_sender process to the new supervisor structure in
+ OTP-24.2
+
+
+ Full runtime dependencies of ssl-10.6.1: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.2.2.README.txt b/release-notes/OTP-24.2.2.README.txt
new file mode 100644
index 0000000..aad630c
--- /dev/null
+++ b/release-notes/OTP-24.2.2.README.txt
@@ -0,0 +1,60 @@
+Patch Package: OTP 24.2.2
+Git Tag: OTP-24.2.2
+Date: 2022-02-25
+Trouble Report Id: OTP-17850, OTP-17922
+Seq num: ERIERL-743, ERIERL-764
+System: OTP
+Release: 24
+Application: inets-7.5.1, ssh-4.13.1
+Predecessor: OTP 24.2.1
+
+ Check out the git tag OTP-24.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-7.5.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17922 Application(s): inets
+ Related Id(s): ERIERL-743
+
+ Avoid intermediate ungraceful shutdown of the HTTP
+ server.
+
+
+ Full runtime dependencies of inets-7.5.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17850 Application(s): ssh
+ Related Id(s): ERIERL-764
+
+ The ssh sever parallel_login option was missing in
+ OTP-24
+
+
+ Full runtime dependencies of ssh-4.13.1: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.2.README.txt b/release-notes/OTP-24.2.README.txt
new file mode 100644
index 0000000..fa7a357
--- /dev/null
+++ b/release-notes/OTP-24.2.README.txt
@@ -0,0 +1,1046 @@
+Patch Package: OTP 24.2
+Git Tag: OTP-24.2
+Date: 2021-12-15
+Trouble Report Id: OTP-16646, OTP-17241, OTP-17363, OTP-17375,
+ OTP-17411, OTP-17417, OTP-17515, OTP-17528,
+ OTP-17531, OTP-17579, OTP-17603, OTP-17615,
+ OTP-17637, OTP-17643, OTP-17662, OTP-17664,
+ OTP-17671, OTP-17673, OTP-17687, OTP-17689,
+ OTP-17699, OTP-17707, OTP-17713, OTP-17716,
+ OTP-17719, OTP-17721, OTP-17724, OTP-17727,
+ OTP-17730, OTP-17738, OTP-17740, OTP-17741,
+ OTP-17743, OTP-17744, OTP-17745, OTP-17746,
+ OTP-17748, OTP-17749, OTP-17750, OTP-17751,
+ OTP-17754, OTP-17760, OTP-17761, OTP-17763,
+ OTP-17765, OTP-17766, OTP-17767, OTP-17768,
+ OTP-17783, OTP-17785, OTP-17786, OTP-17790,
+ OTP-17793, OTP-17795, OTP-17796, OTP-17804,
+ OTP-17805, OTP-17806, OTP-17807, OTP-17808,
+ OTP-17809, OTP-17814, OTP-17817, OTP-17818
+Seq num: ERIERL-648, ERIERL-706, ERIERL-725,
+ ERIERL-729, ERIERL-731, ERL-1203, ERL-1224,
+ GH-4393, GH-4680, GH-4728, GH-5074, GH-5088,
+ GH-5210, GH-5314, GH-5334, GH-5351, GH-5361,
+ GH-5380, GH-5387, GH-5429, GH-5440
+System: OTP
+Release: 24
+Application: common_test-1.22, compiler-8.0.4,
+ crypto-5.0.5, dialyzer-4.4.3, edoc-1.1,
+ erl_docgen-1.2, erts-12.2, inets-7.5,
+ kernel-8.2, megaco-4.2, mnesia-4.20.1,
+ observer-2.10.1, parsetools-2.3.2,
+ sasl-4.1.1, snmp-5.11, ssh-4.13, ssl-10.6,
+ stdlib-3.17, tools-3.5.2, wx-2.1.1
+Predecessor: OTP 24.1.7
+
+ Check out the git tag OTP-24.2, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-16646 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ The crypto app in OTP can now be compiled, linked and
+ used with the new OpenSSL 3.0 cryptolib.
+
+ It has not yet been extensively tested and is in this
+ release *not recommended* for other usages than
+ experiments and alpha testing. There are not yet any
+ guaranties that it works, not even together with other
+ OTP applications like for example SSL and SSH, although
+ there are no known errors.
+
+ Compiling and linking with OpenSSL 3.0 cryptolib in
+ compatibility modes (for example to behave as 1.1.1)
+ are not tested. It is not tested with external
+ providers.
+
+ The support for FIPS mode does not yet work, and is
+ disabled when compiled with OpenSSL 3.0.
+
+ Deprecated functions in the OpenSSL 3.0 cryptolib must
+ not be disabled as OTP/crypto still uses some of the
+ deprecated API functions. The gcc flag
+ -Wno-deprecated-declarations is set to prevent
+ deprecation warnings to be printed when compiling.
+
+ The hash algorithms md4 and ripemd160 are disabled
+ temporarily when compiled with OpenSSL 3.0.
+
+ The ciphers blowfish_cbc, blowfish_cfb64, blowfish_ecb,
+ blowfish_ofb64, des_cbc, des_cfb, des_ecb, rc2_cbc and
+ rc4 are disabled temporarily when compiled with OpenSSL
+ 3.0.
+
+
+ OTP-17363 Application(s): erts
+ Related Id(s): GH-4728, PR-5187
+
+ An option for enabling dirty scheduler specific
+ allocator instances has been introduced. By default
+ such allocator instances are disabled. For more
+ information see the documentation of the +Mdai erl
+ command line argument.
+
+
+ OTP-17689 Application(s): erl_docgen, erts
+ Related Id(s): PR-5292
+
+ All predefined types have been added to the erlang
+ module together with documentation.
+
+ Any reference to a predefined type now links to that
+ documentation so that the user can view it.
+
+
+ OTP-17796 Application(s): erts
+ Related Id(s): ERIERL-729, PR-5473
+
+ Responsiveness of processes executing on normal or low
+ priority could suffer due to code purging or literal
+ area removal on systems with a huge amount of
+ processes. This since during these operations all
+ processes on the system were scheduled for execution at
+ once.
+
+ This problem has been fixed by introducing a limit on
+ outstanding purge and copy literal requests in the
+ system. By default this limit is set to twice the
+ amount of schedulers on the system. This will ensure
+ that schedulers will have enough work scheduled to
+ perform these operations as quickly as possible at the
+ same time as other work will be interleaved to a much
+ higher degree. Performance of these operations will
+ however be somewhat degraded due to the overhead of
+ enforcing this limit compared to when using a very
+ large limit.
+
+ This limit can be set by passing the +zosrl command
+ line argument to erl, or by calling
+ erlang:system_flag(outstanding_system_requests_limit,
+ NewLimit).
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.22 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.22 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17664 Application(s): common_test
+ Related Id(s): GH-5088, PR-5242
+
+ Before this change, group handling grammar was
+ ambiguous and also group paths did not support test
+ specs.
+
+
+ OTP-17790 Application(s): common_test
+ Related Id(s): PR-5375
+
+ Before this change, it was not possible to link to a
+ particular header entry in Common Test log. Change adds
+ right aligned anchor icons in HTML test logs.
+
+
+ Full runtime dependencies of common_test-1.22: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.0.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.0.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17768 Application(s): compiler, dialyzer
+ Related Id(s): GH-5429
+
+ When the compiler is invoked by Dialyzer, it will no
+ longer apply an optimization of binary patterns that
+ would turn the pattern <<"bar">> into <<6447474:24>>,
+ which would be very confusing when printed out by
+ Dialyzer.
+
+
+ OTP-17786 Application(s): compiler
+ Related Id(s): GH-5440
+
+ The compiler would replace known failing calls (such as
+ atom_to_list(42)) with a call to error(badarg). With
+ the extended error information introduced in OTP 24
+ (EEP 54), those "optimized" calls would not have
+ extended error information. To ensure that as much
+ extended error information as possible is available,
+ the compiler now keeps the original call even when it
+ is known to fail.
+
+
+ Full runtime dependencies of compiler-8.0.4: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.5 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17637 Application(s): crypto
+
+ Fixed the C-warning "implicit declaration of function
+ 'OpenSSL_version_num'" if compiling with an early
+ LibreSSL version.
+
+
+ OTP-17740 Application(s): crypto
+
+ FIPS availability was not checked correctly for AEAD
+ ciphers.
+
+
+ OTP-17741 Application(s): crypto
+
+ Fixed that cipher aliases (like aes_cbc etc) could be
+ present even if the aliased cipher(s) (like
+ aes_128_cbc, aes_256_cbc,... etc) was missing.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16646 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ *** HIGHLIGHT ***
+
+ The crypto app in OTP can now be compiled, linked and
+ used with the new OpenSSL 3.0 cryptolib.
+
+ It has not yet been extensively tested and is in this
+ release *not recommended* for other usages than
+ experiments and alpha testing. There are not yet any
+ guaranties that it works, not even together with other
+ OTP applications like for example SSL and SSH, although
+ there are no known errors.
+
+ Compiling and linking with OpenSSL 3.0 cryptolib in
+ compatibility modes (for example to behave as 1.1.1)
+ are not tested. It is not tested with external
+ providers.
+
+ The support for FIPS mode does not yet work, and is
+ disabled when compiled with OpenSSL 3.0.
+
+ Deprecated functions in the OpenSSL 3.0 cryptolib must
+ not be disabled as OTP/crypto still uses some of the
+ deprecated API functions. The gcc flag
+ -Wno-deprecated-declarations is set to prevent
+ deprecation warnings to be printed when compiling.
+
+ The hash algorithms md4 and ripemd160 are disabled
+ temporarily when compiled with OpenSSL 3.0.
+
+ The ciphers blowfish_cbc, blowfish_cfb64, blowfish_ecb,
+ blowfish_ofb64, des_cbc, des_cfb, des_ecb, rc2_cbc and
+ rc4 are disabled temporarily when compiled with OpenSSL
+ 3.0.
+
+
+ OTP-17241 Application(s): crypto
+
+ The error handling in crypto is partly refactored using
+ the new error reporting support. Errors earlier
+ propagated like exceptions are still so, but when the
+ failing function is called from the terminal - for
+ example during failure hunting - a more descriptive
+ text is produced.
+
+
+ OTP-17603 Application(s): crypto
+
+ A new function crypto:info/0 which presents some data
+ about the compilation and linkage of the crypto nif is
+ added.
+
+
+ OTP-17808 Application(s): crypto
+ Related Id(s): PR-5421
+
+ Added the pbkdf2_hmac/5 function to the crypto module.
+
+ It calls the PKCS5_PBKDF2_HMAC function which
+ implements PBKD2 with HMAC in an efficient way.
+
+
+ Full runtime dependencies of crypto-5.0.5: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.4.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17643 Application(s): dialyzer
+ Related Id(s): GH-5210
+
+ Fixed a crash when opaque types contained certain
+ unicode characters.
+
+
+ OTP-17768 Application(s): compiler, dialyzer
+ Related Id(s): GH-5429
+
+ When the compiler is invoked by Dialyzer, it will no
+ longer apply an optimization of binary patterns that
+ would turn the pattern <<"bar">> into <<6447474:24>>,
+ which would be very confusing when printed out by
+ Dialyzer.
+
+
+ Full runtime dependencies of dialyzer-4.4.3: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-1.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17743 Application(s): edoc
+ Related Id(s): PR-5292
+
+ Add option link_predefined_types that is used to create
+ links to erlang predefined types. This is mainly to be
+ used by erl_docgen when creating the Erlang/OTP
+ documentation.
+
+
+ Full runtime dependencies of edoc-1.1: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-1.6.14, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17754 Application(s): erl_docgen
+ Related Id(s): PR-5365
+
+ Fix codeinclude tag to correctly respect the type
+ attribute.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17687 Application(s): erl_docgen
+ Related Id(s): PR-5197
+
+ The HTML documentation has been updated to collapse
+ better on small screens.
+
+
+ OTP-17689 Application(s): erl_docgen, erts
+ Related Id(s): PR-5292
+
+ *** HIGHLIGHT ***
+
+ All predefined types have been added to the erlang
+ module together with documentation.
+
+ Any reference to a predefined type now links to that
+ documentation so that the user can view it.
+
+
+ Full runtime dependencies of erl_docgen-1.2: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-12.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17713 Application(s): erts
+
+ When matching and constructing utf16 segments in the
+ binary syntax, the native flag would be ignored. That
+ is, the endian would always be big endian even on a
+ little-endian computer (almost all modern computers).
+
+
+ OTP-17749 Application(s): erts
+ Related Id(s): GH-5361, PR-5378
+
+ Fix the help printout of +JPperf.
+
+
+ OTP-17751 Application(s): erts
+ Related Id(s): PR-5315
+
+ Fix bug that could cause Erlang to deadlock during
+ creation of an Erlang crash dump.
+
+
+ OTP-17763 Application(s): erts
+ Related Id(s): GH-5351
+
+ Fixed C++ build errors on some aarch64 platforms.
+
+
+ OTP-17785 Application(s): erts
+ Related Id(s): PR-5393
+
+ For macOS, the Info.plist file embedded in the runtime
+ system now only contains the absolute minimum amount of
+ information needed for the web view in wx to work
+ towards localhost. The other fields have been removed,
+ allowing an application packaged in a bundle to specify
+ the application name and other parameter in its own
+ Info.plist file.
+
+
+ OTP-17804 Application(s): erts
+ Related Id(s): PR-5372
+
+ Fix bug in internal stacks (WSTACK and ESTACK) used by
+ term_to_binary/2 to encode terms. The bug could cause a
+ segfault if a very very large map was to be encoded
+ with the deterministic option given.
+
+
+ OTP-17805 Application(s): erts, kernel
+ Related Id(s): PR-5406
+
+ Improve the error printout when open_port/2 fails
+ because of invalid arguments.
+
+
+ OTP-17814 Application(s): erts, observer
+ Related Id(s): PR-5462
+
+ Fix bug in crash dumps where the stackframe of a
+ process would be printed using an incorrect format.
+
+ Crash dump viewer has also been fixed to be able read
+ the broken stack format.
+
+ The bug has existed since Erlang/OTP 23.0.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17363 Application(s): erts
+ Related Id(s): GH-4728, PR-5187
+
+ *** HIGHLIGHT ***
+
+ An option for enabling dirty scheduler specific
+ allocator instances has been introduced. By default
+ such allocator instances are disabled. For more
+ information see the documentation of the +Mdai erl
+ command line argument.
+
+
+ OTP-17673 Application(s): erts
+ Related Id(s): OTP-16226
+
+ Minor optimization of receive markers in message
+ queues.
+
+
+ OTP-17689 Application(s): erl_docgen, erts
+ Related Id(s): PR-5292
+
+ *** HIGHLIGHT ***
+
+ All predefined types have been added to the erlang
+ module together with documentation.
+
+ Any reference to a predefined type now links to that
+ documentation so that the user can view it.
+
+
+ OTP-17719 Application(s): erts
+
+ Suppress a code checker warning caused by debug builds
+ of YCF. YCF tries to get a conservative estimate of the
+ bottom of the stack by reading and returning a call
+ stack allocated variable.
+
+
+ OTP-17724 Application(s): erts
+ Related Id(s): ERL-1224
+
+ Add file and product properties to erl.exe and
+ werl.exe.
+
+
+ OTP-17760 Application(s): erts
+ Related Id(s): ERIERL-725, PR-5414
+
+ Micro optimization in bitstring append operations.
+
+
+ OTP-17796 Application(s): erts
+ Related Id(s): ERIERL-729, PR-5473
+
+ *** HIGHLIGHT ***
+
+ Responsiveness of processes executing on normal or low
+ priority could suffer due to code purging or literal
+ area removal on systems with a huge amount of
+ processes. This since during these operations all
+ processes on the system were scheduled for execution at
+ once.
+
+ This problem has been fixed by introducing a limit on
+ outstanding purge and copy literal requests in the
+ system. By default this limit is set to twice the
+ amount of schedulers on the system. This will ensure
+ that schedulers will have enough work scheduled to
+ perform these operations as quickly as possible at the
+ same time as other work will be interleaved to a much
+ higher degree. Performance of these operations will
+ however be somewhat degraded due to the overhead of
+ enforcing this limit compared to when using a very
+ large limit.
+
+ This limit can be set by passing the +zosrl command
+ line argument to erl, or by calling
+ erlang:system_flag(outstanding_system_requests_limit,
+ NewLimit).
+
+
+ Full runtime dependencies of erts-12.2: kernel-8.0, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17818 Application(s): inets
+ Related Id(s): ERIERL-731
+
+ Correct HTTP server URI handling to fully rely on
+ uri_string. The server could mistreat some URI paths
+ that in turn could result in incorrect responses being
+ generated.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17579 Application(s): inets
+ Related Id(s): GH-5074
+
+ Extend header values to httpc:request/5 to allow
+ binary() as well. Make error detection of invalid
+ arguments to httpc:request/5 be more precise so an
+ error is returned in more cases instead of causing a
+ hang or function_clause. Be more precise in
+ documentation regarding the types of arguments being
+ accepted.
+
+
+ Full runtime dependencies of inets-7.5: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.2 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.2 (first satisfied in OTP 24.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17716 Application(s): kernel
+
+ socket:which_sockets( pid() ) uses wrong keyword when
+ looking up socket owner ('ctrl' instead of 'owner').
+
+
+ OTP-17730 Application(s): kernel
+
+ In epmd_ntop, the #if defined(EPMD6) conditional was
+ inverted and it was only including the IPv6-specific
+ code when EPMD6 was undefined. This was causing IPv6
+ addrs to be interpreted as IPv4 addrs and generating
+ nonsense IPv4 addresses as output.
+
+ Several places were incorrectly using 'num_sockets'
+ instead of 'i' to index into the iserv_addr array
+ during error logging. This would result in a read into
+ uninitialized data in the iserv_addr array.
+
+ Thanks to John Eckersberg for providing this fix.
+
+
+ OTP-17765 Application(s): kernel
+ Related Id(s): PR-5289
+
+ Minor fix of the erl_uds_dist distribution module
+ example.
+
+
+ OTP-17793 Application(s): kernel
+ Related Id(s): GH-4680, OTP-17216, OTP-17451, PR-2989,
+ PR-4787, PR-5348
+
+ A bug has been fixed for the legacy TCP socket adaption
+ module gen_tcp_socket where it did bind to a socket
+ address when given a file descriptor, but should not.
+
+
+ OTP-17805 Application(s): erts, kernel
+ Related Id(s): PR-5406
+
+ Improve the error printout when open_port/2 fails
+ because of invalid arguments.
+
+
+ OTP-17806 Application(s): kernel
+
+ Calling socket:monitor/1 on an already closed socket
+ should succeed and result in an immediate DOWN message.
+ This has now been fixed.
+
+
+ OTP-17807 Application(s): kernel
+ Related Id(s): PR-5418
+
+ Fix the configuration option logger_metadata to work.
+
+
+ OTP-17809 Application(s): kernel, ssl
+ Related Id(s): GH-5334, PR-5337
+
+ Fix tls and non-tls distribution to use
+ erl_epmd:address_please to figure out if IPv4 or IPv6
+ addresses should be used when connecting to the remote
+ node.
+
+ Before this fix, a dns lookup of the remote node
+ hostname determined which IP version was to be used
+ which meant that the hostname had to resolve to a valid
+ ip address.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17375 Application(s): kernel
+ Related Id(s): PR-4663, PR-5186
+
+ Add logger:reconfigure/0.
+
+
+ OTP-17528 Application(s): kernel
+
+ Add socket function ioctl/2,3,4 for socket device
+ control.
+
+
+ OTP-17531 Application(s): kernel
+
+ Add simple support for socknames/1 for gen_tcp_socket
+ and gen_udp_socket.
+
+
+ OTP-17738 Application(s): kernel
+ Related Id(s): OTP-17589, PR-4926
+
+ The types for callback result types in gen_statem has
+ bee augmented with arity 2 types where it is possible
+ for a callback module to specify the type of the
+ callback data, so the callback module can get type
+ validation of it.
+
+
+ Full runtime dependencies of kernel-8.2: crypto-5.0, erts-12.2,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17817 Application(s): megaco
+
+ [megaco_tcp] When connect fails, include more info in
+ the error reason.
+
+
+ Full runtime dependencies of megaco-4.2: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17727 Application(s): mnesia
+
+ Documentation and minor code cleanup.
+
+
+ Full runtime dependencies of mnesia-4.20.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.10.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The observer-2.10.1 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.1 (first satisfied in OTP 24.1)
+ -- runtime_tools-1.17 (first satisfied in OTP 24.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17814 Application(s): erts, observer
+ Related Id(s): PR-5462
+
+ Fix bug in crash dumps where the stackframe of a
+ process would be printed using an incorrect format.
+
+ Crash dump viewer has also been fixed to be able read
+ the broken stack format.
+
+ The bug has existed since Erlang/OTP 23.0.
+
+
+ Full runtime dependencies of observer-2.10.1: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.17, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.3.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.3.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17721 Application(s): parsetools
+
+ The default parser include file for yecc (yeccpre) will
+ no longer crash when attempting to print tokens when
+ reporting an error.
+
+
+ Full runtime dependencies of parsetools-2.3.2: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.1.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-4.1.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17748 Application(s): sasl
+ Related Id(s): GH-5387, PR-5389
+
+ Make release_handler even more resilient against
+ exiting processes during upgrade. Same kind of bug fix
+ as OTP-16744 released in sasl-4.0.1 (OTP 23.1).
+
+
+ Full runtime dependencies of sasl-4.1.1: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.11 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.11 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17671 Application(s): snmp
+
+ Handling of test config flag when starting "empty".
+
+
+ --- Improvements and New Features ---
+
+ OTP-17615 Application(s): snmp
+ Related Id(s): MR9501-1
+
+ Add support for new authentication algorithms (SHA-224,
+ SHA-256, SHA-384 and SHA-512), according to RFC 7860.
+
+
+ OTP-17783 Application(s): snmp
+
+ Improve debug info for (snmp) manager.
+
+
+ Full runtime dependencies of snmp-5.11: crypto-3.3, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17707 Application(s): ssh
+ Related Id(s): ERIERL-706
+
+ The value of the connect_timeout option is now used as
+ default value for the negotiation timeout.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17515 Application(s): ssh
+ Related Id(s): ERIERL-648
+
+ Add better error handling in connect/2,3,4. Detect
+ incorrect arguments and return an informative error
+ tuple instead of throwing a function_clause or similar.
+
+
+ OTP-17795 Application(s): ssh
+
+ Make ssh algorithm selection better handle dynamic
+ changes changes in crypto fips mode.
+
+
+ Full runtime dependencies of ssh-4.13: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.6 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.6 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17411 Application(s): ssl
+ Related Id(s): ERL-1203, GH-4393
+
+ Allow re-connect on DTLS sockets
+
+ Can happen when a computer reboots and connects from
+ the same client port without the server noticing should
+ be allowed according to RFC.
+
+
+ OTP-17809 Application(s): kernel, ssl
+ Related Id(s): GH-5334, PR-5337
+
+ Fix tls and non-tls distribution to use
+ erl_epmd:address_please to figure out if IPv4 or IPv6
+ addresses should be used when connecting to the remote
+ node.
+
+ Before this fix, a dns lookup of the remote node
+ hostname determined which IP version was to be used
+ which meant that the hostname had to resolve to a valid
+ ip address.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17417 Application(s): ssl
+
+ Use supervisor significant child to manage tls
+ connection process and tls sender process dependency.
+
+
+ OTP-17699 Application(s): ssl
+
+ Random generation adjustment for TLS1.3
+
+
+ OTP-17761 Application(s): ssl
+ Related Id(s): GH-5380
+
+ Allow any {03,XX} TLS record version in the client
+ hello for maximum interoperability
+
+
+ Full runtime dependencies of ssl-10.6: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.17 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.17 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17662 Application(s): stdlib
+ Related Id(s): PR-5206
+
+ Fix rendering of nbsp on terminals that do not support
+ unicode.
+
+
+ OTP-17750 Application(s): stdlib
+ Related Id(s): PR-5366
+
+ Improved the erl_error printout for when re fails to
+ compile a regular expression to also print hints about
+ why the compilation failed.
+
+
+ OTP-17766 Application(s): stdlib
+ Related Id(s): PR-5362
+
+ Fixed spec for supervisor_bridge:start_link().
+
+
+ OTP-17767 Application(s): stdlib
+ Related Id(s): PR-5344
+
+ Added missing shutdown clauses in supervisor which
+ could cause erroneous error reports.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17744 Application(s): stdlib
+ Related Id(s): PR-5292
+
+ Add the no_auto_import_types to erl_lint to allow a
+ module to define types of the same name as a predefined
+ type.
+
+
+ Full runtime dependencies of stdlib-3.17: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tools-3.5.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17746 Application(s): tools
+ Related Id(s): GH-5314, PR-5324
+
+ Erlang-mode fixed for newer versions of xref using
+ CL-Lib structures instead of EIEIO classes.
+
+
+ Full runtime dependencies of tools-3.5.2: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.1.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.1.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17745 Application(s): wx
+
+ Fix crash in cleanup code when a gui application is
+ exiting.
+
+ Fix errors in the OpenGL wrapper that could cause
+ crashes and improve the documentation.
+
+
+ Full runtime dependencies of wx-2.1.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.1.README.txt b/release-notes/OTP-24.3.1.README.txt
new file mode 100644
index 0000000..0921584
--- /dev/null
+++ b/release-notes/OTP-24.3.1.README.txt
@@ -0,0 +1,68 @@
+Patch Package: OTP 24.3.1
+Git Tag: OTP-24.3.1
+Date: 2022-03-15
+Trouble Report Id: OTP-17963, OTP-17971
+Seq num: GH-5764, GH-5783
+System: OTP
+Release: 24
+Application: dialyzer-4.4.4, ssl-10.7.1
+Predecessor: OTP 24.3
+
+ Check out the git tag OTP-24.3.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.4.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17963 Application(s): dialyzer
+ Related Id(s): GH-5764
+
+ There could be spurious warnings for unknown types when
+ a type was a subtype of an existing type that was a
+ subtype of an unknown type.
+
+
+ Full runtime dependencies of dialyzer-4.4.4: compiler-7.0, erts-9.0,
+ kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.1 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17971 Application(s): ssl
+ Related Id(s): GH-5783
+
+ Client certification could fail for TLS-1.3 servers
+ that did not include the certificat_authorties
+ extension in its certificate request message.
+
+
+ Full runtime dependencies of ssl-10.7.1: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.2.README.txt b/release-notes/OTP-24.3.2.README.txt
new file mode 100644
index 0000000..ade0015
--- /dev/null
+++ b/release-notes/OTP-24.3.2.README.txt
@@ -0,0 +1,70 @@
+Patch Package: OTP 24.3.2
+Git Tag: OTP-24.3.2
+Date: 2022-03-16
+Trouble Report Id: OTP-17975, OTP-17979, OTP-17981
+Seq num: ERIERL-780
+System: OTP
+Release: 24
+Application: erl_interface-5.2.1, kernel-8.3.1
+Predecessor: OTP 24.3.1
+
+ Check out the git tag OTP-24.3.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.2.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.2.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17975 Application(s): erl_interface
+ Related Id(s): PR-5763
+
+ Fix compile error regarding gethostbyaddr_r on Android.
+ Error introduced in OTP 24.3.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.3.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17979 Application(s): kernel
+ Related Id(s): ERIERL-780
+
+ Fix failed accepted connection setup after previous
+ established connection from same node closed down
+ silently.
+
+
+ OTP-17981 Application(s): kernel
+ Related Id(s): PR-5791
+
+ Fixed a problem where typing Ctrl-R in the shell could
+ hang if there were some problem with the history log
+ file.
+
+
+ Full runtime dependencies of kernel-8.3.1: crypto-5.0, erts-12.3,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.3.README.txt b/release-notes/OTP-24.3.3.README.txt
new file mode 100644
index 0000000..2b286d7
--- /dev/null
+++ b/release-notes/OTP-24.3.3.README.txt
@@ -0,0 +1,207 @@
+Patch Package: OTP 24.3.3
+Git Tag: OTP-24.3.3
+Date: 2022-03-29
+Trouble Report Id: OTP-17973, OTP-17978, OTP-17982, OTP-17987,
+ OTP-17989, OTP-17993, OTP-17994, OTP-17995,
+ OTP-17998
+Seq num: ERIERL-767, ERIERL-772, GH-5554, GH-5758,
+ GH-5781
+System: OTP
+Release: 24
+Application: erl_interface-5.2.2, erts-12.3.1, ftp-1.1.1,
+ mnesia-4.20.3, observer-2.11.1, ssl-10.7.2,
+ wx-2.1.3
+Predecessor: OTP 24.3.2
+
+ Check out the git tag OTP-24.3.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.2.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.2.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17987 Application(s): erl_interface
+ Related Id(s): GH-5781, PR-5787
+
+ Avoid attempt build dynamic libs if config option
+ --enable-ei-dynamic-lib is not given.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17978 Application(s): erts
+ Related Id(s): OTP-17958
+
+ erlang:open_port({spawn, _},_) has been fixed on
+ Windows to handle whitespace characters in the path
+ correctly.
+
+ This could, for example, cause execution of the
+ resolver helper program inet_gethost to fail and
+ instead possibly execute a different program.
+
+
+ OTP-17993 Application(s): erts
+ Related Id(s): PR-5806
+
+ Fix race condition when creating crash dump that could
+ cause multiple threads to race when writing the initial
+ information in a crash dump.
+
+ The race condition was introduced in erts-12.2
+ (Erlang/OTP 24.2).
+
+
+ OTP-17998 Application(s): erts
+ Related Id(s): GH-5554, PR-5825
+
+ Fix Erlang monotonic time on MacOS. Previously used OS
+ monotonic time primitive on MacOS is buggy and will not
+ be used anymore. It has been replaced with usage of
+ another OS monotonic time primitive that does not
+ appear to be buggy.
+
+
+ Full runtime dependencies of erts-12.3.1: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ftp-1.1.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17989 Application(s): ftp
+ Related Id(s): ERIERL-767
+
+ An unexpected timeout message on the FTP control
+ channel was observed in a real system and could not be
+ associated with anything that was expected to happen,
+ so we will ignore but info log such unexpected
+ messages.
+
+
+ Full runtime dependencies of ftp-1.1.1: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17973 Application(s): mnesia
+ Related Id(s): ERIERL-772
+
+ Optimize locker to handle many read locks on the same
+ record.
+
+
+ Full runtime dependencies of mnesia-4.20.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.11.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The observer-2.11.1 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.1 (first satisfied in OTP 24.1)
+ -- runtime_tools-1.17 (first satisfied in OTP 24.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17995 Application(s): observer
+ Related Id(s): PR-5804
+
+ Fixed node information lookup for remote process
+ identifiers in crashdump_viewer.
+
+
+ Full runtime dependencies of observer-2.11.1: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.17, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.2 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17994 Application(s): ssl
+
+ With this change, potential hanging of pre TLS1.3
+ client receiving OSCP staple message is avoided.
+
+
+ Full runtime dependencies of ssl-10.7.2: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.1.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.1.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17982 Application(s): wx
+ Related Id(s): GH-5758
+
+ Fixed a bug in callback handling which could lead to a
+ unresponsive gui.
+
+
+ Full runtime dependencies of wx-2.1.3: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.1.README.txt b/release-notes/OTP-24.3.4.1.README.txt
new file mode 100644
index 0000000..22a204c
--- /dev/null
+++ b/release-notes/OTP-24.3.4.1.README.txt
@@ -0,0 +1,188 @@
+Patch Package: OTP 24.3.4.1
+Git Tag: OTP-24.3.4.1
+Date: 2022-06-08
+Trouble Report Id: OTP-17858, OTP-18085, OTP-18087, OTP-18092,
+ OTP-18093, OTP-18094, OTP-18100, OTP-18123,
+ OTP-18128, OTP-18129
+Seq num: ERIERL-728, GH-5950, GH-5961, GH-5985,
+ GH-5994
+System: OTP
+Release: 24
+Application: crypto-5.0.6.1, erts-12.3.2.1,
+ mnesia-4.20.4.1, ssh-4.13.2.1, ssl-10.7.3.1
+Predecessor: OTP 24.3.4
+
+ Check out the git tag OTP-24.3.4.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.6.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.6.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17858 Application(s): crypto
+ Related Id(s): ERIERL-728
+
+ Fix timing bug in ensure_engine_loaded
+
+ When two ensure_engine_loaded() calls were done in
+ parallel there was a possibility that a crypto lib
+ function was called by both instead of just one of them
+ which resulted in an error. This is solved by moving
+ the implementation from erlang down into a NIF function
+ that uses a mutex to protect the sensitive part.
+
+
+ Full runtime dependencies of crypto-5.0.6.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18093 Application(s): erts
+ Related Id(s): OTP-18104, PR-5987
+
+ Accept funs (NEW_FUN_EXT) with incorrectly encoded size
+ field. This is a workaround for a bug (OTP-18104)
+ existing in OTP 23 and 24 that could cause incorrect
+ size fields in certain cases. The emulator does not use
+ the decoded size field, but erl_interface still does
+ and is not helped by this workaround.
+
+
+ OTP-18123 Application(s): erts
+ Related Id(s): GH-5994
+
+ The zlib built in to the runtime system has been
+ updated to version 1.2.12. (Note that on most
+ platforms, the platform's own zlib is used.)
+
+
+ Full runtime dependencies of erts-12.3.2.1: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.4.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.4.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18128 Application(s): mnesia
+ Related Id(s): PR-6013
+
+ Fixed add_table_copy which could leave a table lock if
+ the receiving node went down during the operation.
+
+
+ Full runtime dependencies of mnesia-4.20.4.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13.2.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13.2.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18094 Application(s): ssh
+
+ Binaries can be limited in logs with the parameter
+ max_log_item_len. The default value is 500 bytes.
+
+
+ Full runtime dependencies of ssh-4.13.2.1: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18087 Application(s): ssl
+ Related Id(s): GH-5961
+
+ When a TLS-1.3 enabled client tried to talk to a
+ TLS-1.2 server that coalesces TLS-1.2 handshake message
+ over one TLS record, the connection could fail due to
+ some message being handled in the wrong state, this has
+ been fixed.
+
+
+ OTP-18092 Application(s): ssl
+ Related Id(s): PR-5959
+
+ Fixed tls-1.3 session ticket lifetime which was
+ discarded to quickly before.
+
+
+ OTP-18100 Application(s): ssl
+ Related Id(s): GH-5985
+
+ Correctly handles supported protocol version change
+ from default to something else by sni_fun supplied to
+ ssl:handshake/[2,3] together with a TCP-socket (so
+ called upgrade).
+
+
+ OTP-18129 Application(s): ssl
+ Related Id(s): GH-5950
+
+ Also, TLS-1.3 should respond with a protocol version
+ alert if previous versions, that are supported but not
+ configured, are attempted.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18085 Application(s): ssl
+
+ Enhance handling of handshake decoding errors,
+ especially for certificate authorities extension to
+ ensure graceful termination.
+
+
+ Full runtime dependencies of ssl-10.7.3.1: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.10.README.txt b/release-notes/OTP-24.3.4.10.README.txt
new file mode 100644
index 0000000..449dbba
--- /dev/null
+++ b/release-notes/OTP-24.3.4.10.README.txt
@@ -0,0 +1,87 @@
+Patch Package: OTP 24.3.4.10
+Git Tag: OTP-24.3.4.10
+Date: 2023-03-17
+Trouble Report Id: OTP-18422, OTP-18496, OTP-18509
+Seq num: ERIERL-873, GH-6947
+System: OTP
+Release: 24
+Application: erts-12.3.2.10, inets-7.5.3.3, snmp-5.12.0.3
+Predecessor: OTP 24.3.4.9
+
+ Check out the git tag OTP-24.3.4.10, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.10 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.10 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18496 Application(s): erts
+ Related Id(s): GH-6947, PR-6953
+
+ Active process aliases of a process at its termination
+ leaked memory.
+
+
+ Full runtime dependencies of erts-12.3.2.10: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.5.3.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5.3.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18509 Application(s): inets
+ Related Id(s): OTP-18476
+
+ Correct timing related pipelining/keepalive queue bug,
+ that could result in unexpected "socket_remotly_closed"
+ errors.
+
+
+ Full runtime dependencies of inets-7.5.3.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.12.0.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.12.0.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18422 Application(s): snmp
+ Related Id(s): ERIERL-873
+
+ Attempts to minimize the number of the error reports
+ during a failed agent init.
+
+
+ Full runtime dependencies of snmp-5.12.0.3: crypto-3.3, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.11.README.txt b/release-notes/OTP-24.3.4.11.README.txt
new file mode 100644
index 0000000..28896a5
--- /dev/null
+++ b/release-notes/OTP-24.3.4.11.README.txt
@@ -0,0 +1,136 @@
+Patch Package: OTP 24.3.4.11
+Git Tag: OTP-24.3.4.11
+Date: 2023-04-21
+Trouble Report Id: OTP-18243, OTP-18343, OTP-18525, OTP-18545,
+ OTP-18550, OTP-18557
+Seq num: ERIERL-928, ERIERL-937, GH-6247, GH-6496
+System: OTP
+Release: 24
+Application: erts-12.3.2.11, inets-7.5.3.4, ssl-10.7.3.7
+Predecessor: OTP 24.3.4.10
+
+ Check out the git tag OTP-24.3.4.11, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.11 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.11 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18243 Application(s): erts
+ Related Id(s): GH-6247, PR-6258
+
+ Fix bug sometimes causing emulator crash at node
+ shutdown when there are pending connections. Only seen
+ when running duel distribution protocols, inet_drv and
+ inet_tls_dist.
+
+
+ OTP-18343 Application(s): erts
+ Related Id(s): GH-6496
+
+ Fix bug in binary_to_term (and distributed receive)
+ when decoding a large map (>32 keys) with unsorted
+ small maps (<= 32) as keys of the large map.
+
+ This was only a problem if the term was encoded by
+ erl_interface, jinterface or otherwise, as the VM
+ itself always encodes small maps with sorted keys.
+
+ The "binary_to_term" would appear as successful but the
+ created large map was internally inconsistent. The
+ smaller key-maps could not be found with maps:get and
+ friends. Other operations such as map compare and merge
+ could probably also give incorrect results.
+
+
+ OTP-18525 Application(s): erts
+ Related Id(s): PR-7049
+
+ Implementations of the call() driver callback that
+ returned a faulty encoded result could cause a memory
+ leak and could cause invalid data on the heap of the
+ processes calling erlang:port_call/3.
+
+
+ OTP-18557 Application(s): erts
+ Related Id(s): OTP-18496, PR-7131
+
+ Aliases created in combination with a monitor using the
+ {alias, explicit_unalias} option stopped working from
+ remote nodes when a 'DOWN' signal had been received due
+ to the monitor or if the monitor was removed using the
+ erlang:demonitor() BIF.
+
+ This bug was introduced in OTP 24.3.4.10 and OTP 25.3.
+
+
+ Full runtime dependencies of erts-12.3.2.11: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.5.3.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5.3.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18545 Application(s): inets
+ Related Id(s): ERIERL-928, ERIERL-937, OTP-18509
+
+ With this change, upon remote socket closure current
+ request is added to a retried queue (either pipeline or
+ keep_alive, but not both).
+
+
+ Full runtime dependencies of inets-7.5.3.4: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.7 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.7 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+ -- stdlib-3.17.2.1 (first satisfied in OTP 24.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18550 Application(s): ssl
+
+ Client signature algorithm list input order is now
+ honored again , it was accidently reversed by a
+ previous fix.
+
+
+ Full runtime dependencies of ssl-10.7.3.7: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.17.2.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.12.README.txt b/release-notes/OTP-24.3.4.12.README.txt
new file mode 100644
index 0000000..0ed8b1e
--- /dev/null
+++ b/release-notes/OTP-24.3.4.12.README.txt
@@ -0,0 +1,181 @@
+Patch Package: OTP 24.3.4.12
+Git Tag: OTP-24.3.4.12
+Date: 2023-05-30
+Trouble Report Id: OTP-18556, OTP-18560, OTP-18569, OTP-18570,
+ OTP-18593, OTP-18595, OTP-18597
+Seq num: ERIERL-944, GH-7252
+System: OTP
+Release: 24
+Application: compiler-8.1.1.4, erts-12.3.2.12,
+ stdlib-3.17.2.3, xmerl-1.3.28.1
+Predecessor: OTP 24.3.4.11
+
+ Check out the git tag OTP-24.3.4.12, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1.1.4 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.1.1.4 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18593 Application(s): compiler
+ Related Id(s): GH-7252
+
+ Complex guard expression using the or operator and
+ guard BIFs that can fail could sometimes be miscompiled
+ so that the guard would succeed even if a call to a
+ guard BIF failed.
+
+
+ Full runtime dependencies of compiler-8.1.1.4: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.12 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.12 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18560 Application(s): erts
+
+ In rare circumstances, bit syntax matching of an
+ invalid code point for a utf32 would crash the runtime
+ system.
+
+
+ OTP-18570 Application(s): erts
+ Related Id(s): PR-7190
+
+ If a runtime system which was starting the distribution
+ already had existing pids, ports, or references
+ referring to a node with the same nodename/creation
+ pair that the runtime system was about to use, these
+ already existing pids, ports, or references would not
+ work as expected in various situations after the node
+ had gone alive. This could only occur if the runtime
+ system was communicated such pids, ports, or references
+ prior to the distribution was started. That is, it was
+ extremely unlikely to happen unless the distribution
+ was started dynamically and was even then very unlikely
+ to happen. The runtime system now checks for already
+ existing pids, ports, and references with the same
+ nodename/creation pair that it is about to use. If such
+ are found another creation will be chosen in order to
+ avoid these issues.
+
+
+ OTP-18597 Application(s): erts
+
+ Constructing a binary segment not aligned with a byte
+ boundary, with a size not fitting in 31 bits, and with
+ a value not fitting in a 64-bit word could crash the
+ runtime system.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18569 Application(s): erts
+
+ Further robustify implementation of large maps (> 32
+ keys). Keys that happen to have same internal 32-bit
+ hash values are now put in collision nodes which are
+ traversed with linear search. This removes the demand
+ for the internal hash function when salted to
+ eventually produce different hashes for all possible
+ pairs of unequal terms.
+
+
+ Full runtime dependencies of erts-12.3.2.12: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.17.2.3 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.17.2.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18556 Application(s): stdlib
+
+ Static supervisors are very idle processes after they
+ have started so they will now be hibernated after start
+ to improve resource management.
+
+
+ Full runtime dependencies of stdlib-3.17.2.3: compiler-5.0,
+ crypto-3.3, erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.28.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.28.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18595 Application(s): xmerl
+ Related Id(s): ERIERL-944
+
+ New options to xmerl_scan and xmerl_sax_parser so one
+ can limit the behaviour of the parsers to avoid some
+ XML security issues.
+
+ xmerl_scan gets one new option:
+
+ -- {allow_entities, Boolean} -- Gives the possibility
+ to disallow entities by setting this option to false
+ (true is default)
+
+ xmerl_sax_parser gets the following options:
+
+ -- disallow_entities -- Don't allow entities in
+ document
+
+ -- {entity_recurse_limit, N} -- Set a limit on entity
+ recursion depth (default is 3)
+
+ -- {external_entities, AllowedType} -- Specify which
+ types of external entities that are allowed, this also
+ affect external DTD's. The types are all(default), file
+ and none
+
+ -- {fail_undeclared_ref, Boolean} -- Sets the behavior
+ for undeclared references due to an external file is
+ not parsed (true is default)
+
+ The old option skip_external_dtd is still valid and the
+ same as {external_entities, none} and
+ {fail_undeclared_ref, false} but just affects DTD's and
+ not other external references.
+
+
+ Full runtime dependencies of xmerl-1.3.28.1: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.13.README.txt b/release-notes/OTP-24.3.4.13.README.txt
new file mode 100644
index 0000000..3dea948
--- /dev/null
+++ b/release-notes/OTP-24.3.4.13.README.txt
@@ -0,0 +1,185 @@
+Patch Package: OTP 24.3.4.13
+Git Tag: OTP-24.3.4.13
+Date: 2023-06-29
+Trouble Report Id: OTP-18617, OTP-18618, OTP-18620, OTP-18643,
+ OTP-18644, OTP-18659
+Seq num: ERIERL-932, GH-7336, GH-7338
+System: OTP
+Release: 24
+Application: compiler-8.1.1.5, debugger-5.2.1.1,
+ erts-12.3.2.13, ssh-4.13.2.3, ssl-10.7.3.8,
+ stdlib-3.17.2.4
+Predecessor: OTP 24.3.4.12
+
+ Check out the git tag OTP-24.3.4.13, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1.1.5 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.1.1.5 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18617 Application(s): compiler
+ Related Id(s): GH-7338
+
+ The compiler could be very slow when compiling guards
+ with multiple guard tests separated with 'or' or ';'.
+
+
+ Full runtime dependencies of compiler-8.1.1.5: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.2.1.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.2.1.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18644 Application(s): debugger
+ Related Id(s): GH-7336
+
+ The call int:no_break(Module) did not remove any
+ breakpoints.
+
+
+ Full runtime dependencies of debugger-5.2.1.1: compiler-8.0,
+ erts-12.0, kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.13 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.13 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18659 Application(s): erts, stdlib
+ Related Id(s): PR-7426
+
+ The following functions are now much faster when given
+ a long list or binary:
+
+ -- erlang:list_to_integer/1
+
+ -- erlang:binary_to_integer/1
+
+ -- erlang:binary_to_integer/2
+
+ -- erlang:list_to_integer/2
+
+ -- string:to_integer/1
+
+
+ Full runtime dependencies of erts-12.3.2.13: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13.2.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13.2.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18620 Application(s): ssh
+ Related Id(s): OTP-18386, PR-6611
+
+ With this change, error logging related crashes in
+ ssh_connection_handler module are fixed.
+
+
+ Full runtime dependencies of ssh-4.13.2.3: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.8 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.8 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+ -- stdlib-3.17.2.1 (first satisfied in OTP 24.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18643 Application(s): ssl
+ Related Id(s): ERIERL-932
+
+ Added keylog information to all protocol versions in
+ ssl:connection_information/2.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18618 Application(s): ssl
+ Related Id(s): ERIERL-932
+
+ Add RFC-6083 considerations for DTLS to enable gen_sctp
+ based callback for the transport.
+
+
+ Full runtime dependencies of ssl-10.7.3.8: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.17.2.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.17.2.4 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.17.2.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18659 Application(s): erts, stdlib
+ Related Id(s): PR-7426
+
+ The following functions are now much faster when given
+ a long list or binary:
+
+ -- erlang:list_to_integer/1
+
+ -- erlang:binary_to_integer/1
+
+ -- erlang:binary_to_integer/2
+
+ -- erlang:list_to_integer/2
+
+ -- string:to_integer/1
+
+
+ Full runtime dependencies of stdlib-3.17.2.4: compiler-5.0,
+ crypto-3.3, erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.14.README.txt b/release-notes/OTP-24.3.4.14.README.txt
new file mode 100644
index 0000000..b5a35b8
--- /dev/null
+++ b/release-notes/OTP-24.3.4.14.README.txt
@@ -0,0 +1,205 @@
+Patch Package: OTP 24.3.4.14
+Git Tag: OTP-24.3.4.14
+Date: 2023-10-12
+Trouble Report Id: OTP-18670, OTP-18707, OTP-18711, OTP-18712,
+ OTP-18718, OTP-18732, OTP-18752, OTP-18790,
+ OTP-18797
+Seq num: ERIERL-963, GH-7431, GH-7436, GH-7444,
+ GH-7546, GH-7683
+System: OTP
+Release: 24
+Application: crypto-5.0.6.4, erts-12.3.2.14,
+ kernel-8.3.2.4, mnesia-4.20.4.3,
+ public_key-1.12.0.2, ssl-10.7.3.9
+Predecessor: OTP 24.3.4.13
+
+ Check out the git tag OTP-24.3.4.14, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.6.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.6.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18670 Application(s): crypto
+ Related Id(s): GH-7436, PR-7450
+
+ Fix VM crash caused by crypto being purged and reloaded
+ (by init:restart for example) on OS with musl libc
+ (such as Alpine linux).
+
+
+ Full runtime dependencies of crypto-5.0.6.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.14 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.14 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18732 Application(s): erts
+ Related Id(s): GH-7444, PR-7458
+
+ Fix bug causing "magic" references in a compressed ETS
+ table to not keep the referred object alive. The
+ symptom would be the referred object being garbage
+ collected prematurely and the reference appearing
+ stale, not referring to anything. Examples of such
+ magically referred objects are atomics and NIF
+ resources.
+
+
+ OTP-18752 Application(s): erts
+ Related Id(s): PR-7633
+
+ The cleanup operation of not yet delivered signals to a
+ terminated process yielded excessively.
+
+
+ OTP-18790 Application(s): erts
+ Related Id(s): PR-7742
+
+ If the external term format encoding of an argument
+ list part of a distributed spawn operation was faulty,
+ the newly spawned remote process could misbehave. The
+ misbehavior included hanging or interpret an incoming
+ message as an argument list to use. This was very
+ unlikely to happen unless using an alternate
+ implementation of the distribution protocol which made
+ a faulty encoding of the argument list. The child
+ process will now detect this error and terminate before
+ executing the user specified code.
+
+
+ OTP-18797 Application(s): erts
+ Related Id(s): GH-7683, PR-7712
+
+ Fix bugs where if the body of a matchspec would return
+ a map with a variable ('$1', '$_' etc) as one of the
+ keys or values and the variable was not an immidiate,
+ the term would not be copied to the receiving processes
+ heap. This would later corrupt the term in the table as
+ the GC could place move markers in it, which in turn
+ would cause the VM to crash.
+
+ Bug has been present for since OTP 17.0.
+
+
+ Full runtime dependencies of erts-12.3.2.14: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3.2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.3.2.4 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18707 Application(s): kernel
+ Related Id(s): #7530
+
+ gen_tcp:connect with socket address and socket (inet-)
+ backend fails because of missing callback function.
+
+
+ Full runtime dependencies of kernel-8.3.2.4: crypto-5.0, erts-12.3,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.4.3 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.4.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18711 Application(s): mnesia
+ Related Id(s): ERIERL-963
+
+ Do not delete old backup file if the new backup fails.
+
+
+ Full runtime dependencies of mnesia-4.20.4.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.12.0.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.12.0.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18718 Application(s): public_key
+ Related Id(s): GH-7546
+
+ Country name comparison shall be case insensitive
+
+
+ Full runtime dependencies of public_key-1.12.0.2: asn1-3.0,
+ crypto-3.8, erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.9 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.9 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+ -- stdlib-3.17.2.1 (first satisfied in OTP 24.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18712 Application(s): ssl
+ Related Id(s): GH-7431
+
+ When a client initiated renegotiation was rejected and
+ the client socket was in active mode the expected error
+ message to the controlling process was not sent.
+
+
+ Full runtime dependencies of ssl-10.7.3.9: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.17.2.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.15.README.txt b/release-notes/OTP-24.3.4.15.README.txt
new file mode 100644
index 0000000..8ef2b53
--- /dev/null
+++ b/release-notes/OTP-24.3.4.15.README.txt
@@ -0,0 +1,218 @@
+Patch Package: OTP 24.3.4.15
+Git Tag: OTP-24.3.4.15
+Date: 2023-12-18
+Trouble Report Id: OTP-18802, OTP-18830, OTP-18844, OTP-18850,
+ OTP-18869, OTP-18877, OTP-18885, OTP-18896,
+ OTP-18897, OTP-18899, OTP-18902
+Seq num: GH-7571, GH-7834, GH-7890
+System: OTP
+Release: 24
+Application: asn1-5.0.18.2, erl_interface-5.2.2.1,
+ erts-12.3.2.15, mnesia-4.20.4.4, ssh-4.13.2.4
+Predecessor: OTP 24.3.4.14
+
+ Check out the git tag OTP-24.3.4.15, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18897 Application(s): ssh
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-24.3.4.15 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18896 Application(s): otp
+
+ Updated copyright and license information.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.18.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.18.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18844 Application(s): asn1
+
+ Fix benign warning from gcc 11 about mismatching call
+ to free().
+
+
+ Full runtime dependencies of asn1-5.0.18.2: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.2.2.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.2.2.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18877 Application(s): erl_interface, erts
+
+ Replaced old md5 implementation with an implementation
+ from OpenSSL.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.15 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.15 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18802 Application(s): erts
+
+ Fix faulty debug assert when page size is larger than
+ 16kb, like on PowerPC. Did crash debug VM directly at
+ start.
+
+
+ OTP-18885 Application(s): erts
+ Related Id(s): GH-7834, GH-7890, PR-7915
+
+ On OTP 24 and OTP 25, incoming distributed messages
+ larger than 64 KiB sent using an alias leaked memory if
+ the alias had been removed prior to entering the node.
+ This issue was not present on OTP 26.
+
+ Incoming distributed messages larger than 64 KiB sent
+ using an alias which had been removed on the receiving
+ node could crash the node. This crash was quite
+ unlikely on OTP 24 and OTP 25, but very likely on OTP
+ 26.
+
+ 'DOWN' signals with exit reason larger than 64 KiB
+ directed towards a process on a node with a not
+ matching creation leaked memory on the receiving node.
+ Such signals should however be very rare.
+
+
+ OTP-18902 Application(s): erts
+
+ Removed unnecessary PCRE source tar-ball.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18830 Application(s): erts
+ Related Id(s): PR-7823
+
+ Removed unnecessary regexp library used when generating
+ yielding BIFs.
+
+
+ OTP-18877 Application(s): erl_interface, erts
+
+ Replaced old md5 implementation with an implementation
+ from OpenSSL.
+
+
+ OTP-18899 Application(s): erts
+
+ Removed unused makewhatis script.
+
+
+ Full runtime dependencies of erts-12.3.2.15: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.4.4 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.4.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18850 Application(s): mnesia
+
+ mnesia:add_table_copy/3 no longer fails with reason
+ system_limit when the node is starting.
+
+
+ Full runtime dependencies of mnesia-4.20.4.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13.2.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13.2.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18869 Application(s): ssh
+ Related Id(s): GH-7571, PR-7849
+
+ With this change, connection handler does not execute
+ socket operations until it becomes socket owner.
+ Previously errors could occur if connection handler
+ tried to work with socket whose owner exited.
+
+
+ OTP-18897 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH.
+
+
+ Full runtime dependencies of ssh-4.13.2.4: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.16.README.txt b/release-notes/OTP-24.3.4.16.README.txt
new file mode 100644
index 0000000..17e43c7
--- /dev/null
+++ b/release-notes/OTP-24.3.4.16.README.txt
@@ -0,0 +1,99 @@
+Patch Package: OTP 24.3.4.16
+Git Tag: OTP-24.3.4.16
+Date: 2024-02-12
+Trouble Report Id: OTP-18911, OTP-18932, OTP-18964
+Seq num: ERIERL-1023
+System: OTP
+Release: 24
+Application: common_test-1.22.1.2, erts-12.3.2.16,
+ ssh-4.13.2.5
+Predecessor: OTP 24.3.4.15
+
+ Check out the git tag OTP-24.3.4.16, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.22.1.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.22.1.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18932 Application(s): common_test
+
+ Fix how CT finds Erlang/OTP releases for compatability
+ testing. This functionality is only used to test
+ Erlang/OTP.
+
+
+ Full runtime dependencies of common_test-1.22.1.2: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.16 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.16 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18911 Application(s): erts
+ Related Id(s): ERIERL-1023, PR-7983
+
+ 32-bit runtime systems on most Unix like platforms
+ could crash if a BIF timer was set with a huge timeout
+ of more than 68 years into the future. In order for the
+ crash to occur, the huge timer (at a later time than
+ when it was set) had to become the nearest active timer
+ set on the specific scheduler on which it was set. This
+ could not happen on a system with only one scheduler
+ since there would always be shorter timers in the
+ system.
+
+ Setting a timer larger than 49 days on Windows could
+ under rare circumstances cause the timeout to be
+ delayed.
+
+
+ Full runtime dependencies of erts-12.3.2.16: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13.2.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13.2.5 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18964 Application(s): ssh
+
+ With this change, Curve25519 and Curve448 KEX methods
+ become most preferred (related to RFC8731).
+
+
+ Full runtime dependencies of ssh-4.13.2.5: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.2.README.txt b/release-notes/OTP-24.3.4.2.README.txt
new file mode 100644
index 0000000..8b2ca8d
--- /dev/null
+++ b/release-notes/OTP-24.3.4.2.README.txt
@@ -0,0 +1,92 @@
+Patch Package: OTP 24.3.4.2
+Git Tag: OTP-24.3.4.2
+Date: 2022-06-21
+Trouble Report Id: OTP-18144, OTP-18145, OTP-18147
+Seq num: GH-5981, GH-6024
+System: OTP
+Release: 24
+Application: crypto-5.0.6.2, erts-12.3.2.2, ssl-10.7.3.2
+Predecessor: OTP 24.3.4.1
+
+ Check out the git tag OTP-24.3.4.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.6.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.6.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18147 Application(s): crypto
+ Related Id(s): GH-6024, PR-6056
+
+ Fix configure with --with-ssl and
+ --disable-dynamic-ssl-lib on Windows.
+
+
+ Full runtime dependencies of crypto-5.0.6.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18144 Application(s): erts
+ Related Id(s): GH-5981
+
+ Fixed emulator crash that could happen during crashdump
+ generation of ETS tables with options ordered_set and
+ {write_concurrency,true}.
+
+
+ Full runtime dependencies of erts-12.3.2.2: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18145 Application(s): ssl
+
+ Improved handling of unexpected messages during the
+ handshake, taking the right action for unexpected
+ messages.
+
+
+ Full runtime dependencies of ssl-10.7.3.2: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.3.README.txt b/release-notes/OTP-24.3.4.3.README.txt
new file mode 100644
index 0000000..334b3d0
--- /dev/null
+++ b/release-notes/OTP-24.3.4.3.README.txt
@@ -0,0 +1,445 @@
+Patch Package: OTP 24.3.4.3
+Git Tag: OTP-24.3.4.3
+Date: 2022-08-18
+Trouble Report Id: OTP-18044, OTP-18104, OTP-18162, OTP-18164,
+ OTP-18169, OTP-18170, OTP-18172, OTP-18173,
+ OTP-18175, OTP-18177, OTP-18182, OTP-18189,
+ OTP-18190, OTP-18193, OTP-18195, OTP-18197,
+ OTP-18198
+Seq num: ERIERL-826, ERIERL-829, GH-6122, GH-6129,
+ GH-6163, GH-6165, GH-6185
+System: OTP
+Release: 24
+Application: compiler-8.1.1.1, crypto-5.0.6.3,
+ erts-12.3.2.3, inets-7.5.3.1, kernel-8.3.2.1,
+ public_key-1.12.0.1, ssl-10.7.3.3
+Predecessor: OTP 24.3.4.2
+
+ Check out the git tag OTP-24.3.4.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions functions are removed from the
+ documentation and therefor the API, but they are left
+ in the code for compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** HIGHLIGHT ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions functions are removed from the
+ documentation and therefor the API, but they are left
+ in the code for compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1.1.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.1.1.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18162 Application(s): compiler
+ Related Id(s): PR-6102
+
+ The bin_opt_info and recv_opt_info options would cause
+ the compiler to crash when attempting to compile
+ generated code without location information.
+
+
+ OTP-18182 Application(s): compiler
+ Related Id(s): GH-6163
+
+ In rare circumstances involving floating point
+ operations, the compiler could terminate with an
+ internal consistency check failure.
+
+
+ Full runtime dependencies of compiler-8.1.1.1: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.6.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.6.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions functions are removed from the
+ documentation and therefor the API, but they are left
+ in the code for compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ Full runtime dependencies of crypto-5.0.6.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18104 Application(s): erts
+ Related Id(s): OTP-18093
+
+ Fix faulty distribution encoding of terms with either
+
+ -- a fun with bit-string or export-fun in its
+ environment when encoded toward a not yet established
+ (pending) connection
+
+ -- or a fun with a binary/bitstring, in its
+ environment, referring to an off-heap binary (larger
+ than 64 bytes).
+
+ The symptom could be failed decoding on the receiving
+ side leading to aborted connection. Fix OTP-18093 is a
+ workaround for theses bugs that makes the VM accepts
+ such faulty encoded funs.
+
+ The first encoding bug toward pending connection exists
+ only in OTP 23 and 24, but the second one exists also
+ on OTP 25.
+
+
+ OTP-18164 Application(s): erts
+ Related Id(s): PR-6114
+
+ Distributed exit signals could be lost under the
+ following conditions:
+
+ -- An exit signal from a parent process to a child
+ process was lost if:
+
+ -- the parent process terminated before the spawn
+ request that created the child had completed,
+
+ -- the spawn request set up a link between parent and
+ child
+
+ -- the spawn request was distributed, and
+
+ -- the exit reason was larger than one machine word.
+
+ -- Loss of a connection over which a not yet completed
+ spawn request was ongoing could cause loss of exit
+ signals. Such loss of exit signals was very rare.
+ Besides the above described connection loss also the
+ following conditions had to be satisfied:
+
+ -- The spawn request that was interrupted by the
+ connection loss also had to set up a link between the
+ parent process and the child process.
+
+ -- The parent process that issued the spawn request
+ also had to be terminating while the spawn request was
+ interrupted by the connection loss.
+
+ -- The same parent process also had to have made other
+ spawn requests to other nodes than to the node to which
+ the connection was lost.
+
+ -- These spawn requests to the other nodes also had to
+ set up links.
+
+ -- These spawn requests to the other nodes also had to
+ be not yet completed at the time of the connection
+ loss. That is, the spawn reply from the child process
+ had not yet reached the parent process.
+
+ If all the conditions above were met, exit signals to
+ the children spawned due to the above described spawn
+ requests to other nodes *could* be lost.
+
+ The above bug also caused a significant memory leak
+ when it was triggered since the destruction of the
+ parent process never completed.
+
+
+ OTP-18169 Application(s): erts
+ Related Id(s): PR-6134
+
+ A race could cause process_info(Pid, message_queue_len)
+ on other processes to return invalid results.
+
+
+ OTP-18170 Application(s): erts
+ Related Id(s): PR-6135
+
+ Fixed reduction counting for handling process system
+ tasks.
+
+
+ OTP-18175 Application(s): erts
+ Related Id(s): PR-6142
+
+ Priority elevation of terminating processes did not
+ work which could cause execution of such processes to
+ be delayed.
+
+
+ OTP-18177 Application(s): erts
+ Related Id(s): PR-6150
+
+ An unlink operation made by a process that terminated
+ before the unlink operation completed, i.e., before it
+ had received an unlink-ack signal from the linked
+ process, caused an exit signal to erroneously be sent
+ from the terminating process to the process being
+ unlinked. This exit signal would most often be ignored
+ by the receiver, but if the receiver of the exit signal
+ concurrently set up a new link, it could receive the
+ exit signal with the actual exit reason of the
+ terminating process instead of a noproc exit reason. It
+ is however very hard to detect that this has happened
+ and has no obvious negative consequences, so it should
+ be considered harmless.
+
+ A distributed unlink-ack signal received by a
+ terminating process was also not properly removed which
+ could cause a minor memory leak.
+
+
+ OTP-18190 Application(s): erts
+ Related Id(s): GH-6185, PR-6209
+
+ The monitor/3 BIF did not apply options to the created
+ monitor if the target process or port did not exist.
+ That is, the corresponding down message would get a
+ `DOWN` tag even if a custom tag had been set, and the
+ returned reference was not an alias even if the alias
+ option had been passed.
+
+
+ OTP-18197 Application(s): erts
+ Related Id(s): GH-6165, PR-6213
+
+ The erlang:monotonic_time/1, erlang:system_time/1,
+ erlang:time_offset/1, and os:system_time/1 BIFs
+ erroneously failed when passed the argument native.
+
+
+ Full runtime dependencies of erts-12.3.2.3: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.5.3.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5.3.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18193 Application(s): inets
+ Related Id(s): GH-6122
+
+ Remove documentation of no longer supported callback.
+
+
+ Full runtime dependencies of inets-7.5.3.1: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.3.2.1 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18198 Application(s): kernel
+ Related Id(s): GH-6129, PR-6216
+
+ A call to net_kernel:setopts(new, Opts) at the same
+ time as a connection was being set up could cause a
+ deadlock between the net_kernel process and the process
+ setting up the connection.
+
+
+ Full runtime dependencies of kernel-8.3.2.1: crypto-5.0, erts-12.3,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.12.0.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.12.0.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18189 Application(s): public_key
+ Related Id(s): ERIERL-829
+
+ Correct asn1 typenames available in type
+ pki_asn1_type()
+
+
+ Full runtime dependencies of public_key-1.12.0.1: asn1-3.0,
+ crypto-3.8, erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18044 Application(s): ssl
+
+ Reject unexpected application data in all relevant
+ places for all TLS versions. Also, handle TLS-1.3
+ middlebox compatibility with more care. This will make
+ malicious connections fail early and further, mitigate
+ possible DoS attacks, that would be caught by the
+ handshake timeout.
+
+ Thanks to Aina Toky Rasoamanana and Olivier Levillain
+ from Télécom SudParis for alerting us of the issues in
+ our implementation.
+
+
+ OTP-18173 Application(s): ssl
+
+ The link to crypto:engine_load refered the function
+ with wrong arity.
+
+
+ OTP-18195 Application(s): ssl
+
+ Make sure periodical refresh of CA certificate files
+ repopulates cache properly.
+
+
+ Full runtime dependencies of ssl-10.7.3.3: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.4.README.txt b/release-notes/OTP-24.3.4.4.README.txt
new file mode 100644
index 0000000..970baf7
--- /dev/null
+++ b/release-notes/OTP-24.3.4.4.README.txt
@@ -0,0 +1,47 @@
+Patch Package: OTP 24.3.4.4
+Git Tag: OTP-24.3.4.4
+Date: 2022-08-26
+Trouble Report Id: OTP-18218
+Seq num: ERIERL-855
+System: OTP
+Release: 24
+Application: erts-12.3.2.4
+Predecessor: OTP 24.3.4.3
+
+ Check out the git tag OTP-24.3.4.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18218 Application(s): erts
+ Related Id(s): ERIERL-855
+
+ Fix bug causing ets:info (and sometimes ets:whereis) to
+ return 'undefined' for an existing table if a
+ concurrent process were doing ets:insert with a long
+ list on the same table.
+
+
+ Full runtime dependencies of erts-12.3.2.4: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.5.README.txt b/release-notes/OTP-24.3.4.5.README.txt
new file mode 100644
index 0000000..e085a05
--- /dev/null
+++ b/release-notes/OTP-24.3.4.5.README.txt
@@ -0,0 +1,143 @@
+Patch Package: OTP 24.3.4.5
+Git Tag: OTP-24.3.4.5
+Date: 2022-09-13
+Trouble Report Id: OTP-18099, OTP-18219, OTP-18222, OTP-18233,
+ OTP-18239
+Seq num: GH-6241, GH-6242, GH-6244
+System: OTP
+Release: 24
+Application: erts-12.3.2.5, ssl-10.7.3.4, stdlib-3.17.2.1
+Predecessor: OTP 24.3.4.4
+
+ Check out the git tag OTP-24.3.4.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18239 Application(s): stdlib
+
+ When changing callback module in gen_statem the
+ state_enter calls flag from the old module was used in
+ for the first event in the new module, which could
+ confuse the new module and cause malfunction. This bug
+ has been corrected.
+
+ With this change some sys debug message formats have
+ been modified, which can be a problem for debug code
+ relying on the format.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.5 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18222 Application(s): erts
+ Related Id(s): GH-6242, PR-6248
+
+ Fix writing and reading of more than 2 GB in a single
+ read/write operation on macOS. Before this fix
+ attempting to read/write more than 2GB would result in
+ {error,einval}.
+
+
+ Full runtime dependencies of erts-12.3.2.5: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+ -- stdlib-3.17.2.1 (first satisfied in OTP 24.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18099 Application(s): ssl
+ Related Id(s): PR-6287
+
+ With this change, value of cacertfile option will be
+ adjusted before loading certs from the file.
+ Adjustments include converting relative paths to
+ absolute and converting symlinks to actual file path.
+
+ Thanks to Marcus Johansson
+
+
+ OTP-18219 Application(s): ssl
+ Related Id(s): GH-6241, PR-6249
+
+ Incorrect handling of client middlebox negotiation for
+ TLS-1.3 could result in that a TLS-1.3 server would not
+ use middlebox mode although the client was expecting it
+ too and failing the negotiation with unexpected
+ message.
+
+
+ OTP-18233 Application(s): ssl
+ Related Id(s): GH-6244, PR-6270
+
+ If the "User" process, the process starting the TLS
+ connection, gets killed in the middle of spawning the
+ dynamic connection tree make sure we do not leave any
+ processes behind.
+
+
+ Full runtime dependencies of ssl-10.7.3.4: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.17.2.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.17.2.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.17.2.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18239 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When changing callback module in gen_statem the
+ state_enter calls flag from the old module was used in
+ for the first event in the new module, which could
+ confuse the new module and cause malfunction. This bug
+ has been corrected.
+
+ With this change some sys debug message formats have
+ been modified, which can be a problem for debug code
+ relying on the format.
+
+
+ Full runtime dependencies of stdlib-3.17.2.1: compiler-5.0,
+ crypto-3.3, erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.6.README.txt b/release-notes/OTP-24.3.4.6.README.txt
new file mode 100644
index 0000000..9bb2943
--- /dev/null
+++ b/release-notes/OTP-24.3.4.6.README.txt
@@ -0,0 +1,144 @@
+Patch Package: OTP 24.3.4.6
+Git Tag: OTP-24.3.4.6
+Date: 2022-10-05
+Trouble Report Id: OTP-18232, OTP-18245, OTP-18258, OTP-18263,
+ OTP-18266
+Seq num: ERIERL-821, ERIERL-859, GH-6309, GH-6328
+System: OTP
+Release: 24
+Application: asn1-5.0.18.1, dialyzer-4.4.4.1,
+ erts-12.3.2.6, kernel-8.3.2.2, ssl-10.7.3.5
+Predecessor: OTP 24.3.4.5
+
+ Check out the git tag OTP-24.3.4.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.18.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.18.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18245 Application(s): asn1
+ Related Id(s): ERIERL-859
+
+ For the per and uper ASN.1 encoding rules, encoding and
+ decoding the SEQUENCE OF and SET OF constructs with
+ 16384 items or more is now supported.
+
+
+ Full runtime dependencies of asn1-5.0.18.1: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-4.4.4.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-4.4.4.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18263 Application(s): dialyzer
+ Related Id(s): ERIERL-821
+
+ The --input_list_file option has been added.
+
+
+ Full runtime dependencies of dialyzer-4.4.4.1: compiler-7.0,
+ erts-9.0, kernel-5.3, stdlib-3.4, syntax_tools-2.0, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.6 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.6 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18258 Application(s): erts
+ Related Id(s): GH-6309, PR-6324
+
+ Notifications about available distribution data sent to
+ distribution controller processes could be lost.
+ Distribution controller processes can be used when
+ implementing an alternative distribution carrier. The
+ default distribution over tcp was not effected and the
+ bug was also not present on x86/x86_64 platforms.
+
+
+ Full runtime dependencies of erts-12.3.2.6: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.3.2.2 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.3 (first satisfied in OTP 24.3)
+
+
+ --- Improvements and New Features ---
+
+ OTP-18232 Application(s): kernel
+ Related Id(s): OTP-17843, PR-6264
+
+ A new function global:disconnect/0 has been introduced
+ with which one can cleanly disconnect a node from all
+ other nodes in a cluster of global nodes.
+
+
+ Full runtime dependencies of kernel-8.3.2.2: crypto-5.0, erts-12.3,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.5 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+ -- stdlib-3.17.2.1 (first satisfied in OTP 24.3.4.5)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18266 Application(s): ssl
+ Related Id(s): GH-6328
+
+ Fixes handling of symlinks in cacertfile option.
+
+
+ Full runtime dependencies of ssl-10.7.3.5: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.17.2.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.7.README.txt b/release-notes/OTP-24.3.4.7.README.txt
new file mode 100644
index 0000000..0170ecd
--- /dev/null
+++ b/release-notes/OTP-24.3.4.7.README.txt
@@ -0,0 +1,248 @@
+Patch Package: OTP 24.3.4.7
+Git Tag: OTP-24.3.4.7
+Date: 2022-12-27
+Trouble Report Id: OTP-18288, OTP-18296, OTP-18306, OTP-18315,
+ OTP-18317, OTP-18319, OTP-18321, OTP-18325,
+ OTP-18328, OTP-18352, OTP-18357, OTP-18358,
+ OTP-18363, OTP-18365
+Seq num: ERIERL-868, ERIERL-875, ERIERL-879,
+ ERIERL-881, GH-6393, GH-6439, GH-6465,
+ GH-6466
+System: OTP
+Release: 24
+Application: common_test-1.22.1.1, compiler-8.1.1.2,
+ erts-12.3.2.7, kernel-8.3.2.3,
+ mnesia-4.20.4.2, snmp-5.12.0.1,
+ stdlib-3.17.2.2
+Predecessor: OTP 24.3.4.6
+
+ Check out the git tag OTP-24.3.4.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.22.1.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.22.1.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18363 Application(s): common_test
+ Related Id(s): ERIERL-879
+
+ Change timeout to infinity for gen_server calls in
+ cth_log_redirect
+
+
+ Full runtime dependencies of common_test-1.22.1.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1.1.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.1.1.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18325 Application(s): compiler, stdlib
+ Related Id(s): GH-6465, GH-6466
+
+ It is not allowed to call functions from guards. The
+ compiler failed to reject a call in a guard when done
+ by constructing a record with a default initialization
+ expression that called a function.
+
+
+ OTP-18365 Application(s): compiler
+
+ Fixed a bug that could cause legal code to fail
+ validation.
+
+
+ Full runtime dependencies of compiler-8.1.1.2: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.7 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.7 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18296 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ Spec for function net:if_names/0 incorrect
+
+
+ OTP-18306 Application(s): erts
+ Related Id(s): GH-6393, PR-6401
+
+ Fix bug in binary_to_term decoding a binary term 2Gbyte
+ or larger.
+
+
+ OTP-18321 Application(s): erts
+
+ Fix list_to_atom/1 for negative code points. Could
+ either return with a positive code point or fail with
+ an incorrect exception.
+
+
+ OTP-18328 Application(s): erts
+ Related Id(s): GH-6439, PR-6440
+
+ Fix bug in binary_to_term decoding a list of length 1G
+ or longer.
+
+
+ Full runtime dependencies of erts-12.3.2.7: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3.2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.3.2.3 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18296 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ Spec for function net:if_names/0 incorrect
+
+
+ OTP-18315 Application(s): kernel
+
+ Missing ctrl option name transation for TOS and TTL (on
+ FreeBSD) when using gen_udp with the 'socket'
+ inet_backend.
+
+
+ OTP-18357 Application(s): kernel
+ Related Id(s): #6509
+
+ The tcp connect option 'bind_to_device' could not be
+ used with inet_backend = 'socket'. 'inet' requires
+ value type binarry() and 'socket' requires value type
+ 'string()'.
+
+
+ OTP-18358 Application(s): kernel
+ Related Id(s): #6528
+
+ Minor issue processing options when calling
+ gen_tcp:connect with a sockaddr() and inet_backend =
+ socket.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18317 Application(s): kernel
+
+ Improve warning message format for gen_tcp_socket.
+
+
+ Full runtime dependencies of kernel-8.3.2.3: crypto-5.0, erts-12.3,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.4.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.4.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18288 Application(s): mnesia
+ Related Id(s): ERIERL-868
+
+ Don't fill the logs if mnesia can't connect to all
+ nodes, due to partitioned network.
+
+
+ OTP-18319 Application(s): mnesia
+ Related Id(s): ERIERL-875
+
+ Fixed crash which could happen during startup if too
+ many decisions where sent from remote nodes.
+
+
+ Full runtime dependencies of mnesia-4.20.4.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.12.0.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.12.0.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18352 Application(s): snmp
+ Related Id(s): ERIERL-881
+
+ Explicitly close the socket(s) when terminating
+ (default-) net-if process.
+
+
+ Full runtime dependencies of snmp-5.12.0.1: crypto-3.3, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.17.2.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.17.2.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18325 Application(s): compiler, stdlib
+ Related Id(s): GH-6465, GH-6466
+
+ It is not allowed to call functions from guards. The
+ compiler failed to reject a call in a guard when done
+ by constructing a record with a default initialization
+ expression that called a function.
+
+
+ Full runtime dependencies of stdlib-3.17.2.2: compiler-5.0,
+ crypto-3.3, erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.8.README.txt b/release-notes/OTP-24.3.4.8.README.txt
new file mode 100644
index 0000000..c447552
--- /dev/null
+++ b/release-notes/OTP-24.3.4.8.README.txt
@@ -0,0 +1,73 @@
+Patch Package: OTP 24.3.4.8
+Git Tag: OTP-24.3.4.8
+Date: 2023-01-17
+Trouble Report Id: OTP-18379, OTP-18383, OTP-18388
+Seq num: ERIERL-904, ERIERL-905
+System: OTP
+Release: 24
+Application: erts-12.3.2.8, snmp-5.12.0.2
+Predecessor: OTP 24.3.4.7
+
+ Check out the git tag OTP-24.3.4.8, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.8 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.8 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18383 Application(s): erts
+ Related Id(s): ERIERL-905
+
+ Fixed a bug in selective receive optimization that
+ could crash 32-bit emulators.
+
+
+ OTP-18388 Application(s): erts
+ Related Id(s): OTP-17462, PR-6662
+
+ A race condition which was very rarely triggered could
+ cause the signal queue of a process to become
+ inconsistent causing the runtime system to crash.
+
+
+ Full runtime dependencies of erts-12.3.2.8: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.12.0.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.12.0.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18379 Application(s): snmp
+ Related Id(s): ERIERL-904
+
+ Single threaded agent crash when vacm table not
+ properly initiated.
+
+
+ Full runtime dependencies of snmp-5.12.0.2: crypto-3.3, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.9.README.txt b/release-notes/OTP-24.3.4.9.README.txt
new file mode 100644
index 0000000..b63d6cb
--- /dev/null
+++ b/release-notes/OTP-24.3.4.9.README.txt
@@ -0,0 +1,170 @@
+Patch Package: OTP 24.3.4.9
+Git Tag: OTP-24.3.4.9
+Date: 2023-02-23
+Trouble Report Id: OTP-18386, OTP-18417, OTP-18421, OTP-18433,
+ OTP-18463, OTP-18467, OTP-18470, OTP-18472
+Seq num: ERIERL-888, GH-6772, GH-6807, GH-6873
+System: OTP
+Release: 24
+Application: compiler-8.1.1.3, erts-12.3.2.9,
+ inets-7.5.3.2, ssh-4.13.2.2, ssl-10.7.3.6
+Predecessor: OTP 24.3.4.8
+
+ Check out the git tag OTP-24.3.4.9, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1.1.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.1.1.3 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18470 Application(s): compiler
+ Related Id(s): GH-6873, PR-6877
+
+ The compiler would generate incorrect code for the
+ following type of expression:
+
+ Pattern = BoundVar1 = . . . = BoundVarN = Expression
+
+ An exception should be raised if any of the bound
+ variables have different values than Expression. The
+ compiler would generate code that would cause the bound
+ variables to be bound to the value of Expressionwhether
+ the value matched or not.
+
+
+ Full runtime dependencies of compiler-8.1.1.3: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2.9 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2.9 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18421 Application(s): erts
+ Related Id(s): PR-6806
+
+ process_info(Pid, status) when Pid /= self() could
+ return an erroneous result.
+
+
+ OTP-18463 Application(s): erts
+ Related Id(s): PR-6858
+
+ In rare circumstances, when a process exceeded its
+ allowed heap size set by option max_heap_size, it would
+ not be killed as it should be, but instead enter a kind
+ of zombie state it would never get out of.
+
+
+ Full runtime dependencies of erts-12.3.2.9: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.5.3.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5.3.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18472 Application(s): inets
+ Related Id(s): DAFH-1592
+
+ With this change, handling of URI to a folder, with
+ missing trailing / and a query component present is
+ fixed.
+
+
+ Full runtime dependencies of inets-7.5.3.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13.2.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13.2.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18386 Application(s): ssh
+ Related Id(s): PR-6611
+
+ With this change, ssh application does not crash when
+ formatting some of info reports for unsuccessful
+ connections.
+
+
+ OTP-18417 Application(s): ssh
+ Related Id(s): ERIERL-888, DAFH-1349, IA18357
+
+ With this change, ssh does not log extensively long
+ messages.
+
+
+ Full runtime dependencies of ssh-4.13.2.2: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3.6 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3.6 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+ -- stdlib-3.17.2.1 (first satisfied in OTP 24.3.4.5)
+
+
+ --- Improvements and New Features ---
+
+ OTP-18433 Application(s): ssl
+ Related Id(s): GH-6772
+
+ Maximize compatibility by ignoring change_cipher_spec
+ during handshake even if middle_box_mode is not
+ negotiated (mandated by client)
+
+
+ OTP-18467 Application(s): ssl
+ Related Id(s): GH-6807
+
+ Move assert of middlebox message after an
+ hello_retry_request to maximize interoperability. Does
+ not changes semantics of the protocol only allows
+ unexpected message delay from server.
+
+
+ Full runtime dependencies of ssl-10.7.3.6: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.17.2.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.4.README.txt b/release-notes/OTP-24.3.4.README.txt
new file mode 100644
index 0000000..5a846c1
--- /dev/null
+++ b/release-notes/OTP-24.3.4.README.txt
@@ -0,0 +1,298 @@
+Patch Package: OTP 24.3.4
+Git Tag: OTP-24.3.4
+Date: 2022-05-03
+Trouble Report Id: OTP-17970, OTP-18027, OTP-18028, OTP-18056,
+ OTP-18061, OTP-18062, OTP-18064, OTP-18065,
+ OTP-18066, OTP-18069, OTP-18071, OTP-18075,
+ OTP-18076, OTP-18077, OTP-18078, OTP-18080,
+ OTP-18081, OTP-18082
+Seq num: ERIERL-802, ERIERL-805, GH-5835, GH-5876,
+ GH-5883, GH-5893, GH-5898, GH-5908, GH-5915,
+ GH-5930
+System: OTP
+Release: 24
+Application: compiler-8.1.1, erts-12.3.2, inets-7.5.3,
+ kernel-8.3.2, mnesia-4.20.4, ssl-10.7.3,
+ stdlib-3.17.2, wx-2.1.4
+Predecessor: OTP 24.3.3
+
+ Check out the git tag OTP-24.3.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.1.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18066 Application(s): compiler
+ Related Id(s): GH-5915
+
+ Fixed a performance bug in the validator that made
+ certain files take a very long time to compile.
+
+
+ OTP-18082 Application(s): compiler
+
+ In rare circumstances, the compiler would mistakenly
+ assume that a call to setelement/3 would always fail
+ and remove all code following the call.
+
+
+ Full runtime dependencies of compiler-8.1.1: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17970 Application(s): erts
+ Related Id(s): PR-5762
+
+ Let EPMD tolerate failure when binding to IPv4/IPv6
+ loopback intefaces in addition to user-supplied
+ addresses via ERL_EPMD_ADDRESS or the -address option.
+ This can happen, for example, if the host system has
+ ipv6 disabled via the disable_ipv6 sysctl.
+
+
+ OTP-18027 Application(s): erts
+
+ Fixed a rare bug in binary_to_term/1,
+ enif_make_map_from_arrays, erl_drv_send_term, and
+ Erlang distribution that could crash the emulator.
+
+
+ OTP-18065 Application(s): erts
+ Related Id(s): GH-5908
+
+ Fixed a rare race in persistent_term:get/1,2 that could
+ cause it to return the value of another key.
+
+
+ OTP-18075 Application(s): erts
+ Related Id(s): PR-5927
+
+ Fix bug where the process message queue was left in an
+ inconsistent state when changing from on_heap to
+ off_heap message queue data causing the GC to segfault.
+
+
+ OTP-18076 Application(s): erts
+ Related Id(s): ERIERL-802, PR-5905
+
+ Fix functions that convert universal to localtime (such
+ as erlang:localtime/0 and
+ erlang:universaltime_to_localtime/1) to fetch the
+ correct localtime if it is changed after the start of
+ the VM.
+
+
+ OTP-18077 Application(s): erts
+ Related Id(s): GH-5876, PR-5892
+
+ Fix memory leak when a process doing a distributed
+ fragmented send is sent an exit signal. Before this fix
+ the receiving node would be left with an incomplete
+ message that would remain until the nodes were
+ disconnected. The bug has existed since Erlang/OTP 21.
+
+
+ OTP-18080 Application(s): erts, kernel
+ Related Id(s): GH-5930
+
+ Corrected the behaviour of the shutdown function when
+ using with the inet_backend = socket. It was not
+ sufficiently compatible with the "old" gen_tcp.
+
+
+ Full runtime dependencies of erts-12.3.2: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.5.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18069 Application(s): inets
+ Related Id(s): ERIERL-805
+
+ Fix handling of erl_script_script option in httpd when
+ atom 'all' is used as AllowedModule.
+
+
+ Full runtime dependencies of inets-7.5.3: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.3.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18078 Application(s): kernel
+ Related Id(s): GH-5930
+
+ inet:getopts/2 for the 'raw' option for a socket
+ created with inet-backend 'socket' failed.
+
+
+ OTP-18080 Application(s): erts, kernel
+ Related Id(s): GH-5930
+
+ Corrected the behaviour of the shutdown function when
+ using with the inet_backend = socket. It was not
+ sufficiently compatible with the "old" gen_tcp.
+
+
+ Full runtime dependencies of kernel-8.3.2: crypto-5.0, erts-12.3,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18056 Application(s): mnesia
+
+ Fixed mnesia:add_table_copy/3 so that calling it when
+ mnesia started on another node does not fail or cause
+ hanging nodes.
+
+
+ Full runtime dependencies of mnesia-4.20.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7.3 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18028 Application(s): ssl
+ Related Id(s): GH-5835
+
+ Client certification could fail if TLS-1.3 enabled
+ client negotiated TLS-1.2 connection with the server,
+ this is due to the wrong version being used when
+ decoding the certificate request message from the
+ server.
+
+
+ OTP-18062 Application(s): ssl
+ Related Id(s): GH-5898
+
+ socket option packet_size was not handled in
+ ssl:setops/2 and ssl:getotps/2
+
+
+ OTP-18071 Application(s): ssl
+ Related Id(s): GH-5930
+
+ Remove legacy code to fix interoperability with new
+ socket inet_backend.
+
+
+ Full runtime dependencies of ssl-10.7.3: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.17.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.17.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18081 Application(s): stdlib
+
+ The type specifications for shell_docs:get_doc/3,
+ shell_docs:get_callback_doc/3, and
+ shell_docs:get_type_doc/3 incorrectly stated that the
+ returned Metadata was an empty map.
+
+
+ Full runtime dependencies of stdlib-3.17.2: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.1.4 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.1.4 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18064 Application(s): wx
+ Related Id(s): GH-5893
+
+ Fix build failure with wxWidgets-3.1.6.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18061 Application(s): wx
+ Related Id(s): GH-5883
+
+ Enable the possibility to build wx on windows with
+ wxWidgets-3.1.6.
+
+
+ Full runtime dependencies of wx-2.1.4: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-24.3.README.txt b/release-notes/OTP-24.3.README.txt
new file mode 100644
index 0000000..0800ff6
--- /dev/null
+++ b/release-notes/OTP-24.3.README.txt
@@ -0,0 +1,1078 @@
+Patch Package: OTP 24.3
+Git Tag: OTP-24.3
+Date: 2022-03-10
+Trouble Report Id: OTP-15719, OTP-16559, OTP-16607, OTP-17455,
+ OTP-17656, OTP-17718, OTP-17759, OTP-17800,
+ OTP-17812, OTP-17815, OTP-17816, OTP-17822,
+ OTP-17830, OTP-17838, OTP-17839, OTP-17840,
+ OTP-17843, OTP-17847, OTP-17851, OTP-17852,
+ OTP-17854, OTP-17857, OTP-17865, OTP-17868,
+ OTP-17877, OTP-17880, OTP-17883, OTP-17886,
+ OTP-17887, OTP-17888, OTP-17891, OTP-17893,
+ OTP-17895, OTP-17900, OTP-17902, OTP-17903,
+ OTP-17904, OTP-17905, OTP-17907, OTP-17912,
+ OTP-17918, OTP-17924, OTP-17928, OTP-17929,
+ OTP-17931, OTP-17941, OTP-17942, OTP-17947,
+ OTP-17959, OTP-17962
+Seq num: ERIERL-688, ERIERL-724, ERIERL-732,
+ ERIERL-750, ERIERL-757, ERIERL-761, GH-4852,
+ GH-5140, GH-5332, GH-5367, GH-5402, GH-5425,
+ GH-5548, GH-5571, GH-5662, GH-5667, GH-5680,
+ GH-5686, GH-5708, GH-5757
+System: OTP
+Release: 24
+Application: asn1-5.0.18, common_test-1.22.1,
+ compiler-8.1, crypto-5.0.6, debugger-5.2.1,
+ diameter-2.2.5, eldap-1.2.10,
+ erl_docgen-1.2.1, erl_interface-5.2,
+ erts-12.3, inets-7.5.2, jinterface-1.12.2,
+ kernel-8.3, megaco-4.3, mnesia-4.20.2,
+ observer-2.11, public_key-1.12,
+ runtime_tools-1.18, sasl-4.1.2, snmp-5.12,
+ ssh-4.13.2, ssl-10.7, stdlib-3.17.1, wx-2.1.2
+Predecessor: OTP 24.2.2
+
+ Check out the git tag OTP-24.3, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17455 Application(s): erts, kernel
+ Related Id(s): GH-4852
+
+ Add support for using socket:sockaddr_in() and
+ socket:sockaddr_in6() when using gen_sctp, gen_tcp and
+ gen_udp. This will make it possible to use Link Local
+ IPv6 addresses.
+
+
+ OTP-17812 Application(s): crypto
+ Related Id(s): OTP-16282, OTP-16646
+
+ The crypto app in OTP can since OTP-24.2 be compiled,
+ linked and used with the new OpenSSL 3.0 cryptolib.
+
+ The crypto app has 3.0 support has been improved, but
+ is still *not recommended* for other usages than
+ experiments and alpha testing. There are not yet any
+ guaranties that it works, not even together with other
+ OTP applications like for example SSL and SSH, although
+ there are no known errors.
+
+ Since the previous release, OTP-24.2, the following
+ improvements have been done:
+
+ - It has been tested during nearly every nightly test
+ on the OTP lab
+
+ - The hash algorithms md4 and ripemd160 have been
+ enabled with OpenSSL 3.0.
+
+ - The ciphers blowfish_cbc, blowfish_ecb, des_cbc,
+ des_cfb, des_ecb, rc2_cbc and rc4 have been enabled
+ with OpenSSL 3.0.
+
+ Disabled or unsupported with OpenSSL 3.0 are still:
+
+ - ENGINE support
+
+ - FIPS mode
+
+ - Other providers than the built-in ones
+
+ - Compiling and linking with OpenSSL 3.0 cryptolib in
+ compatibility modes (for example to behave as 1.1.1)
+
+ and, the ciphers blowfish_cfb64 and blowfish_ofb64 are
+ not supported and will not be either.
+
+ Deprecated functions in the OpenSSL 3.0 cryptolib must
+ not be disabled as OTP/crypto still uses some of the
+ deprecated API functions. The gcc flag
+ -Wno-deprecated-declarations is set to prevent
+ deprecation warnings to be printed when compiling.
+
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17928 Application(s): ssh
+ Related Id(s): PR-5679
+
+ Improper tag for private ED keys when encoding with
+ ssh:encode/2.
+
+ The tuple had ed_priv as first element, but should have
+ had ed_pri. This is now corrected.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-24.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17893 Application(s): otp
+ Related Id(s): PR-5458
+
+ A cross compilation configuration for darwin aarch64
+ has been added.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.18 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.18 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17959 Application(s): asn1
+ Related Id(s): GH-5757
+
+ Add support for the maps option in combination with the
+ jer backend.
+
+
+ Full runtime dependencies of asn1-5.0.18: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.22.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.22.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17888 Application(s): common_test
+
+ OTP internal test fix.
+
+
+ Full runtime dependencies of common_test-1.22.1: compiler-6.0,
+ crypto-3.6, debugger-4.1, erts-7.0, ftp-1.0.0, inets-6.0, kernel-4.0,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.4.2, snmp-5.1.2, ssh-4.0,
+ stdlib-3.5, syntax_tools-1.7, tools-2.8, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17895 Application(s): compiler
+
+ The expression <<0/native-float>>=Bin would always fail
+ to match, while <<0/float-native>>=Bin would match
+ (provided that Bin contained the binary representation
+ of 0.0)
+
+
+ --- Improvements and New Features ---
+
+ OTP-17886 Application(s): compiler
+ Related Id(s): GH-5140, GH-5686
+
+ The compiler will now compile huge functions with
+ straight-line code faster.
+
+
+ Full runtime dependencies of compiler-8.1: crypto-3.6, erts-11.0,
+ kernel-7.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.0.6 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.0.6 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17812 Application(s): crypto
+ Related Id(s): OTP-16282, OTP-16646
+
+ *** HIGHLIGHT ***
+
+ The crypto app in OTP can since OTP-24.2 be compiled,
+ linked and used with the new OpenSSL 3.0 cryptolib.
+
+ The crypto app has 3.0 support has been improved, but
+ is still *not recommended* for other usages than
+ experiments and alpha testing. There are not yet any
+ guaranties that it works, not even together with other
+ OTP applications like for example SSL and SSH, although
+ there are no known errors.
+
+ Since the previous release, OTP-24.2, the following
+ improvements have been done:
+
+ - It has been tested during nearly every nightly test
+ on the OTP lab
+
+ - The hash algorithms md4 and ripemd160 have been
+ enabled with OpenSSL 3.0.
+
+ - The ciphers blowfish_cbc, blowfish_ecb, des_cbc,
+ des_cfb, des_ecb, rc2_cbc and rc4 have been enabled
+ with OpenSSL 3.0.
+
+ Disabled or unsupported with OpenSSL 3.0 are still:
+
+ - ENGINE support
+
+ - FIPS mode
+
+ - Other providers than the built-in ones
+
+ - Compiling and linking with OpenSSL 3.0 cryptolib in
+ compatibility modes (for example to behave as 1.1.1)
+
+ and, the ciphers blowfish_cfb64 and blowfish_ofb64 are
+ not supported and will not be either.
+
+ Deprecated functions in the OpenSSL 3.0 cryptolib must
+ not be disabled as OTP/crypto still uses some of the
+ deprecated API functions. The gcc flag
+ -Wno-deprecated-declarations is set to prevent
+ deprecation warnings to be printed when compiling.
+
+
+ OTP-17941 Application(s): crypto
+ Related Id(s): OTP-17942
+
+ Crypto is adapted to LibreSSL 3.5.0 on OpenBSD.
+
+
+ OTP-17942 Application(s): crypto
+ Related Id(s): OTP-17941
+
+ New configure option ( --disable-otp-test-engine) to
+ prohibit the build of the OTP test engine used in some
+ test suites.
+
+ The reason is that the test engine could be hard to
+ compile on for instance LibreSSL 3.5.0. For that
+ particular cryptolib version (or higher), this
+ configure option is set automatically.
+
+
+ Full runtime dependencies of crypto-5.0.6: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.2.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17865 Application(s): debugger
+ Related Id(s): GH-5571
+
+ Fix record index matching, it was broken and could
+ never match.
+
+
+ Full runtime dependencies of debugger-5.2.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.2.5 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17962 Application(s): diameter, inets, megaco, snmp, stdlib
+
+ The compilation time is no longer recorded in BEAM
+ files. There remained several undocumented functions
+ that attempted to retrieve compilation times. Those
+ have now been removed.
+
+
+ Full runtime dependencies of diameter-2.2.5: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-2.4
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.10 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.10 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17877 Application(s): eldap
+ Related Id(s): PR-5615
+
+ Fix eldap extensibleMatch dnAttributes option.
+
+ According to the ldap ASN1 the dnAttributes should be a
+ bool, instead it was generated as a string.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17924 Application(s): eldap
+ Related Id(s): PR-5538
+
+ Implemented paged searches according to
+ https://www.rfc-editor.org/rfc/rfc2696.txt
+
+
+ Full runtime dependencies of eldap-1.2.10: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.2.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.2.1 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17852 Application(s): erl_docgen
+
+ Fix css for large tables and images on small screens
+
+
+ OTP-17907 Application(s): erl_docgen
+ Related Id(s): GH-5662, PR-5666
+
+ Fix bug with codeinclude tag that caused it to not
+ include the code if used in a correct, but unexpected
+ way.
+
+
+ Full runtime dependencies of erl_docgen-1.2.1: edoc-1.0, erts-9.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17883 Application(s): erl_interface
+ Related Id(s): ERIERL-724, PR-5601
+
+ Add --enable-ei-dynamic-lib configure option that will
+ make erl_interface also release a dynamic library
+ version of libei.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-12.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-12.3 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17822 Application(s): erts
+
+ Fixed a bug in the x86 JIT that might cause floating
+ point instructions to wrongly throw an exception.
+
+
+ OTP-17838 Application(s): erts
+ Related Id(s): PR-5748
+
+ Preserve correct nodedown_reason if supervised
+ distribution controller processes exit with {shutdown,
+ Reason}.
+
+
+ OTP-17840 Application(s): erts, kernel
+
+ Handling of send_timeout for gen_tcp has been corrected
+ so that the timeout is honored also when sending 0
+ bytes.
+
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ *** HIGHLIGHT ***
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ OTP-17900 Application(s): erts
+ Related Id(s): GH-5667
+
+ Corrected the type specification of erlang:seq_trace/2.
+
+
+ OTP-17904 Application(s): erts
+ Related Id(s): ERIERL-757
+
+ Fix memory leak when tracing on running on a process
+ that only handle system tasks or non-message signals
+ (for example process_info requests).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17455 Application(s): erts, kernel
+ Related Id(s): GH-4852
+
+ *** HIGHLIGHT ***
+
+ Add support for using socket:sockaddr_in() and
+ socket:sockaddr_in6() when using gen_sctp, gen_tcp and
+ gen_udp. This will make it possible to use Link Local
+ IPv6 addresses.
+
+
+ OTP-17718 Application(s): erts
+ Related Id(s): PR-5199
+
+ Show on_load failure reasons in embedded mode.
+
+
+ OTP-17891 Application(s): erts
+ Related Id(s): PR-5589
+
+ Compile date saved in the Erlang VM executable has been
+ removed.
+
+
+ OTP-17918 Application(s): erts, kernel
+
+ Improve documentation for the dynamic node name
+ feature.
+
+
+ Full runtime dependencies of erts-12.3: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- inets-7.5.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-7.5.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17962 Application(s): diameter, inets, megaco, snmp, stdlib
+
+ The compilation time is no longer recorded in BEAM
+ files. There remained several undocumented functions
+ that attempted to retrieve compilation times. Those
+ have now been removed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17931 Application(s): inets
+ Related Id(s): ERIERL-761
+
+ Documentation fix for inets:services_info/0, which now
+ describes that Info might be a Reason term() in case
+ when {error, Reason} is returned as service info.
+
+
+ Full runtime dependencies of inets-7.5.2: erts-6.0, kernel-3.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-5.3.4, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.12.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.12.2 application can be applied independently of
+ other applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17887 Application(s): jinterface
+ Related Id(s): ERIERL-750, PR-5640
+
+ Fix bug in OtpOutputStream.write_pid/4 and write_ref/3
+ causing faulty encodig. Bug exists since OTP 23.0.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.3 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-12.3 (first satisfied in OTP 24.3)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17840 Application(s): erts, kernel
+
+ Handling of send_timeout for gen_tcp has been corrected
+ so that the timeout is honored also when sending 0
+ bytes.
+
+
+ OTP-17843 Application(s): erts, kernel
+ Related Id(s): ERIERL-732, PR-5611
+
+ *** HIGHLIGHT ***
+
+ By default global does not take any actions to restore
+ a fully connected network when connections are lost due
+ to network issues. This is problematic for all
+ applications expecting a fully connected network to be
+ provided, such as for example mnesia, but also for
+ global itself. A network of overlapping partitions
+ might cause the internal state of global to become
+ inconsistent. Such an inconsistency can remain even
+ after such partitions have been brought together to
+ form a fully connected network again. The effect on
+ other applications that expects that a fully connected
+ network is maintained may vary, but they might
+ misbehave in very subtle hard to detect ways during
+ such a partitioning.
+
+ In order to prevent such issues, we have introduced a
+ prevent overlapping partitions fix which can be enabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter. When this fix has been enabled, global will
+ actively disconnect from nodes that reports that they
+ have lost connections to other nodes. This will cause
+ fully connected partitions to form instead of leaving
+ the network in a state with overlapping partitions.
+ Note that this fix has to be enabled on all nodes in
+ the network in order to work properly. Since this quite
+ substantially changes the behavior, this fix is
+ currently disabled by default. Since you might get hard
+ to detect issues without this fix you are, however,
+ strongly advised to enable this fix in order to avoid
+ issues such as the ones described above. As of OTP 25
+ this fix will become enabled by default.
+
+
+ OTP-17851 Application(s): kernel
+
+ Fix bug where logger would crash when logging a report
+ including improper lists.
+
+
+ OTP-17902 Application(s): kernel
+ Related Id(s): GH-5402, PR-5670
+
+ Make erlang:set_cookie work for dynamic node names.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17455 Application(s): erts, kernel
+ Related Id(s): GH-4852
+
+ *** HIGHLIGHT ***
+
+ Add support for using socket:sockaddr_in() and
+ socket:sockaddr_in6() when using gen_sctp, gen_tcp and
+ gen_udp. This will make it possible to use Link Local
+ IPv6 addresses.
+
+
+ OTP-17905 Application(s): kernel
+ Related Id(s): ERIERL-732, PR-5740
+
+ A net_tickintensity kernel parameter has been
+ introduced. It can be used to control the amount of
+ ticks during a net_ticktime period.
+
+ A new net_kernel:start/2 function has also been
+ introduced in order to make it easier to add new
+ options. The use of net_kernel:start/1 has been
+ deprecated.
+
+
+ OTP-17918 Application(s): erts, kernel
+
+ Improve documentation for the dynamic node name
+ feature.
+
+
+ Full runtime dependencies of kernel-8.3: crypto-5.0, erts-12.3,
+ sasl-3.0, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.3 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17962 Application(s): diameter, inets, megaco, snmp, stdlib
+
+ The compilation time is no longer recorded in BEAM
+ files. There remained several undocumented functions
+ that attempted to retrieve compilation times. Those
+ have now been removed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17839 Application(s): megaco
+
+ Update the performance and debug chapters of the megaco
+ user's guide. Also some updates to the meas tools.
+
+
+ Full runtime dependencies of megaco-4.3: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.20.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.20.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17656 Application(s): mnesia
+ Related Id(s): ERIERL-688
+
+ Reduce the number of locks taken during table copying,
+ should reduce the startup time on large systems.
+
+
+ Full runtime dependencies of mnesia-4.20.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.11 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The observer-2.11 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.1 (first satisfied in OTP 24.1)
+ -- runtime_tools-1.17 (first satisfied in OTP 24.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-17880 Application(s): observer
+ Related Id(s): PR-5557
+
+ Calculate the display width in etop, instead of
+ hard-coding it to 89 characters.
+
+
+ Full runtime dependencies of observer-2.11: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.17, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.12 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.12 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-17816 Application(s): public_key, ssl
+ Related Id(s): PR-5607
+
+ Support password fun for protected keyfiles in
+ ssl:connect function.
+
+
+ Full runtime dependencies of public_key-1.12: asn1-3.0, crypto-3.8,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.18 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The runtime_tools-1.18 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 24
+ installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.1 (first satisfied in OTP 24.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17800 Application(s): runtime_tools
+ Related Id(s): PR-5425
+
+ Fixed bug in scheduler:utilization(Seconds) that would
+ leave the scheduler_wall_time system flag incorrectly
+ enabled.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17830 Application(s): runtime_tools
+ Related Id(s): GH-5425, PR-5444
+
+ Add scheduler:get_sample/0 and get_sample_all/0. Also
+ clarify scheduler module documentation about how it
+ depends on system flag scheduler_wall_time.
+
+
+ Full runtime dependencies of runtime_tools-1.18: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.1.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The sasl-4.1.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17854 Application(s): sasl
+ Related Id(s): PR-5596
+
+ Fix bug in systools:make_script/1 documentation.
+
+
+ Full runtime dependencies of sasl-4.1.2: erts-10.2, kernel-5.3,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.12 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.12 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17962 Application(s): diameter, inets, megaco, snmp, stdlib
+
+ The compilation time is no longer recorded in BEAM
+ files. There remained several undocumented functions
+ that attempted to retrieve compilation times. Those
+ have now been removed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16559 Application(s): snmp
+
+ [agent] Remove expectation of socket being a port.
+
+
+ Full runtime dependencies of snmp-5.12: crypto-3.3, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.13.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.13.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17847 Application(s): ssh, ssl
+ Related Id(s): GH-5548, PR-5574
+
+ Fix makefile dependency bugs.
+
+
+ OTP-17868 Application(s): ssh
+ Related Id(s): PR-5520
+
+ Fixed faulty OpenSSH decoding of Ed25519/Ed448 keys in
+ the OpenSSH format openssh_key_v1.
+
+
+ OTP-17912 Application(s): ssh
+ Related Id(s): GH-5680
+
+ Correction of ssh_file typing, specially for the
+ experimental openssh-key-v1 encoding.
+
+
+ OTP-17928 Application(s): ssh
+ Related Id(s): PR-5679
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Improper tag for private ED keys when encoding with
+ ssh:encode/2.
+
+ The tuple had ed_priv as first element, but should have
+ had ed_pri. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17857 Application(s): ssh
+ Related Id(s): PR-5532
+
+ Add support for Ed25519/Ed448 SSH host keys in the RFC
+ 4716 format ("-----BEGIN EC PRIVATE KEY-----")
+ generated by for example openssl or via Erlang
+ functions (i.e. public_key:generate_key({namedCurve,
+ ed25519})).
+
+ Ed25519 SSH host keys generated by ssh-keygen was, and
+ are still, supported.
+
+
+ Full runtime dependencies of ssh-4.13.2: crypto-5.0, erts-9.0,
+ kernel-5.3, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.7 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 24 installation.
+
+ On a full OTP 24 installation, also the following runtime
+ dependency has to be satisfied:
+ -- public_key-1.11.3 (first satisfied in OTP 24.1.2)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17759 Application(s): ssl
+ Related Id(s): GH-5367
+
+ Improved error handling.
+
+
+ OTP-17815 Application(s): ssl
+ Related Id(s): GH-5332
+
+ Before this change, net_kernel used with TLS
+ distribution might be leaking processes in case of
+ connectivity issues.
+
+
+ OTP-17847 Application(s): ssh, ssl
+ Related Id(s): GH-5548, PR-5574
+
+ Fix makefile dependency bugs.
+
+
+ OTP-17929 Application(s): ssl
+ Related Id(s): GH-5708
+
+ Make sure the TLS sender process handles explicit calls
+ to erlang:disconnect_node properly, avoiding potential
+ hanging problems in net_kernel.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15719 Application(s): ssl
+
+ Add support for TLS-1.3 certificate_authorities
+ extension. And process certificate_authorities field in
+ pre-TLS-1.3 certificate requests.
+
+
+ OTP-17816 Application(s): public_key, ssl
+ Related Id(s): PR-5607
+
+ Support password fun for protected keyfiles in
+ ssl:connect function.
+
+
+ OTP-17903 Application(s): ssl
+
+ Add in some cases earlier detection of possible DoS
+ attacks by malicious clients sending unexpected TLS
+ messages instead of the client hello. Note that such
+ attacks are already mitigated by providing a timeout
+ for the TLS handshake.
+
+
+ Full runtime dependencies of ssl-10.7: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-3.17.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-3.17.1 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17962 Application(s): diameter, inets, megaco, snmp, stdlib
+
+ The compilation time is no longer recorded in BEAM
+ files. There remained several undocumented functions
+ that attempted to retrieve compilation times. Those
+ have now been removed.
+
+
+ Full runtime dependencies of stdlib-3.17.1: compiler-5.0, crypto-3.3,
+ erts-12.0, kernel-7.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.1.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.1.2 application can be applied independently of other
+ applications on a full OTP 24 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17947 Application(s): wx
+
+ Removed the static_data option from wxImage creation
+ functions, as it was broken and could lead to crashes.
+ Now image data is always copied to wxWidgets as was the
+ default behavior.
+
+ Removed some non working wxGridEvent event types, which
+ have there own events in newer wxWidgets versions, and
+ added a couple of event types that where missing in wx.
+
+
+ Full runtime dependencies of wx-2.1.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0-rc1.README.txt b/release-notes/OTP-25.0-rc1.README.txt
new file mode 100644
index 0000000..716a616
--- /dev/null
+++ b/release-notes/OTP-25.0-rc1.README.txt
@@ -0,0 +1,2206 @@
+Inital Release: OTP 25.0
+Git Tag: OTP-25.0
+Date: 2022-02-16
+Trouble Report Id: OTP-15991, OTP-16607, OTP-16702, OTP-16852,
+ OTP-16982, OTP-17119, OTP-17151, OTP-17224,
+ OTP-17304, OTP-17318, OTP-17323, OTP-17351,
+ OTP-17370, OTP-17414, OTP-17447, OTP-17471,
+ OTP-17479, OTP-17480, OTP-17481, OTP-17504,
+ OTP-17523, OTP-17524, OTP-17544, OTP-17550,
+ OTP-17551, OTP-17554, OTP-17555, OTP-17556,
+ OTP-17558, OTP-17561, OTP-17562, OTP-17566,
+ OTP-17569, OTP-17589, OTP-17592, OTP-17608,
+ OTP-17612, OTP-17617, OTP-17627, OTP-17630,
+ OTP-17636, OTP-17644, OTP-17654, OTP-17660,
+ OTP-17661, OTP-17667, OTP-17669, OTP-17676,
+ OTP-17681, OTP-17682, OTP-17683, OTP-17684,
+ OTP-17685, OTP-17705, OTP-17710, OTP-17717,
+ OTP-17720, OTP-17728, OTP-17729, OTP-17733,
+ OTP-17752, OTP-17753, OTP-17755, OTP-17758,
+ OTP-17762, OTP-17772, OTP-17778, OTP-17779,
+ OTP-17802, OTP-17810, OTP-17819, OTP-17820,
+ OTP-17821, OTP-17824, OTP-17826, OTP-17832,
+ OTP-17836, OTP-17841, OTP-17842, OTP-17846,
+ OTP-17855, OTP-17860, OTP-17866, OTP-17869,
+ OTP-17870, OTP-17878, OTP-17881, OTP-17882,
+ OTP-17884, OTP-17885, OTP-17889, OTP-17890,
+ OTP-17892, OTP-17894, OTP-17897, OTP-17899,
+ OTP-17901, OTP-17909, OTP-17910, OTP-17911,
+ OTP-17920, OTP-17921, OTP-17923, OTP-17925,
+ OTP-17930, OTP-17935
+Seq num: ERIERL-590, ERIERL-663, ERIERL-760, ERL-1347,
+ GH-4492, GH-4673, GH-4784, GH-4819, GH-4853,
+ GH-4965, GH-4968, GH-4971, GH-5016, GH-5071,
+ GH-5093, GH-5094, GH-5140, GH-5204, GH-5214,
+ GH-5297, GH-5368, GH-5379, GH-5402, GH-5403,
+ GH-5513, GH-5617
+System: OTP
+Release: 25
+Application: common_test-1.23, compiler-8.1, crypto-5.1,
+ debugger-5.3, dialyzer-5.0, edoc-1.2,
+ erl_docgen-1.3, erl_interface-5.2, erts-13.0,
+ eunit-2.7.1, inets-8.0, jinterface-1.13,
+ kernel-8.3, megaco-4.3, mnesia-4.21,
+ observer-2.11, odbc-2.14, parsetools-2.4,
+ public_key-1.12, runtime_tools-1.18,
+ sasl-4.2, snmp-5.12, ssh-4.14, ssl-10.7,
+ stdlib-4.0, syntax_tools-3.0, tools-3.5.3,
+ wx-2.2, xmerl-1.3.29
+Predecessor: OTP
+
+ Check out the git tag OTP-25.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316
+
+ The JIT now does type-based optimizations based on type
+ information in the BEAM files.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ The maybe ... end construction has proposed in EEP-49
+ has been implemented. It can simplify complex code
+ where otherwise deeply nested cases would have to be
+ used.
+
+ To enable maybe, give the option {enable,maybe_expr} to
+ the compiler. (The exact option to use will change in
+ the next release candidate.) That option will not work
+ if given inside the module being compiled. We hope to
+ lift that restriction in the next release candidate.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17866 Application(s): inets
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ OTP-17889 Application(s): inets
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17920 Application(s): ssh
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ OTP-17921 Application(s): public_key
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-25.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ *** HIGHLIGHT ***
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.23 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17881 Application(s): common_test
+ Related Id(s): PR-5581
+
+ Fix bug when running parallel testcases and together
+ with one or more ct hooks that would cause the hook
+ lock process to crash and produce printouts in the ct
+ logs.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17676 Application(s): common_test
+ Related Id(s): PR-5021
+
+ Remove unused and undocumented tracer node
+ functionality.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17882 Application(s): common_test
+ Related Id(s): PR-5581
+
+ The cth_surefire ct hook has been updated to include
+ the file and line number of the executed test case in
+ the xml output.
+
+ The performance of the hook has also been improved
+ greatly for test runs with many test cases.
+
+
+ Full runtime dependencies of common_test-1.23: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.3,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17820 Application(s): compiler
+
+ Fixed a rare bug that would crash the compiler during
+ type optimization.
+
+
+ OTP-17860 Application(s): compiler
+ Related Id(s): GH-5513, OTP-17226
+
+ Starting in OTP 24, when a fun was created and
+ immediately used, it would be inlined. An unintended
+ consequence of the inlining was that what would be a
+ function_clause exception without the inlining would
+ now be a rather confusing case_clause exception. This
+ has been corrected, so that function_clause exceptions
+ remain function_clause exceptions in inlined code.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ Add compile attribute -nifs() to empower compiler and
+ loader with information about which functions may be
+ overridden as NIFs by erlang:load_nif/2.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316
+
+ *** HIGHLIGHT ***
+
+ The JIT now does type-based optimizations based on type
+ information in the BEAM files.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ *** HIGHLIGHT ***
+
+ The maybe ... end construction has proposed in EEP-49
+ has been implemented. It can simplify complex code
+ where otherwise deeply nested cases would have to be
+ used.
+
+ To enable maybe, give the option {enable,maybe_expr} to
+ the compiler. (The exact option to use will change in
+ the next release candidate.) That option will not work
+ if given inside the module being compiled. We hope to
+ lift that restriction in the next release candidate.
+
+
+ OTP-17810 Application(s): compiler
+ Related Id(s): GH-5379
+
+ A subtle bug regarding variable scoping has been
+ corrected. Consider this example:
+
+ (A=1) + fun() -> A = 2()
+
+ In the shell, the expression correctly evaluates to 3.
+ In compiled code, it raised a {badmatch, 2} exception.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17842 Application(s): compiler
+
+ Improved optimization of try/catch expressions.
+
+
+ OTP-17885 Application(s): compiler
+ Related Id(s): GH-5140
+
+ The beam_trim pass of the compiler could be extremely
+ slow for huge straight-line functions. It will now
+ compile such functions much faster (down to seconds
+ from minutes for some huge functions).
+
+
+ Full runtime dependencies of compiler-8.1: crypto-5.1, erts-13.0,
+ kernel-8.3, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17471 Application(s): crypto
+ Related Id(s): PR-4750
+
+ Add crypto:hash_equals/2
+
+
+ OTP-17561 Application(s): crypto
+
+ Add /opt/homebrew/opt/openssl to standard locations to
+ search for OpenSSL cryptolib.
+
+
+ OTP-17870 Application(s): crypto
+
+ crypto_dyn_iv_init/3 and crypto_dyn_iv_update/3 are
+ deprecated.
+
+
+ Full runtime dependencies of crypto-5.1: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of debugger-5.3: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17524 Application(s): dialyzer
+
+ Optimize operations in the erl_types module.
+ Parallelize the Dialyzer pass remote.
+
+
+ OTP-17654 Application(s): dialyzer
+ Related Id(s): GH-5214
+
+ Added the missing_return and extra_return options to
+ raise warnings when specifications differ from inferred
+ types. These are similar to, but not quite as verbose
+ as overspecs and underspecs.
+
+
+ OTP-17819 Application(s): dialyzer
+
+ The race_conditions option has been removed.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17826 Application(s): dialyzer
+ Related Id(s): PR-5498
+
+ dialyzer will now honor dependencies inside type
+ declarations. That is, if the declaration of an
+ exported type changes, all modules using said type will
+ be revisited.
+
+
+ OTP-17897 Application(s): dialyzer
+ Related Id(s): PR-5651
+
+ Dialyzer now better understands the types for min/2,
+ max/2, and erlang:raise/3. Because of that, Dialyzer
+ can potentially generate new warnings. In particular,
+ functions that use erlang:raise/3 could now need a spec
+ with a no_return() return type to avoid an unwanted
+ warning.
+
+
+ Full runtime dependencies of dialyzer-5.0: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17550 Application(s): edoc
+ Related Id(s): GH-5094, PR-5106
+
+ Fix unused types warnings in internal edoc module.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17556 Application(s): edoc
+ Related Id(s): PR-5023
+
+ Add source file to the warning on skipped tags when
+ generating EEP-48 style docs.
+
+
+ OTP-17733 Application(s): edoc
+ Related Id(s): PR-5205
+
+ Fix the doc chunks generators to emit documentation
+ even if there is not module level documentation.
+
+ Fix the doc chunks generators to respect the @hidden
+ and @private tags properly for both modules and
+ functions.
+
+
+ Full runtime dependencies of edoc-1.2: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-2.0, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ Full runtime dependencies of erl_docgen-1.3: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17846 Application(s): erl_interface
+ Related Id(s): PR-5558
+
+ erl_call no longer links against nsl on platforms where
+ gethostbyname is provided by libc.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17802 Application(s): erl_interface
+ Related Id(s): PR-5347
+
+ Changed creation arguments, of function ei_connet_init
+ and friends, from type short to unsigned int for full
+ 32-bit range.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17758 Application(s): erts
+ Related Id(s): PR-5391
+
+ Fix spelling mistakes in epmd error messages.
+
+
+ OTP-17779 Application(s): erts
+ Related Id(s): GH-5403, PR-5599
+
+ Fix bug where the "newshell" would trigger a newline at
+ the column width of the terminal, even if the next
+ character to be printed was a newline. This would cause
+ the terminal to render two newlines instead of one.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17836 Application(s): erts
+ Related Id(s): PR-5546
+
+ Fix the undocumented --profile_boot option to work
+ again.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16852 Application(s): erts
+ Related Id(s): ERL-1347, PR-5195
+
+ Optimize minor garbage collection for processes with
+ large number of binaries, funs and/or external
+ pids/ports/refs. This is a continuation of the
+ optimization (OTP-17602) released in OTP-24.1.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ *** HIGHLIGHT ***
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ *** HIGHLIGHT ***
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ Add compile attribute -nifs() to empower compiler and
+ loader with information about which functions may be
+ overridden as NIFs by erlang:load_nif/2.
+
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17555 Application(s): erts
+ Related Id(s): PR-5027
+
+ Make byte_size/1 and binary_part/2/3 callable from
+ match specs (in ETS and tracing).
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17562 Application(s): erts
+ Related Id(s): GH-4492
+
+ A new option called short has been added to the
+ functions erlang:float_to_list and
+ erlang:float_to_binary. This option creates the
+ shortest correctly rounded string representation of the
+ given float that can be converted back to the same
+ float again.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17636 Application(s): erts
+
+ The test case num_bif_SUITE:t_float_to_string
+ previously failed sometimes as it assumed a certain
+ rounding of floats printed with sprintf but the
+ rounding type is platform specific.
+
+
+ OTP-17660 Application(s): erts
+ Related Id(s): PR-5164
+
+ Optimize interpreter to create heap binaries of small
+ match contexts if possible.
+
+ This optimization was already done in the JIT.
+
+
+ OTP-17667 Application(s): erts
+ Related Id(s): PR-5237
+
+ Optimize integer multiplication for x86 JIT
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316
+
+ *** HIGHLIGHT ***
+
+ The JIT now does type-based optimizations based on type
+ information in the BEAM files.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17717 Application(s): erts
+ Related Id(s): PR-5290
+
+ Add [32-bit] to the Erlang shell title row for 32-bit
+ VMs.
+
+
+ OTP-17728 Application(s): erts
+ Related Id(s): PR-5284
+
+ Instructions for how to build the runtime system for
+ iOS/iPadOS can now be found in HOWTO/INSTALL.md.
+
+
+ OTP-17729 Application(s): erts
+ Related Id(s): PR-5477
+
+ Add support for static Elixir NIF modules with
+ non-alphanumeric characters by using new macro
+ STATIC_ERLANG_NIF_LIBNAME.
+
+
+ OTP-17753 Application(s): erts
+ Related Id(s): GH-5297, PR-5305
+
+ Add new function caller_line to for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the line number of the caller into
+ the trace message sent to the trace receiver.
+
+
+ OTP-17762 Application(s): erts
+ Related Id(s): GH-5204, PR-5219
+
+ A new erl command line argument +ssrct has been
+ introduced which will cause the runtime system to skip
+ reading CPU topology information. This reduce startup
+ time especially when the CPU topology is large. Reading
+ of CPU topology information is now also skipped if a
+ user defined CPU topology is set using the +sct command
+ line argument.
+
+
+ OTP-17772 Application(s): erts
+ Related Id(s): GH-4965, PR-5644
+
+ The default time warp mode will change in Erlang/OTP
+ 26. Added a warning about this upcoming potential
+ incompatibility to the documentation.
+
+
+ OTP-17824 Application(s): erts
+
+ The emulator will no longer mark unused memory as
+ discardable (e.g. through madvise(2)), as it caused
+ more problems than it solved.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ OTP-17899 Application(s): erts
+ Related Id(s): PR-5524
+
+ Remove version number from the default install path on
+ Windows.
+
+
+ Full runtime dependencies of erts-13.0: kernel-8.3, sasl-3.3,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.7.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17884 Application(s): eunit
+ Related Id(s): GH-5617
+
+ Minor internal improvements.
+
+
+ Full runtime dependencies of eunit-2.7.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17889 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17866 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ Full runtime dependencies of inets-8.0: erts-6.0, kernel-6.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-9.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.13 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17323 Application(s): kernel
+
+ The DNS resolver implementation has been rewritten to
+ validate replies more thoroughly, and a bit optimized
+ to create less garbage.
+
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17551 Application(s): kernel
+ Related Id(s): GH-5071, PR-5075
+
+ Fix bug where using the atoms string or report as the
+ format when calling logger:log(Level, Format, Args) (or
+ any other logging function) would cause a crash or
+ incorrect logging.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17479 Application(s): kernel
+ Related Id(s): PR-4917
+
+ Fix os:cmd to work on Android OS.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17589 Application(s): kernel
+ Related Id(s): PR-4926
+
+ The types for callback result types in gen_statem has
+ bee augmented with arity 2 types where it is possible
+ for a callback module to specify the type of the
+ callback data, so the callback module can get type
+ validation of it.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17617 Application(s): kernel
+ Related Id(s): PR-5069
+
+ A net_ticker_spawn_options kernel configuration
+ parameter with which one can set spawn options for the
+ distribution channel ticker processes has been
+ introduced.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17923 Application(s): kernel
+ Related Id(s): PR-5646
+
+ IP address validation functions is_ipv4_address/1,
+ is_ipv6_address/1 and is_ip_address/1 have been added
+ to the module inet in Kernel.
+
+
+ Full runtime dependencies of kernel-8.3: crypto-5.0, erts-13.0,
+ sasl-3.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17910 Application(s): megaco
+
+ Megaco test suite(s) use the new peer module for node
+ starts.
+
+
+ Full runtime dependencies of megaco-4.3: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17930 Application(s): mnesia
+
+ Documentation fixes.
+
+
+ Full runtime dependencies of mnesia-4.21: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.11 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of observer-2.11: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.17, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ Full runtime dependencies of odbc-2.14: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17755 Application(s): parsetools
+
+ In the generated code, yecc will now quote all atoms
+ coming from terminals in the grammar, in order to avoid
+ conflicts with future reserved words.
+
+
+ Full runtime dependencies of parsetools-2.4: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.12 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the datatype to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ OTP-17921 Application(s): public_key
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ Full runtime dependencies of public_key-1.12: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.18 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17909 Application(s): runtime_tools
+ Related Id(s): ERIERL-760
+
+ dbg:stop/0 now behaves like dbg:stop_clear/0, clearing
+ all global trace patterns for all functions.
+
+
+ Full runtime dependencies of runtime_tools-1.18: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17752 Application(s): sasl
+ Related Id(s): PR-5302
+
+ Fix systools:make* to recursively search for source
+ code when doing a src_tests.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ Full runtime dependencies of sasl-4.2: erts-10.2, kernel-6.0,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.12 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17612 Application(s): snmp
+
+ Removed deprecated functions slated for removal in
+ OTP-25. Also removed "dead" code, kept for backward
+ compatibility reasons.
+
+
+ Full runtime dependencies of snmp-5.12: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.14 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17920 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ Full runtime dependencies of ssh-4.14: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.7 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17855 Application(s): ssl
+ Related Id(s): PR-5328
+
+ Add options for users to be able to set spawn_opts for
+ TLS processes (sender and receiver) this may be useful
+ for tuning trade-offs between CPU and Memory usage.
+
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the datatype to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ Full runtime dependencies of ssl-10.7: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.3, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17370 Application(s): stdlib
+ Related Id(s): GH-4784
+
+ Improve the Erlang code linter's check of unused types.
+
+
+ OTP-17480 Application(s): stdlib
+ Related Id(s): GH-4853, PR-4872
+
+ Fix race condition in proc_lib:stop/3 where the process
+ is not stopped when the timeout given is very short.
+
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17566 Application(s): stdlib
+ Related Id(s): GH-5093, PR-5095
+
+ erl_pp printed unary - and + operators with a space
+ between the operator and the operand. This is fixed by
+ not having any space in between.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17878 Application(s): stdlib
+
+ Avoid confusion by correcting the argument order in the
+ gen_event crash log printout.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ *** HIGHLIGHT ***
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ *** HIGHLIGHT ***
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17523 Application(s): stdlib
+ Related Id(s): PR-4928
+
+ Add lists:enumerate/[1,2].
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17592 Application(s): stdlib
+ Related Id(s): ERIERL-663, PR-5243
+
+ Support native time unit in calendar functions
+ system_time_to_rfc3339/2 and rfc3339_to_system_time.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17778 Application(s): stdlib
+ Related Id(s): GH-5368
+
+ This change introduces quote and unquote functions in
+ uri_string module - a replacement for deprecated encode
+ and decode functions from http_uri.
+
+
+ OTP-17869 Application(s): stdlib
+ Related Id(s): PR-5595
+
+ Update to the Unicode 14.0 specification.
+
+
+ OTP-17901 Application(s): stdlib
+ Related Id(s): GH-4968, PR-5649
+
+ The following ets types have been renamed to a clearer
+ name: tab/0 to table/0 and comp_match_spec/0 to
+ compiled_match_spec/0.
+
+ The types table_access/0 and table_type/0 have been
+ exported.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ Full runtime dependencies of stdlib-4.0: compiler-5.0, crypto-4.5,
+ erts-12.0, kernel-8.3, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.0 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ Full runtime dependencies of syntax_tools-3.0: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ Full runtime dependencies of tools-3.5.3: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.2 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ Full runtime dependencies of wx-2.2: erts-6.0, kernel-3.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.29 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17935 Application(s): xmerl
+ Related Id(s): PR-5590
+
+ Fixed misspellings in both documentation, comments and
+ code (internal data structures).
+
+
+ Full runtime dependencies of xmerl-1.3.29: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- Thanks to -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Anatolii, Andrew Bennett, Anton Thomasson, Cheng Zhe, Danil Zagoskin,
+ David Buckley, Dominic Letz, Eksperimental, Frank Hunleth, Fred
+ Hebert, Frej Drejhammar, Garry Hill, Gustaw Lippa, Hakan Nilsson,
+ Harry Lawrence, Holger Weiß, Ilya Klyuchnikov, Jean-Sébastien Pédron,
+ Jon Carstens, José Valim, Justin Davis, Jérôme de Bretagne, Kaleb
+ Luedtke, Kian-Meng Ang, Kian-Meng, Ang, Leo Liu, Loïc Hoguin, Luke
+ Bakken, Mackenzie Morgan, Maintenance App, Marc-André Lafortune,
+ Marcel Lanz, Maria Scott, Maria-12648430, Mark McElroy, Matteo
+ Brancaleoni, Matteo Cafasso, Max Heiber, Maxim Fedorov, Maxwell
+ Elliot Heiber, Michał Muskała, Mikael Pettersson, Per Andersson,
+ Péter Gömöri, Radek Szymczyszyn, Sidharth Kshatriya, Thomas Depierre,
+ Tom Davies, Tomas Abrahamsson, Wojtek Mach, Yao Bao, Zeyu Zhang, Zhe
+ Cheng, bibajz, c-blair, gearnode, ilya-klyuchnikov, juhlig, kang,
+ massivefermion, nixxquality, obi458, radrow, skynet1, soulna, vk,
+ vkatsuba, Łukasz Niemier
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0-rc2.README.txt b/release-notes/OTP-25.0-rc2.README.txt
new file mode 100644
index 0000000..b61f542
--- /dev/null
+++ b/release-notes/OTP-25.0-rc2.README.txt
@@ -0,0 +1,2708 @@
+Inital Release: OTP 25.0
+Git Tag: OTP-25.0
+Date: 2022-03-24
+Trouble Report Id: OTP-15991, OTP-16607, OTP-16644, OTP-16702,
+ OTP-16852, OTP-16982, OTP-17119, OTP-17151,
+ OTP-17224, OTP-17304, OTP-17318, OTP-17323,
+ OTP-17351, OTP-17370, OTP-17414, OTP-17447,
+ OTP-17471, OTP-17479, OTP-17480, OTP-17481,
+ OTP-17504, OTP-17518, OTP-17523, OTP-17524,
+ OTP-17544, OTP-17550, OTP-17551, OTP-17554,
+ OTP-17555, OTP-17556, OTP-17558, OTP-17561,
+ OTP-17562, OTP-17566, OTP-17569, OTP-17589,
+ OTP-17592, OTP-17608, OTP-17612, OTP-17617,
+ OTP-17627, OTP-17630, OTP-17636, OTP-17644,
+ OTP-17654, OTP-17660, OTP-17661, OTP-17667,
+ OTP-17669, OTP-17676, OTP-17681, OTP-17682,
+ OTP-17683, OTP-17684, OTP-17685, OTP-17701,
+ OTP-17705, OTP-17710, OTP-17717, OTP-17720,
+ OTP-17728, OTP-17729, OTP-17733, OTP-17752,
+ OTP-17753, OTP-17755, OTP-17758, OTP-17762,
+ OTP-17772, OTP-17778, OTP-17779, OTP-17784,
+ OTP-17802, OTP-17810, OTP-17819, OTP-17820,
+ OTP-17821, OTP-17824, OTP-17826, OTP-17832,
+ OTP-17836, OTP-17841, OTP-17842, OTP-17846,
+ OTP-17855, OTP-17860, OTP-17866, OTP-17869,
+ OTP-17870, OTP-17878, OTP-17881, OTP-17882,
+ OTP-17884, OTP-17885, OTP-17889, OTP-17890,
+ OTP-17892, OTP-17894, OTP-17897, OTP-17899,
+ OTP-17901, OTP-17908, OTP-17909, OTP-17910,
+ OTP-17911, OTP-17915, OTP-17920, OTP-17921,
+ OTP-17923, OTP-17925, OTP-17927, OTP-17930,
+ OTP-17935, OTP-17939, OTP-17950, OTP-17951,
+ OTP-17953, OTP-17958, OTP-17961, OTP-17964,
+ OTP-17965, OTP-17968, OTP-17969, OTP-17970,
+ OTP-17974, OTP-17976, OTP-17977, OTP-17980,
+ OTP-17984, OTP-17985, OTP-17987, OTP-17988
+Seq num: ERIERL-590, ERIERL-663, ERIERL-760, ERL-1347,
+ GH-2375, GH-2690, GH-4492, GH-4673, GH-4784,
+ GH-4819, GH-4853, GH-4915, GH-4965, GH-4968,
+ GH-4971, GH-5016, GH-5071, GH-5093, GH-5094,
+ GH-5140, GH-5204, GH-5214, GH-5297, GH-5368,
+ GH-5379, GH-5402, GH-5403, GH-5463, GH-5513,
+ GH-5606, GH-5617, GH-5655, GH-5683, GH-5728,
+ GH-5781
+System: OTP
+Release: 25
+Application: asn1-5.0.19, common_test-1.23, compiler-8.2,
+ crypto-5.1, debugger-5.3, dialyzer-5.0,
+ diameter-2.2.6, edoc-1.2, erl_docgen-1.3,
+ erl_interface-5.3, erts-13.0, eunit-2.7.1,
+ inets-8.0, jinterface-1.13, kernel-8.4,
+ megaco-4.4, mnesia-4.21, observer-2.12,
+ odbc-2.14, parsetools-2.4, public_key-1.13,
+ runtime_tools-1.19, sasl-4.2, snmp-5.13,
+ ssh-4.14, ssl-10.8, stdlib-4.0,
+ syntax_tools-3.0, tools-3.5.3, wx-2.2,
+ xmerl-1.3.29
+Predecessor: OTP
+
+ Check out the git tag OTP-25.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ The maybe ... end construction proposed in EEP-49 has
+ been implemented. It can simplify complex code where
+ otherwise deeply nested cases would have to be used.
+
+ To enable maybe, give the option -enable-feature
+ maybe_expr to erlc or add -feature(enable, maybe_expr).
+ inside the module.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17953 Application(s): stdlib
+ Related Id(s): PR-5621
+
+ Added filelib:ensure_path/1 that ensures that all
+ directories for the given path exists (unlike
+ filelib:ensure_dir/1, which will not create the last
+ segment of the path).
+
+
+ OTP-17969 Application(s): stdlib
+ Related Id(s): PR-5588
+
+ The functions groups_from_list/2 and groups_from_list/3
+ have been added to the maps module.
+
+
+ OTP-17977 Application(s): stdlib
+ Related Id(s): GH-5606, PR-5766
+
+ The functions uniq/1 and uniq/2 for removing duplicates
+ have been added to the lists module.
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17866 Application(s): inets
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ OTP-17889 Application(s): inets
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17920 Application(s): ssh
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ OTP-17921 Application(s): public_key
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ OTP-17950 Application(s): wx
+
+ Added aux1Down and aux2Down fields to the wxMouseState
+ record. Since one record have been changed a
+ recompilation of user code might be required.
+
+
+ OTP-17965 Application(s): crypto
+
+ The infomation in error messages are increased.
+
+ Previously the error was signaled with en error class
+ exception badarg, notsup or error, and also in some
+ more ways like an other exception or a return value in
+ a non-standardized format.
+
+ Now it is an error-class exception
+ {notsup|badarg|error, InfoFromCfile,
+ Description::string()}.
+
+ The InfoFromCfile is a term with name and line number
+ of the C-file where the error was found. This is
+ primarily intended for a crypto maitntainer or an
+ advanced user to find the cause of complicated errors -
+ maybe in crypto itself. The contents of that term might
+ be changed in the future.
+
+ The Description is a clear text string that describes
+ the error. In case of badarg and notsup the intention
+ is that it should help the user to find the cause ("Bad
+ key size" as an example). Specially for some error that
+ are unlikely, the string may not be possible to
+ understand without deep knowledge of the underlying
+ cryptolib. Such messages are intended for a crypto
+ maintainer.
+
+ The first element on call stack (the S in try ... catch
+ error:E:S .... end) gives more information like the
+ actual argument list in the call of crypto and the
+ argument number (if possible) in the call to the NIF
+ inside crypto.
+
+ The functions in crypto affected by this change are:
+
+ sign/4, sign/5, verify/5, verify/6,
+
+ generate_key/2, generate_key/3, compute_key/4,
+
+ hash/2, hash/4, hash_init/1, hash_update/4,
+ hash_final/1,
+
+ mac/3,4, mac_init/3, mac_update/2, mac_final/2,
+
+ pbkdf2_hmac/5,
+
+ public_encrypt/4, private_decrypt/4, private_encrypt/4,
+ public_decrypt/4
+
+ This schema was introduced earlier in:
+
+ crypto_init/3, crypto_init/4, crypto_update/2,
+ crypto_final/1, crypto_get_data/1,
+
+ crypto_one_time/4, crypto_one_time/5,
+ crypto_one_time_aead/6, crypto_one_time_aead/7
+
+
+ ---------------------------------------------------------------------
+ --- OTP-25.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ *** HIGHLIGHT ***
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17980 Application(s): asn1
+
+ The atom maybe has been quoted in the source code.
+
+
+ Full runtime dependencies of asn1-5.0.19: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.23 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17881 Application(s): common_test
+ Related Id(s): PR-5581
+
+ Fix bug when running parallel testcases and together
+ with one or more ct hooks that would cause the hook
+ lock process to crash and produce printouts in the ct
+ logs.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17676 Application(s): common_test
+ Related Id(s): PR-5021
+
+ Remove unused and undocumented tracer node
+ functionality.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17882 Application(s): common_test
+ Related Id(s): PR-5581
+
+ The cth_surefire ct hook has been updated to include
+ the file and line number of the executed test case in
+ the xml output.
+
+ The performance of the hook has also been improved
+ greatly for test runs with many test cases.
+
+
+ Full runtime dependencies of common_test-1.23: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17820 Application(s): compiler
+
+ Fixed a rare bug that would crash the compiler during
+ type optimization.
+
+
+ OTP-17860 Application(s): compiler
+ Related Id(s): GH-5513, OTP-17226
+
+ Starting in OTP 24, when a fun was created and
+ immediately used, it would be inlined. An unintended
+ consequence of the inlining was that what would be a
+ function_clause exception without the inlining would
+ now be a rather confusing case_clause exception. This
+ has been corrected, so that function_clause exceptions
+ remain function_clause exceptions in inlined code.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ *** HIGHLIGHT ***
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ *** HIGHLIGHT ***
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ *** HIGHLIGHT ***
+
+ The maybe ... end construction proposed in EEP-49 has
+ been implemented. It can simplify complex code where
+ otherwise deeply nested cases would have to be used.
+
+ To enable maybe, give the option -enable-feature
+ maybe_expr to erlc or add -feature(enable, maybe_expr).
+ inside the module.
+
+
+ OTP-17810 Application(s): compiler
+ Related Id(s): GH-5379
+
+ A subtle bug regarding variable scoping has been
+ corrected. Consider this example:
+
+ (A=1) + fun() -> A = 2() end
+
+ In the shell, the expression correctly evaluates to 3.
+ In compiled code, it raised a {badmatch, 2} exception.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17842 Application(s): compiler
+
+ Improved optimization of try/catch expressions.
+
+
+ OTP-17885 Application(s): compiler
+ Related Id(s): GH-5140
+
+ The beam_trim pass of the compiler could be extremely
+ slow for huge straight-line functions. It will now
+ compile such functions much faster (down to seconds
+ from minutes for some huge functions).
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ Full runtime dependencies of compiler-8.2: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17984 Application(s): crypto
+
+ Remove faulty types run_time_error() and
+ descriptive_error().
+
+
+ --- Improvements and New Features ---
+
+ OTP-16644 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ The deprecated low-level RSA API is not used when
+ crypto is compiled with OpenSSL 3.0.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17471 Application(s): crypto
+ Related Id(s): PR-4750
+
+ Add crypto:hash_equals/2
+
+
+ OTP-17561 Application(s): crypto
+
+ Add /opt/homebrew/opt/openssl to standard locations to
+ search for OpenSSL cryptolib.
+
+
+ OTP-17701 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ The deprecated low-level DSA API is not used when
+ crypto is compiled with OpenSSL 3.0.
+
+
+ OTP-17870 Application(s): crypto
+
+ crypto_dyn_iv_init/3 and crypto_dyn_iv_update/3 are
+ deprecated.
+
+
+ OTP-17965 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The infomation in error messages are increased.
+
+ Previously the error was signaled with en error class
+ exception badarg, notsup or error, and also in some
+ more ways like an other exception or a return value in
+ a non-standardized format.
+
+ Now it is an error-class exception
+ {notsup|badarg|error, InfoFromCfile,
+ Description::string()}.
+
+ The InfoFromCfile is a term with name and line number
+ of the C-file where the error was found. This is
+ primarily intended for a crypto maitntainer or an
+ advanced user to find the cause of complicated errors -
+ maybe in crypto itself. The contents of that term might
+ be changed in the future.
+
+ The Description is a clear text string that describes
+ the error. In case of badarg and notsup the intention
+ is that it should help the user to find the cause ("Bad
+ key size" as an example). Specially for some error that
+ are unlikely, the string may not be possible to
+ understand without deep knowledge of the underlying
+ cryptolib. Such messages are intended for a crypto
+ maintainer.
+
+ The first element on call stack (the S in try ... catch
+ error:E:S .... end) gives more information like the
+ actual argument list in the call of crypto and the
+ argument number (if possible) in the call to the NIF
+ inside crypto.
+
+ The functions in crypto affected by this change are:
+
+ sign/4, sign/5, verify/5, verify/6,
+
+ generate_key/2, generate_key/3, compute_key/4,
+
+ hash/2, hash/4, hash_init/1, hash_update/4,
+ hash_final/1,
+
+ mac/3,4, mac_init/3, mac_update/2, mac_final/2,
+
+ pbkdf2_hmac/5,
+
+ public_encrypt/4, private_decrypt/4, private_encrypt/4,
+ public_decrypt/4
+
+ This schema was introduced earlier in:
+
+ crypto_init/3, crypto_init/4, crypto_update/2,
+ crypto_final/1, crypto_get_data/1,
+
+ crypto_one_time/4, crypto_one_time/5,
+ crypto_one_time_aead/6, crypto_one_time_aead/7
+
+
+ Full runtime dependencies of crypto-5.1: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of debugger-5.3: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17524 Application(s): dialyzer
+
+ Optimize operations in the erl_types module.
+ Parallelize the Dialyzer pass remote.
+
+
+ OTP-17654 Application(s): dialyzer
+ Related Id(s): GH-5214
+
+ Added the missing_return and extra_return options to
+ raise warnings when specifications differ from inferred
+ types. These are similar to, but not quite as verbose
+ as overspecs and underspecs.
+
+
+ OTP-17819 Application(s): dialyzer
+
+ The race_conditions option has been removed.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17826 Application(s): dialyzer
+ Related Id(s): PR-5498
+
+ dialyzer will now honor dependencies inside type
+ declarations. That is, if the declaration of an
+ exported type changes, all modules using said type will
+ be revisited.
+
+
+ OTP-17897 Application(s): dialyzer
+ Related Id(s): PR-5651
+
+ Dialyzer now better understands the types for min/2,
+ max/2, and erlang:raise/3. Because of that, Dialyzer
+ can potentially generate new warnings. In particular,
+ functions that use erlang:raise/3 could now need a spec
+ with a no_return() return type to avoid an unwanted
+ warning.
+
+
+ OTP-17964 Application(s): dialyzer
+ Related Id(s): PR-5660
+
+ The typer_core module has been added to provide an
+ Erlang API for running typer.
+
+
+ Full runtime dependencies of dialyzer-5.0: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.2.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17976 Application(s): diameter
+ Related Id(s): GH-5463
+
+ Fix decode of non-IP address types; that is, of values
+ of the derived AVP data format Address whose first two
+ octets specify an address family other than 1 (IP) or 2
+ (IP6). Such values have never been decoded, and were
+ treated as decode errors. They're now decoded to a
+ 2-tuple of the integer() address family and binary()
+ remaining octets, with no family-specific decode. The
+ 2-tuple distinguishes the decode from the 4-tuple and
+ 8-tuple IP address decodes. 2-tuples are also now
+ encoded.
+
+ Note that even currently unassigned address families
+ are decoded: only the reserved values, 0 and 65535, are
+ treated as errors.
+
+
+ Full runtime dependencies of diameter-2.2.6: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17550 Application(s): edoc
+ Related Id(s): GH-5094, PR-5106
+
+ Fix unused types warnings in internal edoc module.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17556 Application(s): edoc
+ Related Id(s): PR-5023
+
+ Add source file to the warning on skipped tags when
+ generating EEP-48 style docs.
+
+
+ OTP-17733 Application(s): edoc
+ Related Id(s): PR-5205
+
+ Fix the doc chunks generators to emit documentation
+ even if there is not module level documentation.
+
+ Fix the doc chunks generators to respect the @hidden
+ and @private tags properly for both modules and
+ functions.
+
+
+ Full runtime dependencies of edoc-1.2: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-2.0, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ Full runtime dependencies of erl_docgen-1.3: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.3 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17846 Application(s): erl_interface
+ Related Id(s): PR-5558
+
+ erl_call no longer links against nsl on platforms where
+ gethostbyname is provided by libc.
+
+
+ OTP-17987 Application(s): erl_interface
+ Related Id(s): GH-5781, PR-5787
+
+ Avoid attempt build dynamic libs if config option
+ --enable-ei-dynamic-lib is not given.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17802 Application(s): erl_interface
+ Related Id(s): PR-5347
+
+ Changed creation arguments, of function ei_connet_init
+ and friends, from type short to unsigned int for full
+ 32-bit range.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17758 Application(s): erts
+ Related Id(s): PR-5391
+
+ Fix spelling mistakes in epmd error messages.
+
+
+ OTP-17779 Application(s): erts
+ Related Id(s): GH-5403, PR-5599
+
+ Fix bug where the "newshell" would trigger a newline at
+ the column width of the terminal, even if the next
+ character to be printed was a newline. This would cause
+ the terminal to render two newlines instead of one.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17836 Application(s): erts
+ Related Id(s): PR-5546
+
+ Fix the undocumented --profile_boot option to work
+ again.
+
+
+ OTP-17970 Application(s): erts
+ Related Id(s): PR-5762
+
+ Let EPMD tolerate failure when binding to IPv4/IPv6
+ loopback intefaces in addition to user-supplied
+ addresses via ERL_EPMD_ADDRESS or the -address option.
+ This can happen, for example, if the host system has
+ ipv6 disabled via the disable_ipv6 sysctl.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16852 Application(s): erts
+ Related Id(s): ERL-1347, PR-5195
+
+ Optimize minor garbage collection for processes with
+ large number of binaries, funs and/or external
+ pids/ports/refs. This is a continuation of the
+ optimization (OTP-17602) released in OTP-24.1.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ *** HIGHLIGHT ***
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ *** HIGHLIGHT ***
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ *** HIGHLIGHT ***
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17555 Application(s): erts
+ Related Id(s): PR-5027
+
+ Make byte_size/1 and binary_part/2/3 callable from
+ match specs (in ETS and tracing).
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17562 Application(s): erts
+ Related Id(s): GH-4492
+
+ A new option called short has been added to the
+ functions erlang:float_to_list and
+ erlang:float_to_binary. This option creates the
+ shortest correctly rounded string representation of the
+ given float that can be converted back to the same
+ float again.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17636 Application(s): erts
+
+ The test case num_bif_SUITE:t_float_to_string
+ previously failed sometimes as it assumed a certain
+ rounding of floats printed with sprintf but the
+ rounding type is platform specific.
+
+
+ OTP-17660 Application(s): erts
+ Related Id(s): PR-5164
+
+ Optimize interpreter to create heap binaries of small
+ match contexts if possible.
+
+ This optimization was already done in the JIT.
+
+
+ OTP-17667 Application(s): erts
+ Related Id(s): PR-5237
+
+ Optimize integer multiplication for x86 JIT
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ *** HIGHLIGHT ***
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17717 Application(s): erts
+ Related Id(s): PR-5290
+
+ Add [32-bit] to the Erlang shell title row for 32-bit
+ VMs.
+
+
+ OTP-17728 Application(s): erts
+ Related Id(s): PR-5284
+
+ Instructions for how to build the runtime system for
+ iOS/iPadOS can now be found in HOWTO/INSTALL.md.
+
+
+ OTP-17729 Application(s): erts
+ Related Id(s): PR-5477
+
+ Add support for static Elixir NIF modules with
+ non-alphanumeric characters by using new macro
+ STATIC_ERLANG_NIF_LIBNAME.
+
+
+ OTP-17753 Application(s): erts
+ Related Id(s): GH-5297, PR-5305
+
+ Add new function caller_line to for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the line number of the caller into
+ the trace message sent to the trace receiver.
+
+
+ OTP-17762 Application(s): erts
+ Related Id(s): GH-5204, PR-5219
+
+ A new erl command line argument +ssrct has been
+ introduced which will cause the runtime system to skip
+ reading CPU topology information. This reduce startup
+ time especially when the CPU topology is large. Reading
+ of CPU topology information is now also skipped if a
+ user defined CPU topology is set using the +sct command
+ line argument.
+
+
+ OTP-17772 Application(s): erts
+ Related Id(s): GH-4965, PR-5644
+
+ The default time warp mode will change in Erlang/OTP
+ 26. Added a warning about this upcoming potential
+ incompatibility to the documentation.
+
+
+ OTP-17824 Application(s): erts
+
+ The emulator will no longer mark unused memory as
+ discardable (e.g. through madvise(2)), as it caused
+ more problems than it solved.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ OTP-17899 Application(s): erts
+ Related Id(s): PR-5524
+
+ Remove version number from the default install path on
+ Windows.
+
+
+ OTP-17927 Application(s): erts
+ Related Id(s): PR-5283
+
+ On Windows apply the limit flag
+ JOB_OBJECT_LIMIT_BREAKAWAY_OK in the Erlang service to
+ be able to start a OS child process with a different
+ session number.
+
+
+ OTP-17951 Application(s): erts, kernel
+ Related Id(s): PR-5656
+
+ An API for multihomed SCTP connect has been added in
+ the guise of gen_sctp:connectx_init/*
+
+
+ OTP-17968 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').
+
+
+ OTP-17985 Application(s): erts
+ Related Id(s): GH-5728
+
+ A cross compilation issue has been fixed about finding
+ libdlpi during the configure phase.
+
+
+ Full runtime dependencies of erts-13.0: kernel-8.3, sasl-3.3,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.7.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17884 Application(s): eunit
+ Related Id(s): GH-5617
+
+ Minor internal improvements.
+
+
+ Full runtime dependencies of eunit-2.7.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17889 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17866 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ Full runtime dependencies of inets-8.0: erts-6.0, kernel-6.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-9.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.13 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17961 Application(s): jinterface
+ Related Id(s): PR-4839
+
+ Add new abstract class OtpGenericTransportFactory to
+ allow implementation of any transport protocol without
+ dependency on epmd.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17323 Application(s): kernel
+
+ The DNS resolver implementation has been rewritten to
+ validate replies more thoroughly, and a bit optimized
+ to create less garbage.
+
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17551 Application(s): kernel
+ Related Id(s): GH-5071, PR-5075
+
+ Fix bug where using the atoms string or report as the
+ format when calling logger:log(Level, Format, Args) (or
+ any other logging function) would cause a crash or
+ incorrect logging.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17958 Application(s): kernel
+ Related Id(s): OTP-17978
+
+ Starting the helper program for name resolving;
+ inet_gethost, has been improved to use an absolute file
+ system path to ensure that the right program is
+ started.
+
+ If the helper program can not be started - the system
+ now halts, to avoid running with a silently broken name
+ resolver.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17479 Application(s): kernel
+ Related Id(s): PR-4917
+
+ Fix os:cmd to work on Android OS.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17589 Application(s): kernel
+ Related Id(s): PR-4926
+
+ The types for callback result types in gen_statem has
+ bee augmented with arity 2 types where it is possible
+ for a callback module to specify the type of the
+ callback data, so the callback module can get type
+ validation of it.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17617 Application(s): kernel
+ Related Id(s): PR-5069
+
+ A net_ticker_spawn_options kernel configuration
+ parameter with which one can set spawn options for the
+ distribution channel ticker processes has been
+ introduced.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ *** HIGHLIGHT ***
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17915 Application(s): kernel, stdlib
+ Related Id(s): GH-2375, GH-2690, PR-5751
+
+ Type specifications have been added to the gen_server,
+ and the documentation has been updated to utilize this.
+
+ This surfaced a few type violations that has been
+ corrected in global, logger_olp and rpc.
+
+
+ OTP-17923 Application(s): kernel
+ Related Id(s): PR-5646
+
+ IP address validation functions is_ipv4_address/1,
+ is_ipv6_address/1 and is_ip_address/1 have been added
+ to the module inet in Kernel.
+
+
+ OTP-17951 Application(s): erts, kernel
+ Related Id(s): PR-5656
+
+ An API for multihomed SCTP connect has been added in
+ the guise of gen_sctp:connectx_init/*
+
+
+ OTP-17968 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ Full runtime dependencies of kernel-8.4: crypto-5.0, erts-13.0,
+ sasl-3.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17910 Application(s): megaco
+
+ Megaco test suite(s) use the new peer module for node
+ starts.
+
+
+ Full runtime dependencies of megaco-4.4: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17930 Application(s): mnesia
+
+ Documentation fixes.
+
+
+ Full runtime dependencies of mnesia-4.21: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.12 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of observer-2.12: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.17, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ Full runtime dependencies of odbc-2.14: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17755 Application(s): parsetools
+
+ In the generated code, yecc will now quote all atoms
+ coming from terminals in the grammar, in order to avoid
+ conflicts with future reserved words.
+
+
+ Full runtime dependencies of parsetools-2.4: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the datatype to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ OTP-17921 Application(s): public_key
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ Full runtime dependencies of public_key-1.13: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.19 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17909 Application(s): runtime_tools
+ Related Id(s): ERIERL-760
+
+ dbg:stop/0 now behaves like dbg:stop_clear/0, clearing
+ all global trace patterns for all functions.
+
+
+ OTP-17939 Application(s): runtime_tools
+
+ erts_alloc_config has been scheduled for removal in OTP
+ 26. It has not produced good configurations for a very
+ long time, and unfortunately it cannot be fixed in a
+ backwards compatible manner.
+
+
+ Full runtime dependencies of runtime_tools-1.19: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17752 Application(s): sasl
+ Related Id(s): PR-5302
+
+ Fix systools:make* to recursively search for source
+ code when doing a src_tests.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ Full runtime dependencies of sasl-4.2: erts-10.2, kernel-6.0,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17612 Application(s): snmp
+
+ Removed deprecated functions slated for removal in
+ OTP-25. Also removed "dead" code, kept for backward
+ compatibility reasons.
+
+
+ Full runtime dependencies of snmp-5.13: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.14 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17920 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ Full runtime dependencies of ssh-4.14: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17855 Application(s): ssl
+ Related Id(s): PR-5328
+
+ Add options for users to be able to set spawn_opts for
+ TLS processes (sender and receiver) this may be useful
+ for tuning trade-offs between CPU and Memory usage.
+
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the datatype to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ Full runtime dependencies of ssl-10.8: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17370 Application(s): stdlib
+ Related Id(s): GH-4784
+
+ Improve the Erlang code linter's check of unused types.
+
+
+ OTP-17480 Application(s): stdlib
+ Related Id(s): GH-4853, PR-4872
+
+ Fix race condition in proc_lib:stop/3 where the process
+ is not stopped when the timeout given is very short.
+
+
+ OTP-17518 Application(s): stdlib
+ Related Id(s): GH-4915
+
+ Maps are now fully supported in by ms_transform.
+
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17566 Application(s): stdlib
+ Related Id(s): GH-5093, PR-5095
+
+ erl_pp printed unary - and + operators with a space
+ between the operator and the operand. This is fixed by
+ not having any space in between.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17878 Application(s): stdlib
+
+ Avoid confusion by correcting the argument order in the
+ gen_event crash log printout.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ *** HIGHLIGHT ***
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ *** HIGHLIGHT ***
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17523 Application(s): stdlib
+ Related Id(s): PR-4928
+
+ Add lists:enumerate/[1,2].
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17592 Application(s): stdlib
+ Related Id(s): ERIERL-663, PR-5243
+
+ Support native time unit in calendar functions
+ system_time_to_rfc3339/2 and rfc3339_to_system_time.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17778 Application(s): stdlib
+ Related Id(s): GH-5368
+
+ This change introduces quote and unquote functions in
+ uri_string module - a replacement for deprecated encode
+ and decode functions from http_uri.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ *** HIGHLIGHT ***
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17869 Application(s): stdlib
+ Related Id(s): PR-5595
+
+ Update to the Unicode 14.0 specification.
+
+
+ OTP-17901 Application(s): stdlib
+ Related Id(s): GH-4968, PR-5649
+
+ The following ets types have been renamed to a clearer
+ name: tab/0 to table/0 and comp_match_spec/0 to
+ compiled_match_spec/0.
+
+ The types table_access/0 and table_type/0 have been
+ exported.
+
+
+ OTP-17908 Application(s): stdlib
+ Related Id(s): GH-5655, PR-5669
+
+ Add support for locating .asn1 files to the default
+ search rules of filelib:find_file/1 and
+ filelib:find_source/1.
+
+
+ OTP-17915 Application(s): kernel, stdlib
+ Related Id(s): GH-2375, GH-2690, PR-5751
+
+ Type specifications have been added to the gen_server,
+ and the documentation has been updated to utilize this.
+
+ This surfaced a few type violations that has been
+ corrected in global, logger_olp and rpc.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ OTP-17953 Application(s): stdlib
+ Related Id(s): PR-5621
+
+ *** HIGHLIGHT ***
+
+ Added filelib:ensure_path/1 that ensures that all
+ directories for the given path exists (unlike
+ filelib:ensure_dir/1, which will not create the last
+ segment of the path).
+
+
+ OTP-17969 Application(s): stdlib
+ Related Id(s): PR-5588
+
+ *** HIGHLIGHT ***
+
+ The functions groups_from_list/2 and groups_from_list/3
+ have been added to the maps module.
+
+
+ OTP-17974 Application(s): stdlib
+ Related Id(s): GH-5683
+
+ gen_server has been refactored to throw more readable
+ exceptions when a callback returns bad values in the
+ Timeout field (timeout() | 'hibernate' |
+ {'continue,_}), and also to verify that argument in the
+ gen_server:enter_loop/3,4,5 API function.
+
+
+ OTP-17977 Application(s): stdlib
+ Related Id(s): GH-5606, PR-5766
+
+ *** HIGHLIGHT ***
+
+ The functions uniq/1 and uniq/2 for removing duplicates
+ have been added to the lists module.
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ Full runtime dependencies of stdlib-4.0: compiler-5.0, crypto-4.5,
+ erts-12.0, kernel-8.4, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.0 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ Full runtime dependencies of syntax_tools-3.0: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ Full runtime dependencies of tools-3.5.3: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.2 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17950 Application(s): wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added aux1Down and aux2Down fields to the wxMouseState
+ record. Since one record have been changed a
+ recompilation of user code might be required.
+
+
+ Full runtime dependencies of wx-2.2: erts-12.0, kernel-8.0,
+ stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.29 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17935 Application(s): xmerl
+ Related Id(s): PR-5590
+
+ Fixed misspellings in both documentation, comments and
+ code (internal data structures).
+
+
+ Full runtime dependencies of xmerl-1.3.29: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0-rc3.README.txt b/release-notes/OTP-25.0-rc3.README.txt
new file mode 100644
index 0000000..3d65861
--- /dev/null
+++ b/release-notes/OTP-25.0-rc3.README.txt
@@ -0,0 +1,2981 @@
+Inital Release: OTP 25.0
+Git Tag: OTP-25.0
+Date: 2022-04-13
+Trouble Report Id: OTP-15991, OTP-15993, OTP-16464, OTP-16607,
+ OTP-16643, OTP-16644, OTP-16702, OTP-16852,
+ OTP-16982, OTP-17119, OTP-17151, OTP-17224,
+ OTP-17304, OTP-17318, OTP-17323, OTP-17351,
+ OTP-17370, OTP-17414, OTP-17447, OTP-17471,
+ OTP-17479, OTP-17480, OTP-17481, OTP-17504,
+ OTP-17518, OTP-17523, OTP-17524, OTP-17544,
+ OTP-17550, OTP-17551, OTP-17554, OTP-17555,
+ OTP-17556, OTP-17558, OTP-17561, OTP-17562,
+ OTP-17566, OTP-17569, OTP-17589, OTP-17592,
+ OTP-17608, OTP-17612, OTP-17617, OTP-17627,
+ OTP-17630, OTP-17636, OTP-17644, OTP-17654,
+ OTP-17660, OTP-17661, OTP-17667, OTP-17669,
+ OTP-17676, OTP-17681, OTP-17682, OTP-17683,
+ OTP-17684, OTP-17685, OTP-17701, OTP-17704,
+ OTP-17705, OTP-17710, OTP-17717, OTP-17720,
+ OTP-17728, OTP-17729, OTP-17733, OTP-17752,
+ OTP-17753, OTP-17755, OTP-17758, OTP-17762,
+ OTP-17772, OTP-17778, OTP-17779, OTP-17784,
+ OTP-17802, OTP-17810, OTP-17819, OTP-17820,
+ OTP-17821, OTP-17824, OTP-17826, OTP-17832,
+ OTP-17836, OTP-17841, OTP-17842, OTP-17846,
+ OTP-17855, OTP-17860, OTP-17866, OTP-17869,
+ OTP-17870, OTP-17878, OTP-17881, OTP-17882,
+ OTP-17884, OTP-17885, OTP-17889, OTP-17890,
+ OTP-17892, OTP-17894, OTP-17897, OTP-17899,
+ OTP-17901, OTP-17908, OTP-17909, OTP-17910,
+ OTP-17911, OTP-17915, OTP-17920, OTP-17921,
+ OTP-17923, OTP-17925, OTP-17927, OTP-17930,
+ OTP-17935, OTP-17939, OTP-17945, OTP-17950,
+ OTP-17951, OTP-17953, OTP-17958, OTP-17961,
+ OTP-17964, OTP-17965, OTP-17968, OTP-17969,
+ OTP-17970, OTP-17974, OTP-17976, OTP-17977,
+ OTP-17980, OTP-17984, OTP-17985, OTP-17986,
+ OTP-17988, OTP-17990, OTP-17991, OTP-17996,
+ OTP-17997, OTP-17999, OTP-18000, OTP-18001,
+ OTP-18003, OTP-18008, OTP-18009, OTP-18011,
+ OTP-18012, OTP-18014, OTP-18015, OTP-18020,
+ OTP-18027, OTP-18033, OTP-18034, OTP-18035,
+ OTP-18036, OTP-18038, OTP-18039, OTP-18047
+Seq num: ERIERL-590, ERIERL-663, ERIERL-760, ERL-1347,
+ GH-2375, GH-2690, GH-4143, GH-4492, GH-4622,
+ GH-4673, GH-4759, GH-4784, GH-4819, GH-4853,
+ GH-4915, GH-4965, GH-4968, GH-4971, GH-5016,
+ GH-5071, GH-5093, GH-5094, GH-5140, GH-5204,
+ GH-5214, GH-5297, GH-5368, GH-5376, GH-5379,
+ GH-5402, GH-5403, GH-5463, GH-5513, GH-5606,
+ GH-5617, GH-5655, GH-5683, GH-5728, GH-5780,
+ GH-5782, GH-5801, GH-5828
+System: OTP
+Release: 25
+Application: asn1-5.0.19, common_test-1.23, compiler-8.2,
+ crypto-5.1, debugger-5.3, dialyzer-5.0,
+ diameter-2.2.6, edoc-1.2, erl_docgen-1.3,
+ erl_interface-5.3, erts-13.0, eunit-2.7.1,
+ inets-8.0, jinterface-1.13, kernel-8.4,
+ megaco-4.4, mnesia-4.21, observer-2.12,
+ odbc-2.14, parsetools-2.4, public_key-1.13,
+ runtime_tools-1.19, sasl-4.2, snmp-5.13,
+ ssh-4.14, ssl-10.8, stdlib-4.0,
+ syntax_tools-3.0, tools-3.5.3, wx-2.2,
+ xmerl-1.3.29
+Predecessor: OTP
+
+ Check out the git tag OTP-25.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ The maybe ... end construction proposed in EEP-49 has
+ been implemented. It can simplify complex code where
+ otherwise deeply nested cases would have to be used.
+
+ To enable maybe, give the option -enable-feature
+ maybe_expr to erlc or add -feature(enable, maybe_expr).
+ inside the module.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17953 Application(s): stdlib
+ Related Id(s): PR-5621
+
+ Added filelib:ensure_path/1 that ensures that all
+ directories for the given path exists (unlike
+ filelib:ensure_dir/1, which will not create the last
+ segment of the path).
+
+
+ OTP-17969 Application(s): stdlib
+ Related Id(s): PR-5588
+
+ The functions groups_from_list/2 and groups_from_list/3
+ have been added to the maps module.
+
+
+ OTP-17977 Application(s): stdlib
+ Related Id(s): GH-5606, PR-5766
+
+ The functions uniq/1 and uniq/2 for removing duplicates
+ have been added to the lists module.
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ OTP-18039 Application(s): compiler
+
+ Change format of feature options and directives for
+ better consistency. Options to erlc and the
+ -compile(..) directive now has the format {feature,
+ feature-name, enable | disable}. The -feature(..) now
+ has the format -feature(feature-name, enable |
+ disable).
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17866 Application(s): inets
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ OTP-17889 Application(s): inets
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17920 Application(s): ssh
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ OTP-17921 Application(s): public_key
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ OTP-17950 Application(s): wx
+
+ Added aux1Down and aux2Down fields to the wxMouseState
+ record. Since one record have been changed a
+ recompilation of user code might be required.
+
+
+ OTP-17965 Application(s): crypto
+
+ The infomation in error messages are increased.
+
+ Previously the error was signaled with en error class
+ exception badarg, notsup or error, and also in some
+ more ways like an other exception or a return value in
+ a non-standardized format.
+
+ Now it is an error-class exception
+ {notsup|badarg|error, InfoFromCfile,
+ Description::string()}.
+
+ The InfoFromCfile is a term with name and line number
+ of the C-file where the error was found. This is
+ primarily intended for a crypto maitntainer or an
+ advanced user to find the cause of complicated errors -
+ maybe in crypto itself. The contents of that term might
+ be changed in the future.
+
+ The Description is a clear text string that describes
+ the error. In case of badarg and notsup the intention
+ is that it should help the user to find the cause ("Bad
+ key size" as an example). Specially for some error that
+ are unlikely, the string may not be possible to
+ understand without deep knowledge of the underlying
+ cryptolib. Such messages are intended for a crypto
+ maintainer.
+
+ The first element on call stack (the S in try ... catch
+ error:E:S .... end) gives more information like the
+ actual argument list in the call of crypto and the
+ argument number (if possible) in the call to the NIF
+ inside crypto.
+
+ The functions in crypto affected by this change are:
+
+ sign/4, sign/5, verify/5, verify/6,
+
+ generate_key/2, generate_key/3, compute_key/4,
+
+ hash/2, hash/4, hash_init/1, hash_update/4,
+ hash_final/1,
+
+ mac/3,4, mac_init/3, mac_update/2, mac_final/2,
+
+ pbkdf2_hmac/5,
+
+ public_encrypt/4, private_decrypt/4, private_encrypt/4,
+ public_decrypt/4
+
+ This schema was introduced earlier in:
+
+ crypto_init/3, crypto_init/4, crypto_update/2,
+ crypto_final/1, crypto_get_data/1,
+
+ crypto_one_time/4, crypto_one_time/5,
+ crypto_one_time_aead/6, crypto_one_time_aead/7
+
+
+ OTP-17991 Application(s): stdlib
+
+ The function filename:safe_relative_path/1, which has
+ been deprecated since OTP 25, has been removed. Use
+ filelib:safe_relative_path/2 instead.
+
+
+ OTP-18009 Application(s): stdlib
+ Related Id(s): PR-5785
+
+ Fixed string:next_grapheme/1 to return an empty binary
+ in the tail for binary input for the last grapheme
+ cluster.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-25.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ *** HIGHLIGHT ***
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17980 Application(s): asn1
+
+ The atom maybe has been quoted in the source code.
+
+
+ Full runtime dependencies of asn1-5.0.19: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.23 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17881 Application(s): common_test
+ Related Id(s): PR-5581
+
+ Fix bug when running parallel testcases and together
+ with one or more ct hooks that would cause the hook
+ lock process to crash and produce printouts in the ct
+ logs.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17676 Application(s): common_test
+ Related Id(s): PR-5021
+
+ Remove unused and undocumented tracer node
+ functionality.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17882 Application(s): common_test
+ Related Id(s): PR-5581
+
+ The cth_surefire ct hook has been updated to include
+ the file and line number of the executed test case in
+ the xml output.
+
+ The performance of the hook has also been improved
+ greatly for test runs with many test cases.
+
+
+ Full runtime dependencies of common_test-1.23: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17820 Application(s): compiler
+
+ Fixed a rare bug that would crash the compiler during
+ type optimization.
+
+
+ OTP-17860 Application(s): compiler
+ Related Id(s): GH-5513, OTP-17226
+
+ Starting in OTP 24, when a fun was created and
+ immediately used, it would be inlined. An unintended
+ consequence of the inlining was that what would be a
+ function_clause exception without the inlining would
+ now be a rather confusing case_clause exception. This
+ has been corrected, so that function_clause exceptions
+ remain function_clause exceptions in inlined code.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ *** HIGHLIGHT ***
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ *** HIGHLIGHT ***
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ *** HIGHLIGHT ***
+
+ The maybe ... end construction proposed in EEP-49 has
+ been implemented. It can simplify complex code where
+ otherwise deeply nested cases would have to be used.
+
+ To enable maybe, give the option -enable-feature
+ maybe_expr to erlc or add -feature(enable, maybe_expr).
+ inside the module.
+
+
+ OTP-17810 Application(s): compiler
+ Related Id(s): GH-5379
+
+ A subtle bug regarding variable scoping has been
+ corrected. Consider this example:
+
+ (A=1) + fun() -> A = 2() end
+
+ In the shell, the expression correctly evaluates to 3.
+ In compiled code, it raised a {badmatch, 2} exception.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17842 Application(s): compiler
+
+ Improved optimization of try/catch expressions.
+
+
+ OTP-17885 Application(s): compiler
+ Related Id(s): GH-5140
+
+ The beam_trim pass of the compiler could be extremely
+ slow for huge straight-line functions. It will now
+ compile such functions much faster (down to seconds
+ from minutes for some huge functions).
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ OTP-18039 Application(s): compiler
+
+ *** HIGHLIGHT ***
+
+ Change format of feature options and directives for
+ better consistency. Options to erlc and the
+ -compile(..) directive now has the format {feature,
+ feature-name, enable | disable}. The -feature(..) now
+ has the format -feature(feature-name, enable |
+ disable).
+
+
+ Full runtime dependencies of compiler-8.2: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17984 Application(s): crypto
+
+ Remove faulty types run_time_error() and
+ descriptive_error().
+
+
+ --- Improvements and New Features ---
+
+ OTP-16643 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ The deprecated low-level DH API is not used when crypto
+ is compiled with OpenSSL 3.0.
+
+
+ OTP-16644 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ The deprecated low-level RSA API is not used when
+ crypto is compiled with OpenSSL 3.0.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17471 Application(s): crypto
+ Related Id(s): PR-4750
+
+ Add crypto:hash_equals/2
+
+
+ OTP-17561 Application(s): crypto
+
+ Add /opt/homebrew/opt/openssl to standard locations to
+ search for OpenSSL cryptolib.
+
+
+ OTP-17701 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ The deprecated low-level DSA API is not used when
+ crypto is compiled with OpenSSL 3.0.
+
+
+ OTP-17704 Application(s): crypto
+ Related Id(s): OTP-16282
+
+ The deprecated BN_pseudo_rand_range is not used when
+ crypto is compiled with OpenSSL 3.0.
+
+
+ OTP-17870 Application(s): crypto
+
+ crypto_dyn_iv_init/3 and crypto_dyn_iv_update/3 are
+ deprecated.
+
+
+ OTP-17965 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The infomation in error messages are increased.
+
+ Previously the error was signaled with en error class
+ exception badarg, notsup or error, and also in some
+ more ways like an other exception or a return value in
+ a non-standardized format.
+
+ Now it is an error-class exception
+ {notsup|badarg|error, InfoFromCfile,
+ Description::string()}.
+
+ The InfoFromCfile is a term with name and line number
+ of the C-file where the error was found. This is
+ primarily intended for a crypto maitntainer or an
+ advanced user to find the cause of complicated errors -
+ maybe in crypto itself. The contents of that term might
+ be changed in the future.
+
+ The Description is a clear text string that describes
+ the error. In case of badarg and notsup the intention
+ is that it should help the user to find the cause ("Bad
+ key size" as an example). Specially for some error that
+ are unlikely, the string may not be possible to
+ understand without deep knowledge of the underlying
+ cryptolib. Such messages are intended for a crypto
+ maintainer.
+
+ The first element on call stack (the S in try ... catch
+ error:E:S .... end) gives more information like the
+ actual argument list in the call of crypto and the
+ argument number (if possible) in the call to the NIF
+ inside crypto.
+
+ The functions in crypto affected by this change are:
+
+ sign/4, sign/5, verify/5, verify/6,
+
+ generate_key/2, generate_key/3, compute_key/4,
+
+ hash/2, hash/4, hash_init/1, hash_update/4,
+ hash_final/1,
+
+ mac/3,4, mac_init/3, mac_update/2, mac_final/2,
+
+ pbkdf2_hmac/5,
+
+ public_encrypt/4, private_decrypt/4, private_encrypt/4,
+ public_decrypt/4
+
+ This schema was introduced earlier in:
+
+ crypto_init/3, crypto_init/4, crypto_update/2,
+ crypto_final/1, crypto_get_data/1,
+
+ crypto_one_time/4, crypto_one_time/5,
+ crypto_one_time_aead/6, crypto_one_time_aead/7
+
+
+ Full runtime dependencies of crypto-5.1: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of debugger-5.3: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17524 Application(s): dialyzer
+
+ Optimize operations in the erl_types module.
+ Parallelize the Dialyzer pass remote.
+
+
+ OTP-17654 Application(s): dialyzer
+ Related Id(s): GH-5214
+
+ Added the missing_return and extra_return options to
+ raise warnings when specifications differ from inferred
+ types. These are similar to, but not quite as verbose
+ as overspecs and underspecs.
+
+
+ OTP-17819 Application(s): dialyzer
+
+ The race_conditions option has been removed.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17826 Application(s): dialyzer
+ Related Id(s): PR-5498
+
+ dialyzer will now honor dependencies inside type
+ declarations. That is, if the declaration of an
+ exported type changes, all modules using said type will
+ be revisited.
+
+
+ OTP-17897 Application(s): dialyzer
+ Related Id(s): PR-5651
+
+ Dialyzer now better understands the types for min/2,
+ max/2, and erlang:raise/3. Because of that, Dialyzer
+ can potentially generate new warnings. In particular,
+ functions that use erlang:raise/3 could now need a spec
+ with a no_return() return type to avoid an unwanted
+ warning.
+
+
+ OTP-17964 Application(s): dialyzer
+ Related Id(s): PR-5660
+
+ The typer_core module has been added to provide an
+ Erlang API for running typer.
+
+
+ OTP-18035 Application(s): dialyzer
+ Related Id(s): PR-5802
+
+ Added the --annotate-in-place option to typer, which
+ can be used to annotate the specs that the tool
+ inferred directly into the source code files.
+
+
+ Full runtime dependencies of dialyzer-5.0: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.2.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17976 Application(s): diameter
+ Related Id(s): GH-5463
+
+ Fix decode of non-IP address types; that is, of values
+ of the derived AVP data format Address whose first two
+ octets specify an address family other than 1 (IP) or 2
+ (IP6). Such values have never been decoded, and were
+ treated as decode errors. They're now decoded to a
+ 2-tuple of the integer() address family and binary()
+ remaining octets, with no family-specific decode. The
+ 2-tuple distinguishes the decode from the 4-tuple and
+ 8-tuple IP address decodes. 2-tuples are also now
+ encoded.
+
+ Note that even currently unassigned address families
+ are decoded: only the reserved values, 0 and 65535, are
+ treated as errors.
+
+
+ Full runtime dependencies of diameter-2.2.6: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17550 Application(s): edoc
+ Related Id(s): GH-5094, PR-5106
+
+ Fix unused types warnings in internal edoc module.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17556 Application(s): edoc
+ Related Id(s): PR-5023
+
+ Add source file to the warning on skipped tags when
+ generating EEP-48 style docs.
+
+
+ OTP-17733 Application(s): edoc
+ Related Id(s): PR-5205
+
+ Fix the doc chunks generators to emit documentation
+ even if there is not module level documentation.
+
+ Fix the doc chunks generators to respect the @hidden
+ and @private tags properly for both modules and
+ functions.
+
+
+ Full runtime dependencies of edoc-1.2: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-2.0, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ Full runtime dependencies of erl_docgen-1.3: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.3 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17846 Application(s): erl_interface
+ Related Id(s): PR-5558
+
+ erl_call no longer links against nsl on platforms where
+ gethostbyname is provided by libc.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17802 Application(s): erl_interface
+ Related Id(s): PR-5347
+
+ Changed creation arguments, of function ei_connet_init
+ and friends, from type short to unsigned int for full
+ 32-bit range.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17758 Application(s): erts
+ Related Id(s): PR-5391
+
+ Fix spelling mistakes in epmd error messages.
+
+
+ OTP-17779 Application(s): erts
+ Related Id(s): GH-5403, PR-5599
+
+ Fix bug where the "newshell" would trigger a newline at
+ the column width of the terminal, even if the next
+ character to be printed was a newline. This would cause
+ the terminal to render two newlines instead of one.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17836 Application(s): erts
+ Related Id(s): PR-5546
+
+ Fix the undocumented --profile_boot option to work
+ again.
+
+
+ OTP-17970 Application(s): erts
+ Related Id(s): PR-5762
+
+ Let EPMD tolerate failure when binding to IPv4/IPv6
+ loopback intefaces in addition to user-supplied
+ addresses via ERL_EPMD_ADDRESS or the -address option.
+ This can happen, for example, if the host system has
+ ipv6 disabled via the disable_ipv6 sysctl.
+
+
+ OTP-18020 Application(s): erts, kernel
+
+ [socket] Encode of sockaddr has been improved.
+
+
+ OTP-18027 Application(s): erts
+
+ Fixed a bug in binary_to_term/1,
+ enif_make_map_from_arrays, erl_drv_send_term, and
+ Erlang distribution that could crash the emulator.
+
+
+ OTP-18047 Application(s): erts
+ Related Id(s): PR-5861
+
+ Fix erl_child_setup (the program used by
+ open_port({spawn,...}) and os:cmd/1) to better handle
+ partial reads from the Erlang VM.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-16464 Application(s): erts, kernel
+
+ The net module now works on Windows.
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16852 Application(s): erts
+ Related Id(s): ERL-1347, PR-5195
+
+ Optimize minor garbage collection for processes with
+ large number of binaries, funs and/or external
+ pids/ports/refs. This is a continuation of the
+ optimization (OTP-17602) released in OTP-24.1.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ *** HIGHLIGHT ***
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ *** HIGHLIGHT ***
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ *** HIGHLIGHT ***
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17555 Application(s): erts
+ Related Id(s): PR-5027
+
+ Make byte_size/1 and binary_part/2/3 callable from
+ match specs (in ETS and tracing).
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17562 Application(s): erts
+ Related Id(s): GH-4492
+
+ A new option called short has been added to the
+ functions erlang:float_to_list and
+ erlang:float_to_binary. This option creates the
+ shortest correctly rounded string representation of the
+ given float that can be converted back to the same
+ float again.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17636 Application(s): erts
+
+ The test case num_bif_SUITE:t_float_to_string
+ previously failed sometimes as it assumed a certain
+ rounding of floats printed with sprintf but the
+ rounding type is platform specific.
+
+
+ OTP-17660 Application(s): erts
+ Related Id(s): PR-5164
+
+ Optimize interpreter to create heap binaries of small
+ match contexts if possible.
+
+ This optimization was already done in the JIT.
+
+
+ OTP-17667 Application(s): erts
+ Related Id(s): PR-5237
+
+ Optimize integer multiplication for x86 JIT
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ *** HIGHLIGHT ***
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17717 Application(s): erts
+ Related Id(s): PR-5290
+
+ Add [32-bit] to the Erlang shell title row for 32-bit
+ VMs.
+
+
+ OTP-17728 Application(s): erts
+ Related Id(s): PR-5284
+
+ Instructions for how to build the runtime system for
+ iOS/iPadOS can now be found in HOWTO/INSTALL.md.
+
+
+ OTP-17729 Application(s): erts
+ Related Id(s): PR-5477
+
+ Add support for static Elixir NIF modules with
+ non-alphanumeric characters by using new macro
+ STATIC_ERLANG_NIF_LIBNAME.
+
+
+ OTP-17753 Application(s): erts
+ Related Id(s): GH-5297, PR-5305
+
+ Add new function caller_line to for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the line number of the caller into
+ the trace message sent to the trace receiver.
+
+
+ OTP-17762 Application(s): erts
+ Related Id(s): GH-5204, PR-5219
+
+ A new erl command line argument +ssrct has been
+ introduced which will cause the runtime system to skip
+ reading CPU topology information. This reduce startup
+ time especially when the CPU topology is large. Reading
+ of CPU topology information is now also skipped if a
+ user defined CPU topology is set using the +sct command
+ line argument.
+
+
+ OTP-17772 Application(s): erts
+ Related Id(s): GH-4965, PR-5644
+
+ The default time warp mode will change in Erlang/OTP
+ 26. Added a warning about this upcoming potential
+ incompatibility to the documentation.
+
+
+ OTP-17824 Application(s): erts
+
+ The emulator will no longer mark unused memory as
+ discardable (e.g. through madvise(2)), as it caused
+ more problems than it solved.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ OTP-17899 Application(s): erts
+ Related Id(s): PR-5524
+
+ Remove version number from the default install path on
+ Windows.
+
+
+ OTP-17927 Application(s): erts
+ Related Id(s): PR-5283
+
+ On Windows apply the limit flag
+ JOB_OBJECT_LIMIT_BREAKAWAY_OK in the Erlang service to
+ be able to start a OS child process with a different
+ session number.
+
+
+ OTP-17945 Application(s): erts
+ Related Id(s): GH-4759, PR-5809
+
+ New erl command line option +IOs. It can be used to
+ disable scheduler thread poll optimization, which has
+ been seen to cause degraded event latency in some use
+ cases.
+
+
+ OTP-17951 Application(s): erts, kernel
+ Related Id(s): PR-5656
+
+ An API for multihomed SCTP connect has been added in
+ the guise of gen_sctp:connectx_init/*
+
+
+ OTP-17968 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').
+
+
+ OTP-17985 Application(s): erts
+ Related Id(s): GH-5728
+
+ A cross compilation issue has been fixed about finding
+ libdlpi during the configure phase.
+
+
+ OTP-17999 Application(s): erts
+ Related Id(s): PR-5768
+
+ process_info/2 now also accepts parent as argument.
+ When passed, the process identifier of the parent
+ process will be returned.
+
+
+ OTP-18033 Application(s): erts
+ Related Id(s): GH-5376, PR-2926
+
+ The exported type erlang:send_destination/0 has been
+ introduced.
+
+
+ OTP-18036 Application(s): erts
+ Related Id(s): PR-5846
+
+ Building of the C/C++ make dependencies on Windows has
+ been optimized to be a lot faster.
+
+
+ OTP-18038 Application(s): erts
+
+ file:sync/1 will now use the F_BARRIERFSYNC flag when
+ available on Mac OS.
+
+
+ Full runtime dependencies of erts-13.0: kernel-8.3, sasl-3.3,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.7.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17884 Application(s): eunit
+ Related Id(s): GH-5617
+
+ Minor internal improvements.
+
+
+ Full runtime dependencies of eunit-2.7.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17889 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17866 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ OTP-17997 Application(s): inets
+ Related Id(s): GH-5782
+
+ After this change, connect_timeout value is re-used
+ when upgrading TCP connection to TLS over a proxy.
+
+
+ Full runtime dependencies of inets-8.0: erts-6.0, kernel-6.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-9.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.13 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17961 Application(s): jinterface
+ Related Id(s): PR-4839
+
+ Add new abstract class OtpGenericTransportFactory to
+ allow implementation of any transport protocol without
+ dependency on epmd.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17323 Application(s): kernel
+
+ The DNS resolver implementation has been rewritten to
+ validate replies more thoroughly, and a bit optimized
+ to create less garbage.
+
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17551 Application(s): kernel
+ Related Id(s): GH-5071, PR-5075
+
+ Fix bug where using the atoms string or report as the
+ format when calling logger:log(Level, Format, Args) (or
+ any other logging function) would cause a crash or
+ incorrect logging.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17958 Application(s): kernel
+ Related Id(s): OTP-17978
+
+ Starting the helper program for name resolving;
+ inet_gethost, has been improved to use an absolute file
+ system path to ensure that the right program is
+ started.
+
+ If the helper program can not be started - the system
+ now halts, to avoid running with a silently broken name
+ resolver.
+
+
+ OTP-17986 Application(s): kernel
+ Related Id(s): PR-5412
+
+ The type specification for inet_res:getbyname/2,3 has
+ been corrected to reflect that it can return peculiar
+ #hostent{} records.
+
+
+ OTP-17990 Application(s): kernel
+ Related Id(s): GH-5801
+
+ code:module_status/1 would always report BEAM files
+ loaded from an archive as modified, and
+ code:modified_modules/0 would always return the name of
+ all modules loaded from archives.
+
+
+ OTP-18001 Application(s): kernel
+ Related Id(s): GH-5780, PR-5829
+
+ In logger fix file handler shutdown delay by using
+ erlang timers instead of the timer modul's timers.
+
+
+ OTP-18003 Application(s): kernel
+ Related Id(s): PR-5771
+
+ Fix the metadata in log events generated by logger on
+ failure to not contain the original log event's
+ metadata.
+
+
+ OTP-18015 Application(s): kernel
+ Related Id(s): GH-5828, PR-5845
+
+ Fix logger file backend to re-create the log folder if
+ it has been deleted.
+
+
+ OTP-18020 Application(s): erts, kernel
+
+ [socket] Encode of sockaddr has been improved.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16464 Application(s): erts, kernel
+
+ The net module now works on Windows.
+
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17479 Application(s): kernel
+ Related Id(s): PR-4917
+
+ Fix os:cmd to work on Android OS.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17589 Application(s): kernel
+ Related Id(s): PR-4926
+
+ The types for callback result types in gen_statem has
+ bee augmented with arity 2 types where it is possible
+ for a callback module to specify the type of the
+ callback data, so the callback module can get type
+ validation of it.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17617 Application(s): kernel
+ Related Id(s): PR-5069
+
+ A net_ticker_spawn_options kernel configuration
+ parameter with which one can set spawn options for the
+ distribution channel ticker processes has been
+ introduced.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ *** HIGHLIGHT ***
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17915 Application(s): kernel, stdlib
+ Related Id(s): GH-2375, GH-2690, PR-5751
+
+ Type specifications have been added to the gen_server,
+ and the documentation has been updated to utilize this.
+
+ This surfaced a few type violations that has been
+ corrected in global, logger_olp and rpc.
+
+
+ OTP-17923 Application(s): kernel
+ Related Id(s): PR-5646
+
+ IP address validation functions is_ipv4_address/1,
+ is_ipv6_address/1 and is_ip_address/1 have been added
+ to the module inet in Kernel.
+
+
+ OTP-17951 Application(s): erts, kernel
+ Related Id(s): PR-5656
+
+ An API for multihomed SCTP connect has been added in
+ the guise of gen_sctp:connectx_init/*
+
+
+ OTP-17968 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ Full runtime dependencies of kernel-8.4: crypto-5.0, erts-13.0,
+ sasl-3.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17910 Application(s): megaco
+
+ Megaco test suite(s) use the new peer module for node
+ starts.
+
+
+ Full runtime dependencies of megaco-4.4: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17930 Application(s): mnesia
+
+ Documentation fixes.
+
+
+ Full runtime dependencies of mnesia-4.21: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.12 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17996 Application(s): observer
+ Related Id(s): PR-5795
+
+ Fixed default handling of Mac specific menus.
+
+
+ OTP-18012 Application(s): observer, runtime_tools
+ Related Id(s): #5798
+
+ Reading port socket options on macOS and Windows
+ "skips" invalid options.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of observer-2.12: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.19, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ Full runtime dependencies of odbc-2.14: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17755 Application(s): parsetools
+
+ In the generated code, yecc will now quote all atoms
+ coming from terminals in the grammar, in order to avoid
+ conflicts with future reserved words.
+
+
+ Full runtime dependencies of parsetools-2.4: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the datatype to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ OTP-17921 Application(s): public_key
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ Full runtime dependencies of public_key-1.13: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.19 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18012 Application(s): observer, runtime_tools
+ Related Id(s): #5798
+
+ Reading port socket options on macOS and Windows
+ "skips" invalid options.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17909 Application(s): runtime_tools
+ Related Id(s): ERIERL-760
+
+ dbg:stop/0 now behaves like dbg:stop_clear/0, clearing
+ all global trace patterns for all functions.
+
+
+ OTP-17939 Application(s): runtime_tools
+
+ erts_alloc_config has been scheduled for removal in OTP
+ 26. It has not produced good configurations for a very
+ long time, and unfortunately it cannot be fixed in a
+ backwards compatible manner.
+
+
+ Full runtime dependencies of runtime_tools-1.19: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17752 Application(s): sasl
+ Related Id(s): PR-5302
+
+ Fix systools:make* to recursively search for source
+ code when doing a src_tests.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ Full runtime dependencies of sasl-4.2: erts-10.2, kernel-6.0,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17612 Application(s): snmp
+
+ Removed deprecated functions slated for removal in
+ OTP-25. Also removed "dead" code, kept for backward
+ compatibility reasons.
+
+
+ Full runtime dependencies of snmp-5.13: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.14 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17920 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ Full runtime dependencies of ssh-4.14: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18014 Application(s): ssl
+
+ Now also accepts the signature_algs_cert option in
+ TLS-1.2 configuration.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15993 Application(s): ssl
+ Related Id(s): GH-4143
+
+ With this change, it is possible to provide several
+ certificates. Most appropriate will be selected based
+ on extensions.
+
+
+ OTP-17855 Application(s): ssl
+ Related Id(s): PR-5328
+
+ Add options for users to be able to set spawn_opts for
+ TLS processes (sender and receiver) this may be useful
+ for tuning trade-offs between CPU and Memory usage.
+
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the datatype to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ OTP-18000 Application(s): ssl
+ Related Id(s): PR-5790
+
+ Logging enhancement, add location information to the
+ warning log message.
+
+
+ Full runtime dependencies of ssl-10.8: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17370 Application(s): stdlib
+ Related Id(s): GH-4784
+
+ Improve the Erlang code linter's check of unused types.
+
+
+ OTP-17480 Application(s): stdlib
+ Related Id(s): GH-4853, PR-4872
+
+ Fix race condition in proc_lib:stop/3 where the process
+ is not stopped when the timeout given is very short.
+
+
+ OTP-17518 Application(s): stdlib
+ Related Id(s): GH-4915
+
+ Maps are now fully supported in by ms_transform.
+
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17566 Application(s): stdlib
+ Related Id(s): GH-5093, PR-5095
+
+ erl_pp printed unary - and + operators with a space
+ between the operator and the operand. This is fixed by
+ not having any space in between.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17878 Application(s): stdlib
+
+ Avoid confusion by correcting the argument order in the
+ gen_event crash log printout.
+
+
+ OTP-18009 Application(s): stdlib
+ Related Id(s): PR-5785
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed string:next_grapheme/1 to return an empty binary
+ in the tail for binary input for the last grapheme
+ cluster.
+
+
+ OTP-18034 Application(s): stdlib
+ Related Id(s): GH-4622, PR-4661
+
+ Fixed type specifications of the supervisor:sup_name/0
+ and supervisor:sup_ref/0 types.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ *** HIGHLIGHT ***
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ *** HIGHLIGHT ***
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17523 Application(s): stdlib
+ Related Id(s): PR-4928
+
+ Add lists:enumerate/[1,2].
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17592 Application(s): stdlib
+ Related Id(s): ERIERL-663, PR-5243
+
+ Support native time unit in calendar functions
+ system_time_to_rfc3339/2 and rfc3339_to_system_time.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17778 Application(s): stdlib
+ Related Id(s): GH-5368
+
+ This change introduces quote and unquote functions in
+ uri_string module - a replacement for deprecated encode
+ and decode functions from http_uri.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ *** HIGHLIGHT ***
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17869 Application(s): stdlib
+ Related Id(s): PR-5595
+
+ Update to the Unicode 14.0 specification.
+
+
+ OTP-17901 Application(s): stdlib
+ Related Id(s): GH-4968, PR-5649
+
+ The following ets types have been renamed to a clearer
+ name: tab/0 to table/0 and comp_match_spec/0 to
+ compiled_match_spec/0.
+
+ The types table_access/0 and table_type/0 have been
+ exported.
+
+
+ OTP-17908 Application(s): stdlib
+ Related Id(s): GH-5655, PR-5669
+
+ Add support for locating .asn1 files to the default
+ search rules of filelib:find_file/1 and
+ filelib:find_source/1.
+
+
+ OTP-17915 Application(s): kernel, stdlib
+ Related Id(s): GH-2375, GH-2690, PR-5751
+
+ Type specifications have been added to the gen_server,
+ and the documentation has been updated to utilize this.
+
+ This surfaced a few type violations that has been
+ corrected in global, logger_olp and rpc.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ OTP-17953 Application(s): stdlib
+ Related Id(s): PR-5621
+
+ *** HIGHLIGHT ***
+
+ Added filelib:ensure_path/1 that ensures that all
+ directories for the given path exists (unlike
+ filelib:ensure_dir/1, which will not create the last
+ segment of the path).
+
+
+ OTP-17969 Application(s): stdlib
+ Related Id(s): PR-5588
+
+ *** HIGHLIGHT ***
+
+ The functions groups_from_list/2 and groups_from_list/3
+ have been added to the maps module.
+
+
+ OTP-17974 Application(s): stdlib
+ Related Id(s): GH-5683
+
+ gen_server has been refactored to throw more readable
+ exceptions when a callback returns bad values in the
+ Timeout field (timeout() | 'hibernate' |
+ {'continue,_}), and also to verify that argument in the
+ gen_server:enter_loop/3,4,5 API function.
+
+
+ OTP-17977 Application(s): stdlib
+ Related Id(s): GH-5606, PR-5766
+
+ *** HIGHLIGHT ***
+
+ The functions uniq/1 and uniq/2 for removing duplicates
+ have been added to the lists module.
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ OTP-17991 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The function filename:safe_relative_path/1, which has
+ been deprecated since OTP 25, has been removed. Use
+ filelib:safe_relative_path/2 instead.
+
+
+ OTP-18011 Application(s): stdlib
+
+ Two ancient well-known PRNG:s have been added to the
+ rand module: mcg35 and lcg35. These are intended for
+ applications that need really fast pseudo-random
+ numbers and are not sensitive to lesser quality ones.
+
+ Two internal functions for the exsp generator have also
+ been exported so they can be used outside the rand
+ plug-in framework to shave off some overhead.
+
+ The internal splitmix64 generator has also been
+ exported which can be useful for seeding other kinds of
+ PRNG:s than its own.
+
+
+ Full runtime dependencies of stdlib-4.0: compiler-5.0, crypto-4.5,
+ erts-12.0, kernel-8.4, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.0 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for selectable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (ordinary and +term) to erlc
+ as well as with directives in the file. Similar options
+ can be used to erl for enabling/disabling features
+ allowed at runtime. The new maybe expression (EEP-49)
+ is fully supported as the feature maybe_expr.
+
+
+ Full runtime dependencies of syntax_tools-3.0: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ Full runtime dependencies of tools-3.5.3: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.2 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17950 Application(s): wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added aux1Down and aux2Down fields to the wxMouseState
+ record. Since one record have been changed a
+ recompilation of user code might be required.
+
+
+ OTP-18008 Application(s): wx
+ Related Id(s): PR-5816
+
+ Add mac specific menubar functions.
+
+
+ Full runtime dependencies of wx-2.2: erts-12.0, kernel-8.0,
+ stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.29 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17935 Application(s): xmerl
+ Related Id(s): PR-5590
+
+ Fixed misspellings in both documentation, comments and
+ code (internal data structures).
+
+
+ Full runtime dependencies of xmerl-1.3.29: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0.1.README.txt b/release-notes/OTP-25.0.1.README.txt
new file mode 100644
index 0000000..6ff8957
--- /dev/null
+++ b/release-notes/OTP-25.0.1.README.txt
@@ -0,0 +1,317 @@
+Patch Package: OTP 25.0.1
+Git Tag: OTP-25.0.1
+Date: 2022-06-09
+Trouble Report Id: OTP-18010, OTP-18046, OTP-18087, OTP-18094,
+ OTP-18100, OTP-18105, OTP-18106, OTP-18110,
+ OTP-18112, OTP-18120, OTP-18122, OTP-18123,
+ OTP-18124, OTP-18128, OTP-18129, OTP-18132,
+ OTP-18136
+Seq num: ERIERL-811, GH-5950, GH-5961, GH-5985,
+ GH-5994, GH-6000, GH-6015
+System: OTP
+Release: 25
+Application: crypto-5.1.1, dialyzer-5.0.1, erts-13.0.1,
+ kernel-8.4.1, mnesia-4.21.1, ssh-4.14.1,
+ ssl-10.8.1, stdlib-4.0.1
+Predecessor: OTP 25.0
+
+ Check out the git tag OTP-25.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.1.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18046 Application(s): crypto
+
+ Note in the documentation that MODP (rfc3526) groups
+ and OpenSSL 3.0 can give an error if a call to
+ crypto:generate_key/2 specifies a key length, and that
+ length is to small.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18010 Application(s): crypto
+
+ The cmac now uses only the 3.0 API
+
+
+ OTP-18132 Application(s): crypto
+
+ Documentation is now updated with which OpenSSL
+ cryptolib versions that OTP currently is tested.
+
+
+ Full runtime dependencies of crypto-5.1.1: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-5.0.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18120 Application(s): dialyzer
+
+ Fixed the documentation for the missing_return and
+ extra_return options.
+
+
+ Full runtime dependencies of dialyzer-5.0.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.0.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.0.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.4.1 (first satisfied in OTP 25.0.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18105 Application(s): erts
+ Related Id(s): OTP-16982, PR-6003
+
+ A spawn_reply signal from a remote node could be
+ delayed and be delivered after other signals from the
+ newly spawned process.
+
+ When this bug triggered, the connection to the node
+ where the process was spawned sometimes could be taken
+ down due to the bug. The following error message would
+ then be logged if this happened: Missing 'spawn_reply'
+ signal from the node <RemoteNode> detected by <Pid> on
+ the node <LocalNode>. The node <RemoteNode> probably
+ suffers from the bug with ticket id OTP-17737.
+
+ This bug only affected processes which had enabled
+ off_heap message_queue_data and parallel reception of
+ signals had been automatically enabled.
+
+ This bug was introduced in OTP 25.0, ERTS version 13.0.
+
+
+ OTP-18106 Application(s): erts
+ Related Id(s): PR-5992
+
+ Fixed type spec of erlang:system_info(dist_ctrl).
+
+
+ OTP-18123 Application(s): erts
+ Related Id(s): GH-5994
+
+ The zlib built in to the runtime system has been
+ updated to version 1.2.12. (Note that on most
+ platforms, the platform's own zlib is used.)
+
+
+ OTP-18124 Application(s): erts, kernel
+ Related Id(s): OTP-17558, PR-6032
+
+ The erlang:is_alive() BIF could return true before
+ configured distribution service was available. This bug
+ was introduced in OTP 25.0 ERTS version 13.0.
+
+ The erlang:monitor_node() and erlang:monitor() BIFs
+ could erroneously fail even though configured
+ distribution service was available. This occurred if
+ these BIFs were called after the distribution had been
+ started using dynamic node name assignment but before
+ the name had been assigned.
+
+
+ Full runtime dependencies of erts-13.0.1: kernel-8.4.1, sasl-3.3,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.4.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-13.0.1 (first satisfied in OTP 25.0.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18112 Application(s): kernel
+ Related Id(s): ERIERL-811
+
+ The DNS resolver inet_res has been fixed to ignore
+ trailing dot difference in the request domain between
+ the sent request and the received response, when
+ validating a response.
+
+
+ OTP-18122 Application(s): kernel
+ Related Id(s): GH-6015, PR-6020
+
+ A bug in inet_res has been fixed where a missing
+ internal {ok,_} wrapper caused inet_res:resolve/* to
+ return a calculated host name instead of an `{ok,Msg}
+ tuple, when resolving an IP address or a host name that
+ is an IP address string.
+
+
+ OTP-18124 Application(s): erts, kernel
+ Related Id(s): OTP-17558, PR-6032
+
+ The erlang:is_alive() BIF could return true before
+ configured distribution service was available. This bug
+ was introduced in OTP 25.0 ERTS version 13.0.
+
+ The erlang:monitor_node() and erlang:monitor() BIFs
+ could erroneously fail even though configured
+ distribution service was available. This occurred if
+ these BIFs were called after the distribution had been
+ started using dynamic node name assignment but before
+ the name had been assigned.
+
+
+ OTP-18136 Application(s): kernel
+
+ Added the missing mandatory address/0 callback in the
+ gen_tcp_dist example.
+
+
+ Full runtime dependencies of kernel-8.4.1: crypto-5.0, erts-13.0.1,
+ sasl-3.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.21.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18128 Application(s): mnesia
+ Related Id(s): PR-6013
+
+ Fixed add_table_copy which could leave a table lock if
+ the receiving node went down during the operation.
+
+
+ Full runtime dependencies of mnesia-4.21.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.14.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.14.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18094 Application(s): ssh
+
+ Binaries can be limited in logs with the parameter
+ max_log_item_len. The default value is 500 bytes.
+
+
+ Full runtime dependencies of ssh-4.14.1: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.8.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18087 Application(s): ssl
+ Related Id(s): GH-5961
+
+ When a TLS-1.3 enabled client tried to talk to a
+ TLS-1.2 server that coalesces TLS-1.2 handshake message
+ over one TLS record, the connection could fail due to
+ some message being handled in the wrong state, this has
+ been fixed.
+
+
+ OTP-18100 Application(s): ssl
+ Related Id(s): GH-5985
+
+ Correctly handles supported protocol version change
+ from default to something else by sni_fun supplied to
+ ssl:handshake/[2,3] together with a TCP-socket (so
+ called upgrade).
+
+
+ OTP-18129 Application(s): ssl
+ Related Id(s): GH-5950
+
+ Also, TLS-1.3 should respond with a protocol version
+ alert if previous versions, that are supported but not
+ configured, are attempted.
+
+
+ Full runtime dependencies of ssl-10.8.1: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-4.0.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18110 Application(s): stdlib
+ Related Id(s): GH-6000
+
+ In the initial release of Erlang/OTP 25, the expression
+ bound to the _ pseudo-field in a record initialization
+ would always be evaluated once, even if all other
+ fields in the record were explicitly initialized. That
+ would break the use case of binding the expression
+ error(...) to _ in order to get an exception if not all
+ fields were initialized.
+
+ The behavior of binding to _ has been reverted to the
+ pre-OTP 25 behavior, that is, to not evaluate the
+ expression if all fields have been bound to explicit
+ values.
+
+
+ Full runtime dependencies of stdlib-4.0.1: compiler-5.0, crypto-4.5,
+ erts-12.0, kernel-8.4, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0.2.README.txt b/release-notes/OTP-25.0.2.README.txt
new file mode 100644
index 0000000..16a6f32
--- /dev/null
+++ b/release-notes/OTP-25.0.2.README.txt
@@ -0,0 +1,68 @@
+Patch Package: OTP 25.0.2
+Git Tag: OTP-25.0.2
+Date: 2022-06-21
+Trouble Report Id: OTP-18143, OTP-18145
+Seq num:
+System: OTP
+Release: 25
+Application: erts-13.0.2, ssl-10.8.2
+Predecessor: OTP 25.0.1
+
+ Check out the git tag OTP-25.0.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-13.0.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.0.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.4.1 (first satisfied in OTP 25.0.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18143 Application(s): erts
+
+ On computers with the ARM64 (AArch64) architecture
+ (such as Apple Silicon Macs) a rem expression followed
+ by a div expression with the same operands could
+ evaluate to the wrong result if the result of the rem
+ expression was unused.
+
+
+ Full runtime dependencies of erts-13.0.2: kernel-8.4.1, sasl-3.3,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.8.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18145 Application(s): ssl
+
+ Improved handling of unexpected messages during the
+ handshake, taking the right action for unexpected
+ messages.
+
+
+ Full runtime dependencies of ssl-10.8.2: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0.3.README.txt b/release-notes/OTP-25.0.3.README.txt
new file mode 100644
index 0000000..84e69de
--- /dev/null
+++ b/release-notes/OTP-25.0.3.README.txt
@@ -0,0 +1,157 @@
+Patch Package: OTP 25.0.3
+Git Tag: OTP-25.0.3
+Date: 2022-07-15
+Trouble Report Id: OTP-18164, OTP-18169, OTP-18170, OTP-18173,
+ OTP-18175, OTP-18177
+Seq num:
+System: OTP
+Release: 25
+Application: erts-13.0.3, ssl-10.8.3
+Predecessor: OTP 25.0.2
+
+ Check out the git tag OTP-25.0.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-13.0.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.0.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.4.1 (first satisfied in OTP 25.0.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18164 Application(s): erts
+ Related Id(s): PR-6114
+
+ Distributed exit signals could be lost under the
+ following conditions:
+
+ -- An exit signal from a parent process to a child
+ process was lost if:
+
+ --- the parent process terminated before the spawn
+ request that created the child had completed,
+
+ --- the spawn request set up a link between parent and
+ child
+
+ --- the spawn request was distributed, and
+
+ --- the exit reason was larger than one machine word.
+
+ -- Loss of a connection over which a not yet completed
+ spawn request was ongoing could cause loss of exit
+ signals. Such loss of exit signals was very rare.
+ Besides the above described connection loss also the
+ following conditions had to be satisfied:
+
+ --- The spawn request that was interrupted by the
+ connection loss also had to set up a link between the
+ parent process and the child process.
+
+ --- The parent process that issued the spawn request
+ also had to be terminating while the spawn request was
+ interrupted by the connection loss.
+
+ --- The same parent process also had to have made other
+ spawn requests to other nodes than to the node to which
+ the connection was lost.
+
+ --- These spawn requests to the other nodes also had to
+ set up links.
+
+ --- These spawn requests to the other nodes also had to
+ be not yet completed at the time of the connection
+ loss. That is, the spawn reply from the child process
+ had not yet reached the parent process.
+
+ If all the conditions above were met, exit signals to
+ the children spawned due to the above described spawn
+ requests to other nodes *could* be lost.
+
+ The above bug also caused a significant memory leak
+ when it was triggered since the destruction of the
+ parent process never completed.
+
+
+ OTP-18169 Application(s): erts
+ Related Id(s): PR-6134
+
+ A race could cause process_info(Pid, message_queue_len)
+ on other processes to return invalid results.
+
+
+ OTP-18170 Application(s): erts
+ Related Id(s): PR-6135
+
+ Fixed reduction counting for handling process system
+ tasks.
+
+
+ OTP-18175 Application(s): erts
+ Related Id(s): PR-6142
+
+ Priority elevation of terminating processes did not
+ work which could cause execution of such processes to
+ be delayed.
+
+
+ OTP-18177 Application(s): erts
+ Related Id(s): PR-6150
+
+ An unlink operation made by a process that terminated
+ before the unlink operation completed, i.e., before it
+ had received an unlink-ack signal from the linked
+ process, caused an exit signal to erroneously be sent
+ from the terminating process to the process being
+ unlinked. This exit signal would most often be ignored
+ by the receiver, but if the receiver of the exit signal
+ concurrently set up a new link, it could receive the
+ exit signal with the actual exit reason of the
+ terminating process instead of a noproc exit reason. It
+ is however very hard to detect that this has happened
+ and has no obvious negative consequences, so it should
+ be considered harmless.
+
+ A distributed unlink-ack signal received by a
+ terminating process was also not properly removed which
+ could cause a minor memory leak.
+
+
+ Full runtime dependencies of erts-13.0.3: kernel-8.4.1, sasl-3.3,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-10.8.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18173 Application(s): ssl
+
+ The link to crypto:engine_load refered the function
+ with wrong arity.
+
+
+ Full runtime dependencies of ssl-10.8.3: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0.4.README.txt b/release-notes/OTP-25.0.4.README.txt
new file mode 100644
index 0000000..9ec237c
--- /dev/null
+++ b/release-notes/OTP-25.0.4.README.txt
@@ -0,0 +1,84 @@
+Patch Package: OTP 25.0.4
+Git Tag: OTP-25.0.4
+Date: 2022-08-18
+Trouble Report Id: OTP-18190, OTP-18197, OTP-18198
+Seq num: GH-6129, GH-6165, GH-6185
+System: OTP
+Release: 25
+Application: erts-13.0.4, kernel-8.4.2
+Predecessor: OTP 25.0.3
+
+ Check out the git tag OTP-25.0.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-13.0.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.0.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- kernel-8.4.1 (first satisfied in OTP 25.0.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18190 Application(s): erts
+ Related Id(s): GH-6185, PR-6209
+
+ The monitor/3 BIF did not apply options to the created
+ monitor if the target process or port did not exist.
+ That is, the corresponding down message would get a
+ `DOWN` tag even if a custom tag had been set, and the
+ returned reference was not an alias even if the alias
+ option had been passed.
+
+
+ OTP-18197 Application(s): erts
+ Related Id(s): GH-6165, PR-6213
+
+ The erlang:monotonic_time/1, erlang:system_time/1,
+ erlang:time_offset/1, and os:system_time/1 BIFs
+ erroneously failed when passed the argument native.
+
+
+ Full runtime dependencies of erts-13.0.4: kernel-8.4.1, sasl-3.3,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.4.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-13.0.1 (first satisfied in OTP 25.0.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18198 Application(s): kernel
+ Related Id(s): GH-6129, PR-6216
+
+ A call to net_kernel:setopts(new, Opts) at the same
+ time as a connection was being set up could cause a
+ deadlock between the net_kernel process and the process
+ setting up the connection.
+
+
+ Full runtime dependencies of kernel-8.4.2: crypto-5.0, erts-13.0.1,
+ sasl-3.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.0.README.txt b/release-notes/OTP-25.0.README.txt
new file mode 100644
index 0000000..3c6bc4d
--- /dev/null
+++ b/release-notes/OTP-25.0.README.txt
@@ -0,0 +1,3182 @@
+Inital Release: OTP 25.0
+Git Tag: OTP-25.0
+Date: 2022-05-18
+Trouble Report Id: OTP-15991, OTP-15993, OTP-16464, OTP-16607,
+ OTP-16702, OTP-16852, OTP-16982, OTP-17119,
+ OTP-17151, OTP-17224, OTP-17304, OTP-17318,
+ OTP-17323, OTP-17351, OTP-17370, OTP-17414,
+ OTP-17447, OTP-17471, OTP-17479, OTP-17480,
+ OTP-17481, OTP-17504, OTP-17518, OTP-17523,
+ OTP-17524, OTP-17544, OTP-17550, OTP-17551,
+ OTP-17554, OTP-17555, OTP-17556, OTP-17558,
+ OTP-17561, OTP-17562, OTP-17566, OTP-17569,
+ OTP-17589, OTP-17592, OTP-17608, OTP-17612,
+ OTP-17617, OTP-17627, OTP-17630, OTP-17636,
+ OTP-17644, OTP-17654, OTP-17660, OTP-17661,
+ OTP-17667, OTP-17669, OTP-17676, OTP-17681,
+ OTP-17682, OTP-17683, OTP-17684, OTP-17685,
+ OTP-17705, OTP-17710, OTP-17717, OTP-17720,
+ OTP-17728, OTP-17729, OTP-17733, OTP-17752,
+ OTP-17753, OTP-17755, OTP-17758, OTP-17762,
+ OTP-17772, OTP-17778, OTP-17779, OTP-17784,
+ OTP-17798, OTP-17802, OTP-17810, OTP-17819,
+ OTP-17820, OTP-17821, OTP-17824, OTP-17826,
+ OTP-17832, OTP-17836, OTP-17841, OTP-17842,
+ OTP-17846, OTP-17855, OTP-17858, OTP-17860,
+ OTP-17866, OTP-17869, OTP-17870, OTP-17878,
+ OTP-17881, OTP-17882, OTP-17884, OTP-17885,
+ OTP-17889, OTP-17890, OTP-17892, OTP-17894,
+ OTP-17897, OTP-17899, OTP-17901, OTP-17908,
+ OTP-17909, OTP-17910, OTP-17911, OTP-17915,
+ OTP-17920, OTP-17921, OTP-17923, OTP-17925,
+ OTP-17927, OTP-17930, OTP-17935, OTP-17939,
+ OTP-17945, OTP-17950, OTP-17951, OTP-17953,
+ OTP-17958, OTP-17961, OTP-17964, OTP-17965,
+ OTP-17968, OTP-17969, OTP-17974, OTP-17976,
+ OTP-17977, OTP-17980, OTP-17984, OTP-17985,
+ OTP-17986, OTP-17988, OTP-17990, OTP-17991,
+ OTP-17996, OTP-17997, OTP-17999, OTP-18000,
+ OTP-18001, OTP-18003, OTP-18006, OTP-18008,
+ OTP-18009, OTP-18011, OTP-18012, OTP-18014,
+ OTP-18015, OTP-18020, OTP-18033, OTP-18034,
+ OTP-18035, OTP-18036, OTP-18038, OTP-18045,
+ OTP-18047, OTP-18063, OTP-18067, OTP-18068,
+ OTP-18070, OTP-18079, OTP-18083, OTP-18084,
+ OTP-18085, OTP-18086, OTP-18087, OTP-18088,
+ OTP-18092
+Seq num: ERIERL-590, ERIERL-663, ERIERL-728,
+ ERIERL-760, ERIERL-792, ERIERL-798, ERL-1347,
+ GH-2375, GH-2690, GH-4143, GH-4492, GH-4622,
+ GH-4673, GH-4759, GH-4784, GH-4819, GH-4853,
+ GH-4915, GH-4965, GH-4968, GH-4971, GH-5016,
+ GH-5071, GH-5093, GH-5094, GH-5140, GH-5204,
+ GH-5214, GH-5276, GH-5297, GH-5368, GH-5376,
+ GH-5379, GH-5402, GH-5403, GH-5463, GH-5513,
+ GH-5606, GH-5617, GH-5655, GH-5683, GH-5728,
+ GH-5760, GH-5767, GH-5780, GH-5782, GH-5801,
+ GH-5828, GH-5903, GH-5961
+System: OTP
+Release: 25
+Application: asn1-5.0.19, common_test-1.23, compiler-8.2,
+ crypto-5.1, debugger-5.3, dialyzer-5.0,
+ diameter-2.2.6, edoc-1.2, erl_docgen-1.3,
+ erl_interface-5.3, erts-13.0, eunit-2.7.1,
+ inets-8.0, jinterface-1.13, kernel-8.4,
+ megaco-4.4, mnesia-4.21, observer-2.12,
+ odbc-2.14, parsetools-2.4, public_key-1.13,
+ runtime_tools-1.19, sasl-4.2, snmp-5.13,
+ ssh-4.14, ssl-10.8, stdlib-4.0,
+ syntax_tools-3.0, tools-3.5.3, wx-2.2,
+ xmerl-1.3.29
+Predecessor: OTP
+
+ Check out the git tag OTP-25.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-15993 Application(s): ssl
+ Related Id(s): GH-4143
+
+ With this change, it is possible to provide several
+ certificates. Most appropriate will be selected based
+ on negotiated properties.
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ The maybe ... end construction proposed in EEP-49 has
+ been implemented. It can simplify complex code where
+ otherwise deeply nested cases would have to be used.
+
+ To enable maybe, give the option -enable-feature
+ maybe_expr to erlc or add -feature(maybe_expr, enable).
+ inside the module.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17798 Application(s): public_key
+ Related Id(s): GH-5760
+
+ Added functions to retrieve OS provided CA-certs.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17953 Application(s): stdlib
+ Related Id(s): PR-5621
+
+ Added filelib:ensure_path/1 that ensures that all
+ directories for the given path exists (unlike
+ filelib:ensure_dir/1, which will not create the last
+ segment of the path).
+
+
+ OTP-17969 Application(s): stdlib
+ Related Id(s): PR-5588
+
+ The functions groups_from_list/2 and groups_from_list/3
+ have been added to the maps module.
+
+
+ OTP-17977 Application(s): stdlib
+ Related Id(s): GH-5606, PR-5766
+
+ The functions uniq/1 and uniq/2 for removing duplicates
+ have been added to the lists module.
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ Added support for configurable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (-enable-feature Feature,
+ -disable-feature Feature and +{feature, Feature,
+ enable|disable}) to erlc as well as with directives
+ (-feature(Feature, enable|disable).) in the file.
+ Similar options can be used to erl for
+ enabling/disabling features allowed at runtime. The new
+ maybe expression (EEP-49) is fully supported as the
+ feature maybe_expr. The features support is documented
+ in the reference manual.
+
+
+ OTP-18011 Application(s): stdlib
+
+ A new PRNG have been added to the rand module: mwc59
+ which has been developed in collaboration with
+ Sebastiano Vigna. It is intended for applications that
+ need really fast pseudo-random numbers, and it comes
+ with two output value scramblers, one fast and one
+ thorough.
+
+ Two internal functions for the exsp generator have also
+ been exported so they can be used outside the rand
+ plug-in framework to shave off some overhead.
+
+ The internal splitmix64 generator has also been
+ exported which can be useful for seeding other kinds of
+ PRNG:s than its own.
+
+
+ OTP-18086 Application(s): crypto
+ Related Id(s): OTP-16282, OTP-16643, OTP-16644,
+ OTP-17701, OTP-17702, OTP-17704
+
+ The cryptolib API deprecated in OpenSSL 3.0 is now no
+ longer used with a few exceptions listed below.
+
+ Although OpenSSL 3.0.x itself is stable, its usage in
+ OTP/crypto should still not be considered suitable for
+ production code.
+
+ The use of ENGINEs is still disabled by default when
+ using 3.0.
+
+ Deprecated functions are still called in the
+ otp_test_engine.c (only used in tests), in mac.c
+ (EVP_PKEY_new_CMAC_key) and five function calls in ec.c
+ (EVP_PKEY_assign, EC_KEY_get_conv_form,
+ EVP_PKEY_get1_EC_KEY, EC_KEY_get0_group and
+ EC_KEY_set_public_key).
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17866 Application(s): inets
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ OTP-17889 Application(s): inets
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17920 Application(s): ssh
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ OTP-17921 Application(s): public_key
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ OTP-17950 Application(s): wx
+
+ Added aux1Down and aux2Down fields to the wxMouseState
+ record. Since one record have been changed a
+ recompilation of user code might be required.
+
+
+ OTP-17965 Application(s): crypto
+
+ The information in error messages are increased.
+
+ Previously the error was signaled with en error class
+ exception badarg, notsup or error, and also in some
+ more ways like an other exception or a return value in
+ a non-standardized format.
+
+ Now it is an error-class exception
+ {notsup|badarg|error, InfoFromCfile,
+ Description::string()}.
+
+ The InfoFromCfile is a term with name and line number
+ of the C-file where the error was found. This is
+ primarily intended for a crypto maintainer or an
+ advanced user to find the cause of complicated errors -
+ maybe in crypto itself. The contents of that term might
+ be changed in the future.
+
+ The Description is a clear text string that describes
+ the error. In case of badarg and notsup the intention
+ is that it should help the user to find the cause ("Bad
+ key size" as an example). Specially for some error that
+ are unlikely, the string may not be possible to
+ understand without deep knowledge of the underlying
+ cryptolib. Such messages are intended for a crypto
+ maintainer.
+
+ The first element on call stack (the S in try ... catch
+ error:E:S .... end) gives more information like the
+ actual argument list in the call of crypto and the
+ argument number (if possible) in the call to the NIF
+ inside crypto.
+
+ The functions in crypto affected by this change are:
+
+ sign/4, sign/5, verify/5, verify/6,
+
+ generate_key/2, generate_key/3, compute_key/4,
+
+ hash/2, hash/4, hash_init/1, hash_update/4,
+ hash_final/1,
+
+ mac/3,4, mac_init/3, mac_update/2, mac_final/2,
+
+ pbkdf2_hmac/5,
+
+ public_encrypt/4, private_decrypt/4, private_encrypt/4,
+ public_decrypt/4
+
+ This schema was introduced earlier in:
+
+ crypto_init/3, crypto_init/4, crypto_update/2,
+ crypto_final/1, crypto_get_data/1,
+
+ crypto_one_time/4, crypto_one_time/5,
+ crypto_one_time_aead/6, crypto_one_time_aead/7
+
+
+ OTP-17991 Application(s): stdlib
+
+ The function filename:safe_relative_path/1, which has
+ been deprecated since OTP 25, has been removed. Use
+ filelib:safe_relative_path/2 instead.
+
+
+ OTP-18009 Application(s): stdlib
+ Related Id(s): PR-5785
+
+ Fixed string:next_grapheme/1 to return an empty binary
+ in the tail for binary input for the last grapheme
+ cluster.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-25.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ OTP-17710 Application(s): otp
+ Related Id(s): PR-5597
+
+ *** HIGHLIGHT ***
+
+ A new DEVELOPMENT how-to guide has been added that
+ describes how to build and test Erlang/OTP when fixing
+ bugs or developing new functionality.
+
+ The makefile system has been extended to make it easier
+ to run tests at different granulates directly from the
+ command line. This new functionality is described in
+ the development how-to.
+
+ Using the extended makefile system, testing has been
+ added to the Github actions run for each opened PR so
+ that more bugs are caught earlier when bug fixes and
+ new features are proposed.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.19 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17980 Application(s): asn1
+
+ The atom maybe has been quoted in the source code.
+
+
+ Full runtime dependencies of asn1-5.0.19: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.23 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17881 Application(s): common_test
+ Related Id(s): PR-5581
+
+ Fix bug when running parallel test cases and together
+ with one or more ct hooks that would cause the hook
+ lock process to crash and produce printouts in the ct
+ logs.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17676 Application(s): common_test
+ Related Id(s): PR-5021
+
+ Remove unused and undocumented tracer node
+ functionality.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17882 Application(s): common_test
+ Related Id(s): PR-5581
+
+ The cth_surefire ct hook has been updated to include
+ the file and line number of the executed test case in
+ the xml output.
+
+ The performance of the hook has also been improved
+ greatly for test runs with many test cases.
+
+
+ Full runtime dependencies of common_test-1.23: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17810 Application(s): compiler
+ Related Id(s): GH-5379
+
+ A subtle bug regarding variable scoping has been
+ corrected. Consider this example:
+
+ (A=1) + fun() -> A = 2() end
+
+ In the shell, the expression correctly evaluates to 3.
+ In compiled code, it raised a {badmatch, 2} exception.
+
+
+ OTP-17820 Application(s): compiler
+
+ Fixed a rare bug that would crash the compiler during
+ type optimization.
+
+
+ OTP-17860 Application(s): compiler
+ Related Id(s): GH-5513, OTP-17226
+
+ Starting in OTP 24, when a fun was created and
+ immediately used, it would be inlined. An unintended
+ consequence of the inlining was that what would be a
+ function_clause exception without the inlining would
+ now be a rather confusing case_clause exception. This
+ has been corrected, so that function_clause exceptions
+ remain function_clause exceptions in inlined code.
+
+
+ OTP-18083 Application(s): compiler, stdlib
+
+ If a default record field initialization (_ = Expr) was
+ used even though all records fields were explicitly
+ initialized, Expr would not be evaluated. That would
+ not be a problem, except when Expr would bind a
+ variable subsequently used, in which case the compiler
+ would crash.
+
+ As an example, if record #r{} is defined to have only
+ one field a, the following code would crash the
+ compiler:
+
+ #r{a=[],_=V=42}, V
+
+ To fix that problem, the compiler will make sure that
+ Expr is always evaluated at least once. The compiler
+ will now rewrite the example to essentially:
+
+ V=42, #r{a=[]}, V
+
+
+ --- Improvements and New Features ---
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ *** HIGHLIGHT ***
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ *** HIGHLIGHT ***
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17705 Application(s): compiler
+ Related Id(s): PR-5411
+
+ *** HIGHLIGHT ***
+
+ The maybe ... end construction proposed in EEP-49 has
+ been implemented. It can simplify complex code where
+ otherwise deeply nested cases would have to be used.
+
+ To enable maybe, give the option -enable-feature
+ maybe_expr to erlc or add -feature(maybe_expr, enable).
+ inside the module.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17842 Application(s): compiler
+
+ Improved optimization of try/catch expressions.
+
+
+ OTP-17885 Application(s): compiler
+ Related Id(s): GH-5140
+
+ The beam_trim pass of the compiler could be extremely
+ slow for huge straight-line functions. It will now
+ compile such functions much faster (down to seconds
+ from minutes for some huge functions).
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for configurable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (-enable-feature Feature,
+ -disable-feature Feature and +{feature, Feature,
+ enable|disable}) to erlc as well as with directives
+ (-feature(Feature, enable|disable).) in the file.
+ Similar options can be used to erl for
+ enabling/disabling features allowed at runtime. The new
+ maybe expression (EEP-49) is fully supported as the
+ feature maybe_expr. The features support is documented
+ in the reference manual.
+
+
+ Full runtime dependencies of compiler-8.2: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17858 Application(s): crypto
+ Related Id(s): ERIERL-728
+
+ Fix timing bug in ensure_engine_loaded
+
+ When two ensure_engine_loaded() calls were done in
+ parallel there was a possibility that a crypto lib
+ function was called by both instead of just one of them
+ which resulted in an error. This is solved by moving
+ the implementation from erlang down into a NIF function
+ that uses a mutex to protect the sensitive part.
+
+
+ OTP-17984 Application(s): crypto
+
+ Remove faulty types run_time_error() and
+ descriptive_error().
+
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17471 Application(s): crypto
+ Related Id(s): PR-4750
+
+ Add crypto:hash_equals/2
+
+
+ OTP-17561 Application(s): crypto
+
+ Add /opt/homebrew/opt/openssl to standard locations to
+ search for OpenSSL cryptolib.
+
+
+ OTP-17870 Application(s): crypto
+
+ crypto_dyn_iv_init/3 and crypto_dyn_iv_update/3 are
+ deprecated.
+
+
+ OTP-17965 Application(s): crypto
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The information in error messages are increased.
+
+ Previously the error was signaled with en error class
+ exception badarg, notsup or error, and also in some
+ more ways like an other exception or a return value in
+ a non-standardized format.
+
+ Now it is an error-class exception
+ {notsup|badarg|error, InfoFromCfile,
+ Description::string()}.
+
+ The InfoFromCfile is a term with name and line number
+ of the C-file where the error was found. This is
+ primarily intended for a crypto maintainer or an
+ advanced user to find the cause of complicated errors -
+ maybe in crypto itself. The contents of that term might
+ be changed in the future.
+
+ The Description is a clear text string that describes
+ the error. In case of badarg and notsup the intention
+ is that it should help the user to find the cause ("Bad
+ key size" as an example). Specially for some error that
+ are unlikely, the string may not be possible to
+ understand without deep knowledge of the underlying
+ cryptolib. Such messages are intended for a crypto
+ maintainer.
+
+ The first element on call stack (the S in try ... catch
+ error:E:S .... end) gives more information like the
+ actual argument list in the call of crypto and the
+ argument number (if possible) in the call to the NIF
+ inside crypto.
+
+ The functions in crypto affected by this change are:
+
+ sign/4, sign/5, verify/5, verify/6,
+
+ generate_key/2, generate_key/3, compute_key/4,
+
+ hash/2, hash/4, hash_init/1, hash_update/4,
+ hash_final/1,
+
+ mac/3,4, mac_init/3, mac_update/2, mac_final/2,
+
+ pbkdf2_hmac/5,
+
+ public_encrypt/4, private_decrypt/4, private_encrypt/4,
+ public_decrypt/4
+
+ This schema was introduced earlier in:
+
+ crypto_init/3, crypto_init/4, crypto_update/2,
+ crypto_final/1, crypto_get_data/1,
+
+ crypto_one_time/4, crypto_one_time/5,
+ crypto_one_time_aead/6, crypto_one_time_aead/7
+
+
+ OTP-18067 Application(s): crypto
+ Related Id(s): PR-5866
+
+ Add Output Feedback mode (OFB) support for AES
+ encryption / decryption for key sizes of 128, 192 and
+ 256 bits.
+
+
+ OTP-18086 Application(s): crypto
+ Related Id(s): OTP-16282, OTP-16643, OTP-16644,
+ OTP-17701, OTP-17702, OTP-17704
+
+ *** HIGHLIGHT ***
+
+ The cryptolib API deprecated in OpenSSL 3.0 is now no
+ longer used with a few exceptions listed below.
+
+ Although OpenSSL 3.0.x itself is stable, its usage in
+ OTP/crypto should still not be considered suitable for
+ production code.
+
+ The use of ENGINEs is still disabled by default when
+ using 3.0.
+
+ Deprecated functions are still called in the
+ otp_test_engine.c (only used in tests), in mac.c
+ (EVP_PKEY_new_CMAC_key) and five function calls in ec.c
+ (EVP_PKEY_assign, EC_KEY_get_conv_form,
+ EVP_PKEY_get1_EC_KEY, EC_KEY_get0_group and
+ EC_KEY_set_public_key).
+
+
+ Full runtime dependencies of crypto-5.1: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of debugger-5.3: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17644 Application(s): dialyzer
+ Related Id(s): PR-5223
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed a bug that could cause the type analyzer to enter
+ an infinite loop.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17524 Application(s): dialyzer
+
+ Optimize operations in the erl_types module.
+ Parallelize the Dialyzer pass remote.
+
+
+ OTP-17654 Application(s): dialyzer
+ Related Id(s): GH-5214
+
+ Added the missing_return and extra_return options to
+ raise warnings when specifications differ from inferred
+ types. These are similar to, but not quite as verbose
+ as overspecs and underspecs.
+
+
+ OTP-17819 Application(s): dialyzer
+
+ The race_conditions option has been removed.
+
+
+ OTP-17821 Application(s): dialyzer
+ Related Id(s): GH-5016, OTP-17554, PR-5408
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The default location of the plt has been changed from
+ $HOME to filename:basedir(user_cache,"erlang").
+
+
+ OTP-17826 Application(s): dialyzer
+ Related Id(s): PR-5498
+
+ dialyzer will now honor dependencies inside type
+ declarations. That is, if the declaration of an
+ exported type changes, all modules using said type will
+ be revisited.
+
+
+ OTP-17897 Application(s): dialyzer
+ Related Id(s): PR-5651
+
+ Dialyzer now better understands the types for min/2,
+ max/2, and erlang:raise/3. Because of that, Dialyzer
+ can potentially generate new warnings. In particular,
+ functions that use erlang:raise/3 could now need a spec
+ with a no_return() return type to avoid an unwanted
+ warning.
+
+
+ OTP-17964 Application(s): dialyzer
+ Related Id(s): PR-5660
+
+ The typer_core module has been added to provide an
+ Erlang API for running typer.
+
+
+ OTP-18035 Application(s): dialyzer
+ Related Id(s): PR-5802
+
+ Added the --annotate-in-place option to typer, which
+ can be used to annotate the specs that the tool
+ inferred directly into the source code files.
+
+
+ Full runtime dependencies of dialyzer-5.0: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.2.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17976 Application(s): diameter
+ Related Id(s): GH-5463
+
+ Fix decode of non-IP address types; that is, of values
+ of the derived AVP data format Address whose first two
+ octets specify an address family other than 1 (IP) or 2
+ (IP6). Such values have never been decoded, and were
+ treated as decode errors. They're now decoded to a
+ 2-tuple of the integer() address family and binary()
+ remaining octets, with no family-specific decode. The
+ 2-tuple distinguishes the decode from the 4-tuple and
+ 8-tuple IP address decodes. 2-tuples are also now
+ encoded.
+
+ Note that even currently unassigned address families
+ are decoded: only the reserved values, 0 and 65535, are
+ treated as errors.
+
+
+ Full runtime dependencies of diameter-2.2.6: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17550 Application(s): edoc
+ Related Id(s): GH-5094, PR-5106
+
+ Fix unused types warnings in internal edoc module.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17556 Application(s): edoc
+ Related Id(s): PR-5023
+
+ Add source file to the warning on skipped tags when
+ generating EEP-48 style docs.
+
+
+ OTP-17733 Application(s): edoc
+ Related Id(s): PR-5205
+
+ Fix the doc chunks generators to emit documentation
+ even if there is not module level documentation.
+
+ Fix the doc chunks generators to respect the @hidden
+ and @private tags properly for both modules and
+ functions.
+
+
+ Full runtime dependencies of edoc-1.2: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-2.0, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18084 Application(s): erl_docgen
+ Related Id(s): PR-5948
+
+ Fix types that are not derived from code to display the
+ correct information in EEP-48 style documentation
+ chunks.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17669 Application(s): erl_docgen, otp
+ Related Id(s): PR-5226
+
+ Any exported, but private function or module in
+ Erlang/OTP now generate an EEP-48 style documentation
+ entry with the content set to hidden.
+
+ Before this change, exported but private functions and
+ modules did not have any entry at all.
+
+
+ Full runtime dependencies of erl_docgen-1.3: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.3 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17846 Application(s): erl_interface
+ Related Id(s): PR-5558
+
+ erl_call no longer links against nsl on platforms where
+ gethostbyname is provided by libc.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17802 Application(s): erl_interface
+ Related Id(s): PR-5347
+
+ Changed creation arguments, of function ei_connect_init
+ and friends, from type short to unsigned int for full
+ 32-bit range.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17569 Application(s): erts
+ Related Id(s): PR-4793
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The growth rate of writable binaries has been adjusted
+ to only increase by 20% after 16MB in size. Before this
+ change the size would always double.
+
+ This change may degrade write performance of large
+ binaries.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17758 Application(s): erts
+ Related Id(s): PR-5391
+
+ Fix spelling mistakes in epmd error messages.
+
+
+ OTP-17779 Application(s): erts
+ Related Id(s): GH-5403, PR-5599
+
+ Fix bug where the "newshell" would trigger a newline at
+ the column width of the terminal, even if the next
+ character to be printed was a newline. This would cause
+ the terminal to render two newlines instead of one.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17836 Application(s): erts
+ Related Id(s): PR-5546
+
+ Fix the undocumented --profile_boot option to work
+ again.
+
+
+ OTP-18020 Application(s): erts, kernel
+
+ [socket] Encode of sockaddr has been improved.
+
+
+ OTP-18047 Application(s): erts
+ Related Id(s): PR-5861
+
+ Fix erl_child_setup (the program used by
+ open_port({spawn,...}) and os:cmd/1) to better handle
+ partial reads from the Erlang VM.
+
+
+ OTP-18068 Application(s): erts
+ Related Id(s): GH-5903
+
+ The runtime system would crash when attempting to
+ create more than 33554431 atoms.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-16464 Application(s): erts, kernel
+
+ The net module now works on Windows.
+
+
+ OTP-16702 Application(s): compiler, erts
+
+ *** HIGHLIGHT ***
+
+ To enable more optimizations, BEAM files compiled with
+ OTP 21 and earlier cannot be loaded in OTP 25.
+
+
+ OTP-16852 Application(s): erts
+ Related Id(s): ERL-1347, PR-5195
+
+ Optimize minor garbage collection for processes with
+ large number of binaries, funs and/or external
+ pids/ports/refs. This is a continuation of the
+ optimization (OTP-17602) released in OTP-24.1.
+
+
+ OTP-16982 Application(s): erts
+ Related Id(s): PR-5020
+
+ *** HIGHLIGHT ***
+
+ The signal queue of a process with
+ message_queue_data=off_heap* has been optimized to
+ allow parallel reception of signals from multiple
+ processes.
+
+ This is possible to do as Erlang only guarantees that
+ signals (i.e., message signals and non-message signals)
+ sent from a single process to another process are
+ ordered in send order. However, there are no ordering
+ guarantees for signals sent from different processes to
+ a particular process. Therefore, several processes can
+ send signals in parallel to a specific process without
+ synchronizing with each other. However, such signal
+ sending was previously always serialized as the senders
+ had to acquire the lock for the outer signal queue of
+ the receiving process. This parallel signal sending
+ optimization yields much better scalability for signal
+ sending than what was previously possible, see
+ https://erlang.org/bench/sigq_bench_result.html for
+ benchmark results.
+
+ * Information about how to enable the
+ message_queue_data=off_heap setting can be found in the
+ documentation of the function erlang:process_flag/2.
+
+
+ OTP-17119 Application(s): erts
+ Related Id(s): PR-4869
+
+ *** HIGHLIGHT ***
+
+ The JIT now works for 64-bit ARM processors.
+
+
+ OTP-17151 Application(s): compiler, erts
+ Related Id(s): ERIERL-590, PR-5479
+
+ *** HIGHLIGHT ***
+
+ Added support for the compile attribute -nifs() to
+ empower compiler and loader with information about
+ which functions may be overridden as NIFs by
+ erlang:load_nif/2. It is recommended to use this
+ attribute in all modules that load NIF libraries.
+
+
+ OTP-17224 Application(s): erts, otp
+
+ A test case has been added to the otp_SUITE that test
+ that the dependency versions for OTP's applications are
+ correct. The test case uses xref to check if the used
+ functions are available in the specified dependency
+ versions. The test case depends on the Erlang/OTP
+ team's testing infrastructure and will be skipped if
+ its dependencies are not met.
+
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17504 Application(s): compiler, erts
+ Related Id(s): GH-4971, PR-5281, PR-5752
+
+ *** HIGHLIGHT ***
+
+ When binary construction using the binary syntax fails,
+ the error message printed in the shell and by
+ erl_error:format_exception/3,4 will contain more
+ detailed information about what went wrong.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17555 Application(s): erts
+ Related Id(s): PR-5027
+
+ Make byte_size/1 and binary_part/2/3 callable from
+ match specs (in ETS and tracing).
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17562 Application(s): erts
+ Related Id(s): GH-4492
+
+ A new option called short has been added to the
+ functions erlang:float_to_list and
+ erlang:float_to_binary. This option creates the
+ shortest correctly rounded string representation of the
+ given float that can be converted back to the same
+ float again.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17636 Application(s): erts
+
+ The test case num_bif_SUITE:t_float_to_string
+ previously failed sometimes as it assumed a certain
+ rounding of floats printed with sprintf but the
+ rounding type is platform specific.
+
+
+ OTP-17660 Application(s): erts
+ Related Id(s): PR-5164
+
+ Optimize interpreter to create heap binaries of small
+ match contexts if possible.
+
+ This optimization was already done in the JIT.
+
+
+ OTP-17667 Application(s): erts
+ Related Id(s): PR-5237
+
+ Optimize integer multiplication for x86 JIT
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17683 Application(s): erts
+ Related Id(s): PR-5306
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Distributed spawn operations now require distributed
+ spawn_request() support. Distributed spawn_request()
+ was introduced in OTP 23. That is, distributed spawn
+ operations against Erlang nodes of releases prior to
+ OTP 23 will fail.
+
+
+ OTP-17684 Application(s): compiler, erts
+ Related Id(s): PR-5316, PR-5664
+
+ *** HIGHLIGHT ***
+
+ The Erlang compiler now includes type information in
+ BEAM files, and the JIT can now use that type
+ information to do optimizations such as eliminating or
+ simplifying type tests.
+
+
+ OTP-17685 Application(s): compiler, erts
+
+ Improved the JIT's support for external tools like perf
+ and gdb, allowing them to show line numbers and even
+ the original Erlang source code when that can be found.
+
+ To aid them in finding the source code, the
+ absolute_path compiler option has been added to embed
+ the absolute file path of a module.
+
+
+ OTP-17717 Application(s): erts
+ Related Id(s): PR-5290
+
+ Add [32-bit] to the Erlang shell title row for 32-bit
+ VMs.
+
+
+ OTP-17728 Application(s): erts
+ Related Id(s): PR-5284
+
+ Instructions for how to build the runtime system for
+ iOS/iPadOS can now be found in HOWTO/INSTALL.md.
+
+
+ OTP-17729 Application(s): erts
+ Related Id(s): PR-5477
+
+ Add support for static Elixir NIF modules with
+ non-alphanumeric characters by using new macro
+ STATIC_ERLANG_NIF_LIBNAME.
+
+
+ OTP-17753 Application(s): erts
+ Related Id(s): GH-5297, PR-5305
+
+ Add new function caller_line to for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the line number of the caller into
+ the trace message sent to the trace receiver.
+
+
+ OTP-17762 Application(s): erts
+ Related Id(s): GH-5204, PR-5219
+
+ A new erl command line argument +ssrct has been
+ introduced which will cause the runtime system to skip
+ reading CPU topology information. This reduce start up
+ time especially when the CPU topology is large. Reading
+ of CPU topology information is now also skipped if a
+ user defined CPU topology is set using the +sct command
+ line argument.
+
+
+ OTP-17772 Application(s): erts
+ Related Id(s): GH-4965, PR-5644
+
+ The default time warp mode will change in Erlang/OTP
+ 26. Added a warning about this upcoming potential
+ incompatibility to the documentation.
+
+
+ OTP-17824 Application(s): erts
+
+ The emulator will no longer mark unused memory as
+ discardable (e.g. through madvise(2)), as it caused
+ more problems than it solved.
+
+
+ OTP-17841 Application(s): compiler, erts
+ Related Id(s): PR-5694
+
+ *** HIGHLIGHT ***
+
+ When a record matching or record update fails, a
+ {badrecord,ExpectedRecordTag} exception used to be
+ raised. In this release, the exception has been changed
+ to {badrecord,ActualValue}, where ActualValue is the
+ actual that was found instead of the expected record.
+
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ OTP-17899 Application(s): erts
+ Related Id(s): PR-5524
+
+ Remove version number from the default install path on
+ Windows.
+
+
+ OTP-17927 Application(s): erts
+ Related Id(s): PR-5283
+
+ On Windows apply the limit flag
+ JOB_OBJECT_LIMIT_BREAKAWAY_OK in the Erlang service to
+ be able to start a OS child process with a different
+ session number.
+
+
+ OTP-17945 Application(s): erts
+ Related Id(s): GH-4759, PR-5809
+
+ New erl command line option +IOs. It can be used to
+ disable scheduler thread poll optimization, which has
+ been seen to cause degraded event latency in some use
+ cases.
+
+
+ OTP-17951 Application(s): erts, kernel
+ Related Id(s): PR-5656
+
+ An API for multihomed SCTP connect has been added in
+ the guise of gen_sctp:connectx_init/*
+
+
+ OTP-17968 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').
+
+
+ OTP-17985 Application(s): erts
+ Related Id(s): GH-5728
+
+ A cross compilation issue has been fixed about finding
+ libdlpi during the configure phase.
+
+
+ OTP-17999 Application(s): erts
+ Related Id(s): PR-5768
+
+ process_info/2 now also accepts parent as argument.
+ When passed, the process identifier of the parent
+ process will be returned.
+
+
+ OTP-18006 Application(s): erts
+ Related Id(s): PR-5932
+
+ Add function attributes to erl_nif and erl_driver APis
+ to improve compiler detection of interface misuse.
+
+
+ OTP-18033 Application(s): erts
+ Related Id(s): GH-5376, PR-2926
+
+ The exported type erlang:send_destination/0 has been
+ introduced.
+
+
+ OTP-18036 Application(s): erts
+ Related Id(s): PR-5846
+
+ Building of the C/C++ make dependencies on Windows has
+ been optimized to be a lot faster.
+
+
+ OTP-18038 Application(s): erts
+
+ file:sync/1 will now use the F_BARRIERFSYNC flag when
+ available on Mac OS.
+
+
+ Full runtime dependencies of erts-13.0: kernel-8.3, sasl-3.3,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.7.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17884 Application(s): eunit
+ Related Id(s): GH-5617
+
+ Minor internal improvements.
+
+
+ Full runtime dependencies of eunit-2.7.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17889 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed typo in Reason term returned from
+ httpc_handler:handle_http_body.
+
+ After this change, could_not_establish_ssl_tunnel atom
+ is returned within Reason term.
+
+
+ OTP-18063 Application(s): inets
+ Related Id(s): ERIERL-798
+
+ With this change, inet6fb4 option is documented for
+ inets/httpc. Option can be used when IP family needs to
+ be discovered by a connection attempt.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17866 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ This change removes deprecated functions:
+ http_uri:parse/1, http_uri:parse/2 and
+ http_uri:scheme_defaults/0.
+
+ This change delays until OTP-26 removal of deprecated
+ functions: http_uri:encode/1 and http_uri:decode/1.
+
+ This change marks httpd_util:decode_hex/1 and
+ httpd_util:encode_hex/1 as deprecated.
+
+
+ OTP-17997 Application(s): inets
+ Related Id(s): GH-5782
+
+ After this change, connect_timeout value is re-used
+ when upgrading TCP connection to TLS over a proxy.
+
+
+ OTP-18088 Application(s): inets
+ Related Id(s): GH-5276
+
+ Remove reference to unsupported Apache-like config file
+ from httpd manual.
+
+
+ Full runtime dependencies of inets-8.0: erts-6.0, kernel-6.0,
+ mnesia-4.12, runtime_tools-1.8.14, ssl-9.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.13 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17682 Application(s): erl_interface, erts, jinterface
+ Related Id(s): PR-5347
+
+ Removed use of node creation value zero as a wildcard.
+ Also prevent zero from being used as creation by
+ erl_interface and jinterface nodes.
+
+
+ OTP-17961 Application(s): jinterface
+ Related Id(s): PR-4839
+
+ Add new abstract class OtpGenericTransportFactory to
+ allow implementation of any transport protocol without
+ dependency on epmd.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17323 Application(s): kernel
+
+ The DNS resolver implementation has been rewritten to
+ validate replies more thoroughly, and a bit optimized
+ to create less garbage.
+
+
+ OTP-17447 Application(s): erts, kernel
+ Related Id(s): GH-4819
+
+ The socket option 'reuseaddr' is *no longer* ignored on
+ Windows.
+
+
+ OTP-17551 Application(s): kernel
+ Related Id(s): GH-5071, PR-5075
+
+ Fix bug where using the atoms string or report as the
+ format when calling logger:log(Level, Format, Args) (or
+ any other logging function) would cause a crash or
+ incorrect logging.
+
+
+ OTP-17911 Application(s): kernel
+ Related Id(s): OTP-17843, PR-5611, PR-5687
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As of OTP 25, global will by default prevent
+ overlapping partitions due to network issues by
+ actively disconnecting from nodes that reports that
+ they have lost connections to other nodes. This will
+ cause fully connected partitions to form instead of
+ leaving the network in a state with overlapping
+ partitions.
+
+ Prevention of overlapping partitions can be disabled
+ using the prevent_overlapping_partitions kernel(6)
+ parameter, making global behave like it used to do.
+ This is, however, problematic for all applications
+ expecting a fully connected network to be provided,
+ such as for example mnesia, but also for global itself.
+ A network of overlapping partitions might cause the
+ internal state of global to become inconsistent. Such
+ an inconsistency can remain even after such partitions
+ have been brought together to form a fully connected
+ network again. The effect on other applications that
+ expects that a fully connected network is maintained
+ may vary, but they might misbehave in very subtle hard
+ to detect ways during such a partitioning. Since you
+ might get hard to detect issues without this fix, you
+ are strongly advised not to disable this fix. Also note
+ that this fix has to be enabled on all nodes in the
+ network in order to work properly.
+
+
+ OTP-17958 Application(s): kernel
+ Related Id(s): OTP-17978
+
+ Starting the helper program for name resolving;
+ inet_gethost, has been improved to use an absolute file
+ system path to ensure that the right program is
+ started.
+
+ If the helper program can not be started - the system
+ now halts, to avoid running with a silently broken name
+ resolver.
+
+
+ OTP-17986 Application(s): kernel
+ Related Id(s): PR-5412, PR-5803
+
+ The type specification for inet_res:getbyname/2,3 has
+ been corrected to reflect that it can return peculiar
+ #hostent{} records.
+
+
+ OTP-17990 Application(s): kernel
+ Related Id(s): GH-5801
+
+ code:module_status/1 would always report BEAM files
+ loaded from an archive as modified, and
+ code:modified_modules/0 would always return the name of
+ all modules loaded from archives.
+
+
+ OTP-18001 Application(s): kernel
+ Related Id(s): GH-5780, PR-5829
+
+ In logger fix file handler shutdown delay by using
+ erlang timers instead of the timer module's timers.
+
+
+ OTP-18003 Application(s): kernel
+ Related Id(s): PR-5771
+
+ Fix the meta data in log events generated by logger on
+ failure to not contain the original log event's meta
+ data.
+
+
+ OTP-18015 Application(s): kernel
+ Related Id(s): GH-5828, PR-5845
+
+ Fix logger file backend to re-create the log folder if
+ it has been deleted.
+
+
+ OTP-18020 Application(s): erts, kernel
+
+ [socket] Encode of sockaddr has been improved.
+
+
+ OTP-18070 Application(s): kernel
+ Related Id(s): PR-5885
+
+ Fix put_chars requests to the io server with incomplete
+ unicode data to exit with no_translation error.
+
+
+ --- Improvements and New Features ---
+
+ OTP-16464 Application(s): erts, kernel
+
+ The net module now works on Windows.
+
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ OTP-17318 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-4972
+
+ The following distribution flags are now mandatory:
+ DFLAG_BIT_BINARIES, DFLAG_EXPORT_PTR_TAG,
+ DFLAG_MAP_TAGS, DFLAG_NEW_FLOATS, and DFLAG_FUN_TAGS.
+ This mainly concerns libraries or application that
+ implement the distribution protocol themselves.
+
+
+ OTP-17479 Application(s): kernel
+ Related Id(s): PR-4917
+
+ Fix os:cmd to work on Android OS.
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17558 Application(s): erts, kernel
+ Related Id(s): GH-5402, OTP-17538, PR-5111
+
+ Dynamic node name improvements: erlang:is_alive/0
+ changed to return true for pending dynamic node name
+ and new function net_kernel:get_state/0.
+
+
+ OTP-17589 Application(s): kernel
+ Related Id(s): PR-4926
+
+ The types for callback result types in gen_statem has
+ bee augmented with arity 2 types where it is possible
+ for a callback module to specify the type of the
+ callback data, so the callback module can get type
+ validation of it.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17617 Application(s): kernel
+ Related Id(s): PR-5069
+
+ A net_ticker_spawn_options kernel configuration
+ parameter with which one can set spawn options for the
+ distribution channel ticker processes has been
+ introduced.
+
+
+ OTP-17681 Application(s): kernel
+ Related Id(s): PR-5307
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The most, or at least the most used, rpc operations now
+ require erpc support in order to communicate with other
+ Erlang nodes. erpc was introduced in OTP 23. That is,
+ rpc operations against Erlang nodes of releases prior
+ to OTP 23 will fail.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ *** HIGHLIGHT ***
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17915 Application(s): kernel, stdlib
+ Related Id(s): GH-2375, GH-2690, PR-5751
+
+ Type specifications have been added to the gen_server,
+ and the documentation has been updated to utilize this.
+
+ This surfaced a few type violations that has been
+ corrected in global, logger_olp and rpc.
+
+
+ OTP-17923 Application(s): kernel
+ Related Id(s): PR-5646
+
+ IP address validation functions is_ipv4_address/1,
+ is_ipv6_address/1 and is_ip_address/1 have been added
+ to the module inet in Kernel.
+
+
+ OTP-17951 Application(s): erts, kernel
+ Related Id(s): PR-5656
+
+ An API for multihomed SCTP connect has been added in
+ the guise of gen_sctp:connectx_init/*
+
+
+ OTP-17968 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ [socket] Add encoding of the field hatype of the type
+ sockaddr_ll (family 'packet').
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for configurable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (-enable-feature Feature,
+ -disable-feature Feature and +{feature, Feature,
+ enable|disable}) to erlc as well as with directives
+ (-feature(Feature, enable|disable).) in the file.
+ Similar options can be used to erl for
+ enabling/disabling features allowed at runtime. The new
+ maybe expression (EEP-49) is fully supported as the
+ feature maybe_expr. The features support is documented
+ in the reference manual.
+
+
+ Full runtime dependencies of kernel-8.4: crypto-5.0, erts-13.0,
+ sasl-3.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17910 Application(s): megaco
+
+ Megaco test suite(s) use the new peer module for node
+ starts.
+
+
+ Full runtime dependencies of megaco-4.4: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17930 Application(s): mnesia
+
+ Documentation fixes.
+
+
+ Full runtime dependencies of mnesia-4.21: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.12 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17996 Application(s): observer
+ Related Id(s): PR-5795
+
+ Fixed default handling of Mac specific menus.
+
+
+ OTP-18012 Application(s): observer, runtime_tools
+ Related Id(s): #5798
+
+ Reading port socket options on macOS and Windows
+ "skips" invalid options.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ Full runtime dependencies of observer-2.12: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.19, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ Full runtime dependencies of odbc-2.14: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17755 Application(s): parsetools
+
+ In the generated code, yecc will now quote all atoms
+ coming from terminals in the grammar, in order to avoid
+ conflicts with future reserved words.
+
+
+ Full runtime dependencies of parsetools-2.4: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17798 Application(s): public_key
+ Related Id(s): GH-5760
+
+ *** HIGHLIGHT ***
+
+ Added functions to retrieve OS provided CA-certs.
+
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the data type to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ OTP-17921 Application(s): public_key
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The deprecated public_key functions ssh_decode/2,
+ ssh_encode/2, ssh_hostkey_fingerprint/1 and
+ ssh_hostkey_fingerprint/2 are removed.
+
+ They are replaced by ssh_file:decode/2,
+ ssh_file:encode/2, ssh:hostkey_fingerprint/1 and
+ ssh:hostkey_fingerprint/2 respectively.
+
+ Note that the decode/2 and encode/2 are not exact
+ replacement functions, some minor changes may be
+ needed. Se the manual for more information.
+
+
+ Full runtime dependencies of public_key-1.13: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.19 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18012 Application(s): observer, runtime_tools
+ Related Id(s): #5798
+
+ Reading port socket options on macOS and Windows
+ "skips" invalid options.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17909 Application(s): runtime_tools
+ Related Id(s): ERIERL-760
+
+ dbg:stop/0 now behaves like dbg:stop_clear/0, clearing
+ all global trace patterns for all functions.
+
+
+ OTP-17939 Application(s): runtime_tools
+
+ erts_alloc_config has been scheduled for removal in OTP
+ 26. It has not produced good configurations for a very
+ long time, and unfortunately it cannot be fixed in a
+ backwards compatible manner.
+
+
+ Full runtime dependencies of runtime_tools-1.19: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17752 Application(s): sasl
+ Related Id(s): PR-5302
+
+ Fix systools:make* to recursively search for source
+ code when doing a src_tests.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17304 Application(s): erts, kernel, sasl
+
+ An Erlang installation directory is now relocatable on
+ the file system given that the paths in the
+ installation's RELEASES file are paths that are
+ relative to the installations root directory. The
+ `release_handler:create_RELEASES/4 function can
+ generate a RELEASES file with relative paths if its
+ RootDir parameter is set to the empty string.
+
+
+ Full runtime dependencies of sasl-4.2: erts-10.2, kernel-6.0,
+ stdlib-3.4, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17612 Application(s): snmp
+
+ Removed deprecated functions slated for removal in
+ OTP-25. Also removed "dead" code, kept for backward
+ compatibility reasons.
+
+
+ Full runtime dependencies of snmp-5.13: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.14 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17920 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The representation of Edward curves (ed25519 and ed448)
+ inside ssh had a temporary representation (ed_pri and
+ ed_pub).
+
+ That is now changed to the public_key form. See the
+ manual for more information.
+
+
+ OTP-18079 Application(s): ssh
+ Related Id(s): GH-5767
+
+ Former internal function ssh_file:extract_public_key/1
+ documented publicly.
+
+ Internally it was previously in ssh_transport.
+
+
+ Full runtime dependencies of ssh-4.14: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18087 Application(s): ssl
+ Related Id(s): GH-5961
+
+ When a TLS-1.3 enabled client tried to talk to a
+ TLS-1.2 server that coalesces TLS-1.2 handshake message
+ over one TLS record, the connection could fail due to
+ some message being handled in the wrong state, this has
+ been fixed.
+
+
+ OTP-18092 Application(s): ssl
+ Related Id(s): PR-5959
+
+ Fixed tls-1.3 session ticket lifetime which was
+ discarded to quickly before.
+
+
+ --- Improvements and New Features ---
+
+ OTP-15993 Application(s): ssl
+ Related Id(s): GH-4143
+
+ *** HIGHLIGHT ***
+
+ With this change, it is possible to provide several
+ certificates. Most appropriate will be selected based
+ on negotiated properties.
+
+
+ OTP-17855 Application(s): ssl
+ Related Id(s): PR-5328
+
+ Add options for users to be able to set spawn_opts for
+ TLS processes (sender and receiver) this may be useful
+ for tuning trade-offs between CPU and Memory usage.
+
+
+ OTP-17890 Application(s): public_key, ssl
+
+ Allow key file passwords to be input as a single
+ binary, that is we change the data type to be the more
+ for the purpose logical data type iodata() instead of
+ string().
+
+
+ OTP-18000 Application(s): ssl
+ Related Id(s): PR-5790
+
+ Logging enhancement, add location information to the
+ warning log message.
+
+
+ OTP-18014 Application(s): ssl
+
+ Now also accepts the signature_algs_cert option in
+ TLS-1.2 configuration.
+
+
+ OTP-18045 Application(s): ssl
+ Related Id(s): ERIERL-792, OTP-15993
+
+ Handle certificate selection correctly for server
+ fallback and certificate authorities considerations.
+
+
+ OTP-18085 Application(s): ssl
+
+ Enhance handling of handshake decoding errors,
+ especially for certificate authorities extension to
+ ensure graceful termination.
+
+
+ Full runtime dependencies of ssl-10.8: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-3.12
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17370 Application(s): stdlib
+ Related Id(s): GH-4784
+
+ Improve the Erlang code linter's check of unused types.
+
+
+ OTP-17480 Application(s): stdlib
+ Related Id(s): GH-4853, PR-4872
+
+ Fix race condition in proc_lib:stop/3 where the process
+ is not stopped when the timeout given is very short.
+
+
+ OTP-17518 Application(s): stdlib
+ Related Id(s): GH-4915
+
+ Maps are now fully supported in by ms_transform.
+
+
+ OTP-17544 Application(s): stdlib
+ Related Id(s): PR-5008
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix gen_server:call with the first argument as self()
+ to throw an error instead of failing with a timeout.
+
+ The same fix has also been done for gen_statem:call/3,
+ gen_event:sync_notify/2 and any other functionality
+ relying on the internal gen:call/3 function.
+
+ A similar fix was also done when using io:format/2 and
+ the current group_leader was set to the current
+ process.
+
+
+ OTP-17566 Application(s): stdlib
+ Related Id(s): GH-5093, PR-5095
+
+ erl_pp printed unary - and + operators with a space
+ between the operator and the operand. This is fixed by
+ not having any space in between.
+
+
+ OTP-17627 Application(s): inets, stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Adjust uri_string:normalize behavior for URIs with
+ undefined port (URI string with a port colon but no
+ port value or URI map with port => undefined).
+
+ Remove redundant normalization from http_request
+ module.
+
+ Before this change, normalize would not remove port
+ subcomponent in such cases and could for example return
+ "http://localhost:" URI.
+
+
+ OTP-17661 Application(s): erts, stdlib
+ Related Id(s): PR-5165
+
+ Fix reduction counting bug in re:run that caused the
+ function to yield too frequently when doing global
+ matches.
+
+
+ OTP-17832 Application(s): erts, stdlib
+ Related Id(s): PR-5494
+
+ Fix the memory value returned from ets:info(Tid,memory)
+ when the read_concurrency option is used.
+
+ Before this fix the memory used by the scheduler
+ specific lock cache lines was not counted towards the
+ total. This caused the returned memory usage to be very
+ incorrect on systems with many schedulers for tables
+ with man locks.
+
+
+ OTP-17878 Application(s): stdlib
+
+ Avoid confusion by correcting the argument order in the
+ gen_event crash log printout.
+
+
+ OTP-18009 Application(s): stdlib
+ Related Id(s): PR-5785
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed string:next_grapheme/1 to return an empty binary
+ in the tail for binary input for the last grapheme
+ cluster.
+
+
+ OTP-18034 Application(s): stdlib
+ Related Id(s): GH-4622, PR-4661
+
+ Fixed type specifications of the supervisor:sup_name/0
+ and supervisor:sup_ref/0 types.
+
+
+ OTP-18083 Application(s): compiler, stdlib
+
+ If a default record field initialization (_ = Expr) was
+ used even though all records fields were explicitly
+ initialized, Expr would not be evaluated. That would
+ not be a problem, except when Expr would bind a
+ variable subsequently used, in which case the compiler
+ would crash.
+
+ As an example, if record #r{} is defined to have only
+ one field a, the following code would crash the
+ compiler:
+
+ #r{a=[],_=V=42}, V
+
+ To fix that problem, the compiler will make sure that
+ Expr is always evaluated at least once. The compiler
+ will now rewrite the example to essentially:
+
+ V=42, #r{a=[]}, V
+
+
+ --- Improvements and New Features ---
+
+ OTP-15991 Application(s): erts, stdlib
+ Related Id(s): PR-5208
+
+ *** HIGHLIGHT ***
+
+ Users can now configure ETS tables with the
+ {write_concurrency, auto} option. This option forces
+ tables to automatically change the number of locks that
+ are used at run-time depending on how much concurrency
+ is detected. The {decentralized_counters, true} option
+ is enabled by default when {write_concurrency, auto} is
+ active.
+
+ Benchmark results comparing this option with the other
+ ETS optimization options are available here:
+
+ https://erlang.org/bench/ets_bench_result_lock_config.html
+
+
+ OTP-17351 Application(s): stdlib
+ Related Id(s): GH-4673, PR-4952
+
+ *** HIGHLIGHT ***
+
+ The format_status/2 callback for gen_server, gen_statem
+ and gen_event has been deprecated in favor of the new
+ format_status/1 callback.
+
+ The new callback adds the possibility to limit and
+ change many more things than the just the state, such
+ as the last received message, the reason for
+ terminating and more events specific to each type of
+ behavior. See the respective modules documentation for
+ more details.
+
+
+ OTP-17481 Application(s): stdlib
+ Related Id(s): PR-4811
+
+ *** HIGHLIGHT ***
+
+ The timer module has been modernized and made more
+ efficient, which makes the timer server less
+ susceptible to being overloaded. The timer:sleep/1
+ function now accepts an arbitrarily large integer.
+
+
+ OTP-17523 Application(s): stdlib
+ Related Id(s): PR-4928
+
+ Add lists:enumerate/[1,2].
+
+
+ OTP-17554 Application(s): debugger, erts, kernel, observer,
+ stdlib
+ Related Id(s): GH-5016, OTP-17821, PR-5408
+
+ The configuration files .erlang, .erlang.cookie and
+ .erlang.crypt can now be located in the XDG Config Home
+ directory.
+
+ See the documentation for each file and
+ filename:basedir/2 for more details.
+
+
+ OTP-17592 Application(s): stdlib
+ Related Id(s): ERIERL-663, PR-5243
+
+ Support native time unit in calendar functions
+ system_time_to_rfc3339/2 and rfc3339_to_system_time.
+
+
+ OTP-17608 Application(s): erts, kernel, stdlib
+
+ The tagged tuple tests and fun-calls have been
+ optimized and are now a little bit cheaper than
+ previously.
+
+ These optimizations become possible after making sure
+ that all boxed terms have at least one word allocated
+ after the arity word. This has been accomplished by
+ letting all empty tuples refer to the same empty tuple
+ literal which also reduces memory usage for empty
+ tuples.
+
+
+ OTP-17630 Application(s): erts, stdlib
+
+ The signal queue benchmark in parallel_messages_SUITE
+ and the ETS benchmark in ets_SUITE have benchmark
+ result visualization HTML pages with "fill-screen"
+ buttons to make the graphs bigger. This button did not
+ work as intended before. When pressing the button for a
+ graph, the last graph got replaced with a bigger
+ version and not the one over the button. This is now
+ fixed.
+
+
+ OTP-17720 Application(s): common_test, kernel, stdlib
+ Related Id(s): PR-5162
+
+ *** HIGHLIGHT ***
+
+ The new module peer supersedes the slave module. The
+ slave module is now deprecated and will be removed in
+ OTP 27.
+
+ peer contains an extended and more robust API for
+ starting erlang nodes.
+
+
+ OTP-17778 Application(s): stdlib
+ Related Id(s): GH-5368
+
+ This change introduces quote and unquote functions in
+ uri_string module - a replacement for deprecated encode
+ and decode functions from http_uri.
+
+
+ OTP-17784 Application(s): kernel, stdlib
+ Related Id(s): PR-5792
+
+ *** HIGHLIGHT ***
+
+ In order to make it easier for the user to manage
+ multiple outstanding asynchronous call requests, new
+ functionality utilizing request identifier collections
+ have been introduced in erpc, gen_server, gen_statem,
+ and gen_event.
+
+
+ OTP-17869 Application(s): stdlib
+ Related Id(s): PR-5595
+
+ Update to the Unicode 14.0 specification.
+
+
+ OTP-17901 Application(s): stdlib
+ Related Id(s): GH-4968, PR-5649
+
+ The following ets types have been renamed to a clearer
+ name: tab/0 to table/0 and comp_match_spec/0 to
+ compiled_match_spec/0.
+
+ The types table_access/0 and table_type/0 have been
+ exported.
+
+
+ OTP-17908 Application(s): stdlib
+ Related Id(s): GH-5655, PR-5669
+
+ Add support for locating .asn1 files to the default
+ search rules of filelib:find_file/1 and
+ filelib:find_source/1.
+
+
+ OTP-17915 Application(s): kernel, stdlib
+ Related Id(s): GH-2375, GH-2690, PR-5751
+
+ Type specifications have been added to the gen_server,
+ and the documentation has been updated to utilize this.
+
+ This surfaced a few type violations that has been
+ corrected in global, logger_olp and rpc.
+
+
+ OTP-17925 Application(s): stdlib
+ Related Id(s): PR-5631
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The non-local function handler for the erl_eval can now
+ be called with either two or three arguments. When
+ called with three arguments, the first argument is the
+ annotation for the node in the abstract format.
+
+ All errors during evaluation will now be passed through
+ erlang:raise/3. If the restricted shell is active and
+ it does not let erlang:raise/3 through, evaluation
+ errors will be printed in less clear way. See the
+ documentation for restricted shell in shell.
+
+
+ OTP-17953 Application(s): stdlib
+ Related Id(s): PR-5621
+
+ *** HIGHLIGHT ***
+
+ Added filelib:ensure_path/1 that ensures that all
+ directories for the given path exists (unlike
+ filelib:ensure_dir/1, which will not create the last
+ segment of the path).
+
+
+ OTP-17969 Application(s): stdlib
+ Related Id(s): PR-5588
+
+ *** HIGHLIGHT ***
+
+ The functions groups_from_list/2 and groups_from_list/3
+ have been added to the maps module.
+
+
+ OTP-17974 Application(s): stdlib
+ Related Id(s): GH-5683
+
+ gen_server has been refactored to throw more readable
+ exceptions when a callback returns bad values in the
+ Timeout field (timeout() | 'hibernate' |
+ {'continue,_}), and also to verify that argument in the
+ gen_server:enter_loop/3,4,5 API function.
+
+
+ OTP-17977 Application(s): stdlib
+ Related Id(s): GH-5606, PR-5766
+
+ *** HIGHLIGHT ***
+
+ The functions uniq/1 and uniq/2 for removing duplicates
+ have been added to the lists module.
+
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for configurable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (-enable-feature Feature,
+ -disable-feature Feature and +{feature, Feature,
+ enable|disable}) to erlc as well as with directives
+ (-feature(Feature, enable|disable).) in the file.
+ Similar options can be used to erl for
+ enabling/disabling features allowed at runtime. The new
+ maybe expression (EEP-49) is fully supported as the
+ feature maybe_expr. The features support is documented
+ in the reference manual.
+
+
+ OTP-17991 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The function filename:safe_relative_path/1, which has
+ been deprecated since OTP 25, has been removed. Use
+ filelib:safe_relative_path/2 instead.
+
+
+ OTP-18011 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ A new PRNG have been added to the rand module: mwc59
+ which has been developed in collaboration with
+ Sebastiano Vigna. It is intended for applications that
+ need really fast pseudo-random numbers, and it comes
+ with two output value scramblers, one fast and one
+ thorough.
+
+ Two internal functions for the exsp generator have also
+ been exported so they can be used outside the rand
+ plug-in framework to shave off some overhead.
+
+ The internal splitmix64 generator has also been
+ exported which can be useful for seeding other kinds of
+ PRNG:s than its own.
+
+
+ Full runtime dependencies of stdlib-4.0: compiler-5.0, crypto-4.5,
+ erts-12.0, kernel-8.4, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.0 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17894 Application(s): syntax_tools
+ Related Id(s): PR-5509
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The erl_syntax_lib:analyze_attribute/1 function would
+ return {Name, {Name, Value}} instead of {Name, Value}
+ (which is the documented return value).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17988 Application(s): compiler, kernel, stdlib, syntax_tools
+
+ *** HIGHLIGHT ***
+
+ Added support for configurable features as described in
+ EEP-60. Features can be enabled/disabled during
+ compilation with options (-enable-feature Feature,
+ -disable-feature Feature and +{feature, Feature,
+ enable|disable}) to erlc as well as with directives
+ (-feature(Feature, enable|disable).) in the file.
+ Similar options can be used to erl for
+ enabling/disabling features allowed at runtime. The new
+ maybe expression (EEP-49) is fully supported as the
+ feature maybe_expr. The features support is documented
+ in the reference manual.
+
+
+ Full runtime dependencies of syntax_tools-3.0: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.5.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17892 Application(s): erts, tools
+ Related Id(s): PR-5591
+
+ Removed the previously undocumented and unsupported
+ emem tool.
+
+
+ Full runtime dependencies of tools-3.5.3: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.2 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17414 Application(s): common_test, crypto, erl_interface,
+ erts, megaco, odbc, otp, snmp, wx
+ Related Id(s): PR-4967
+
+ Input for configure scripts adapted to autoconf 2.71.
+
+
+ OTP-17950 Application(s): wx
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Added aux1Down and aux2Down fields to the wxMouseState
+ record. Since one record have been changed a
+ recompilation of user code might be required.
+
+
+ OTP-18008 Application(s): wx
+ Related Id(s): PR-5816
+
+ Add mac specific menubar functions.
+
+
+ Full runtime dependencies of wx-2.2: erts-12.0, kernel-8.0,
+ stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.29 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-17935 Application(s): xmerl
+ Related Id(s): PR-5590
+
+ Fixed misspellings in both documentation, comments and
+ code (internal data structures).
+
+
+ Full runtime dependencies of xmerl-1.3.29: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.1.1.README.txt b/release-notes/OTP-25.1.1.README.txt
new file mode 100644
index 0000000..9de8e77
--- /dev/null
+++ b/release-notes/OTP-25.1.1.README.txt
@@ -0,0 +1,222 @@
+Patch Package: OTP 25.1.1
+Git Tag: OTP-25.1.1
+Date: 2022-10-03
+Trouble Report Id: OTP-18240, OTP-18245, OTP-18249, OTP-18258,
+ OTP-18262, OTP-18263, OTP-18264, OTP-18266
+Seq num: ERIERL-821, ERIERL-859, GH-6309, GH-6320,
+ GH-6323, GH-6328
+System: OTP
+Release: 25
+Application: asn1-5.0.21, dialyzer-5.0.3, erts-13.1.1,
+ eunit-2.8.1, kernel-8.5.1, ssl-10.8.5,
+ stdlib-4.1.1
+Predecessor: OTP 25.1
+
+ Check out the git tag OTP-25.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.21 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.21 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18245 Application(s): asn1
+ Related Id(s): ERIERL-859
+
+ For the per and uper ASN.1 encoding rules, encoding and
+ decoding the SEQUENCE OF and SET OF constructs with
+ 16384 items or more is now supported.
+
+
+ Full runtime dependencies of asn1-5.0.21: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-5.0.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18262 Application(s): dialyzer
+ Related Id(s): GH-6323
+
+ Dialyzer could crash when analyzing Elixir code that
+ used intricate macros.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18263 Application(s): dialyzer
+ Related Id(s): ERIERL-821
+
+ The --input_list_file option has been added.
+
+
+ Full runtime dependencies of dialyzer-5.0.3: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.1.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.1.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18240 Application(s): erts, kernel
+ Related Id(s): #6285
+
+ Listen sockets created with the socket module, leaked
+ (erlang-) monitors.
+
+
+ OTP-18258 Application(s): erts
+ Related Id(s): GH-6309, PR-6324
+
+ Notifications about available distribution data sent to
+ distribution controller processes could be lost.
+ Distribution controller processes can be used when
+ implementing an alternative distribution carrier. The
+ default distribution over tcp was not effected and the
+ bug was also not present on x86/x86_64 platforms.
+
+
+ Full runtime dependencies of erts-13.1.1: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.8.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.8.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18264 Application(s): eunit
+ Related Id(s): GH-6320, PR-6322
+
+ With this change, eunit exact_execution option works
+ with application primitive.
+
+
+ Full runtime dependencies of eunit-2.8.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.5.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18240 Application(s): erts, kernel
+ Related Id(s): #6285
+
+ Listen sockets created with the socket module, leaked
+ (erlang-) monitors.
+
+
+ OTP-18249 Application(s): kernel, stdlib
+ Related Id(s): PR-6301
+
+ peer nodes failed to halt when the process supervising
+ the control connection crashed. When an alternative
+ control connection was used, this supervision process
+ also quite frequently crashed when the peer node was
+ stopped by the node that started it which caused the
+ peer node to linger without ever halting.
+
+
+ Full runtime dependencies of kernel-8.5.1: crypto-5.0, erts-13.1,
+ sasl-3.0, stdlib-4.1.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.8.5 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18266 Application(s): ssl
+ Related Id(s): GH-6328
+
+ Fixes handling of symlinks in cacertfile option.
+
+
+ Full runtime dependencies of ssl-10.8.5: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.1.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- kernel-8.5.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18249 Application(s): kernel, stdlib
+ Related Id(s): PR-6301
+
+ peer nodes failed to halt when the process supervising
+ the control connection crashed. When an alternative
+ control connection was used, this supervision process
+ also quite frequently crashed when the peer node was
+ stopped by the node that started it which caused the
+ peer node to linger without ever halting.
+
+
+ Full runtime dependencies of stdlib-4.1.1: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-8.5.1, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.1.2.1.README.txt b/release-notes/OTP-25.1.2.1.README.txt
new file mode 100644
index 0000000..72697b0
--- /dev/null
+++ b/release-notes/OTP-25.1.2.1.README.txt
@@ -0,0 +1,74 @@
+Patch Package: OTP 25.1.2.1
+Git Tag: OTP-25.1.2.1
+Date: 2023-01-18
+Trouble Report Id: OTP-18379, OTP-18383, OTP-18388
+Seq num: ERIERL-904, ERIERL-905
+System: OTP
+Release: 25
+Application: erts-13.1.2.1, snmp-5.13.1.1
+Predecessor: OTP 25.1.2
+
+ Check out the git tag OTP-25.1.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-13.1.2.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.1.2.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18383 Application(s): erts
+ Related Id(s): ERIERL-905
+
+ Fixed a bug in selective receive optimization that
+ could crash 32-bit emulators.
+
+
+ OTP-18388 Application(s): erts
+ Related Id(s): OTP-17462, PR-6662
+
+ A race condition which was very rarely triggered could
+ cause the signal queue of a process to become
+ inconsistent causing the runtime system to crash.
+
+
+ Full runtime dependencies of erts-13.1.2.1: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13.1.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.13.1.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18379 Application(s): snmp
+ Related Id(s): ERIERL-904
+
+ Single threaded agent crash when vacm table not
+ properly initiated.
+
+
+ Full runtime dependencies of snmp-5.13.1.1: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.1.2.README.txt b/release-notes/OTP-25.1.2.README.txt
new file mode 100644
index 0000000..516ea57
--- /dev/null
+++ b/release-notes/OTP-25.1.2.README.txt
@@ -0,0 +1,72 @@
+Patch Package: OTP 25.1.2
+Git Tag: OTP-25.1.2
+Date: 2022-10-24
+Trouble Report Id: OTP-18288, OTP-18290
+Seq num: ERIERL-866, ERIERL-868
+System: OTP
+Release: 25
+Application: erts-13.1.2, mnesia-4.21.2
+Predecessor: OTP 25.1.1
+
+ Check out the git tag OTP-25.1.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-13.1.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.1.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18290 Application(s): erts
+ Related Id(s): ERIERL-866, PR-6378
+
+ Add abandon carrier free utilization limit (+Muacful)
+ option to erts_alloc. This option allows the user to
+ mark unused segments in a memory carrier as re-useable
+ by the OS if needed.
+
+ This functionality was a non-configurable default
+ before Erlang/OTP 25, but removed due to performance
+ issues.
+
+
+ Full runtime dependencies of erts-13.1.2: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.21.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18288 Application(s): mnesia
+ Related Id(s): ERIERL-868
+
+ Don't fill the logs if mnesia can't connect to all
+ nodes, due to partitioned network.
+
+
+ Full runtime dependencies of mnesia-4.21.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.1.README.txt b/release-notes/OTP-25.1.README.txt
new file mode 100644
index 0000000..efa5649
--- /dev/null
+++ b/release-notes/OTP-25.1.README.txt
@@ -0,0 +1,1364 @@
+Patch Package: OTP 25.1
+Git Tag: OTP-25.1
+Date: 2022-09-21
+Trouble Report Id: OTP-17115, OTP-17340, OTP-17934, OTP-18032,
+ OTP-18037, OTP-18044, OTP-18050, OTP-18091,
+ OTP-18093, OTP-18099, OTP-18102, OTP-18104,
+ OTP-18107, OTP-18109, OTP-18115, OTP-18118,
+ OTP-18121, OTP-18125, OTP-18127, OTP-18133,
+ OTP-18134, OTP-18138, OTP-18139, OTP-18142,
+ OTP-18144, OTP-18146, OTP-18147, OTP-18148,
+ OTP-18151, OTP-18152, OTP-18153, OTP-18154,
+ OTP-18160, OTP-18161, OTP-18162, OTP-18163,
+ OTP-18165, OTP-18166, OTP-18171, OTP-18172,
+ OTP-18178, OTP-18179, OTP-18180, OTP-18181,
+ OTP-18182, OTP-18183, OTP-18184, OTP-18186,
+ OTP-18187, OTP-18189, OTP-18191, OTP-18193,
+ OTP-18194, OTP-18195, OTP-18196, OTP-18199,
+ OTP-18200, OTP-18201, OTP-18202, OTP-18203,
+ OTP-18205, OTP-18207, OTP-18208, OTP-18214,
+ OTP-18215, OTP-18216, OTP-18217, OTP-18218,
+ OTP-18219, OTP-18220, OTP-18222, OTP-18229,
+ OTP-18232, OTP-18233, OTP-18234, OTP-18239,
+ OTP-18241, OTP-18243, OTP-18244
+Seq num: ERIERL-456, ERIERL-661, ERIERL-666,
+ ERIERL-817, ERIERL-826, ERIERL-829,
+ ERIERL-833, ERIERL-834, ERIERL-835,
+ ERIERL-836, ERIERL-837, ERIERL-852,
+ ERIERL-855, ERL-97, GH-3064, GH-5719,
+ GH-5981, GH-6021, GH-6024, GH-6026, GH-6105,
+ GH-6122, GH-6158, GH-6163, GH-6164, GH-6169,
+ GH-6184, GH-6219, GH-6222, GH-6239, GH-6241,
+ GH-6242, GH-6244, GH-6247, GH-6277
+System: OTP
+Release: 25
+Application: asn1-5.0.20, common_test-1.23.1,
+ compiler-8.2.1, crypto-5.1.2, dialyzer-5.0.2,
+ diameter-2.2.7, erl_docgen-1.4, erts-13.1,
+ eunit-2.8, inets-8.1, jinterface-1.13.1,
+ kernel-8.5, megaco-4.4.1, observer-2.13,
+ parsetools-2.4.1, public_key-1.13.1,
+ snmp-5.13.1, ssh-4.15, ssl-10.8.4,
+ stdlib-4.1, xmerl-1.3.30
+Predecessor: OTP 25.0.4
+
+ Check out the git tag OTP-25.1, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18153 Application(s): crypto
+
+ Crypto is now considered to be usable with the OpenSSL
+ 3.0 cryptolib for production code.
+
+ ENGINE and FIPS are not yet fully functional.
+
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions are removed from the documentation and
+ therefor the API, but they are left in the code for
+ compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ OTP-18241 Application(s): ssl
+
+ A vulnerability has been discovered and corrected. It
+ is registered as CVE-2022-37026 "Client Authentication
+ Bypass". Corrections have been released on the
+ supported tracks with patches 23.3.4.15, 24.3.4.2, and
+ 25.0.2. The vulnerability might also exist in older OTP
+ versions. We recommend that impacted users upgrade to
+ one of these versions or later on the respective
+ tracks. OTP 25.1 would be an even better choice.
+ Impacted are those who are running an ssl/tls/dtls
+ server using the ssl application either directly or
+ indirectly via other applications. For example via
+ inets (httpd), cowboy, etc. Note that the vulnerability
+ only affects servers that request client certification,
+ that is sets the option {verify, verify_peer}.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** HIGHLIGHT ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions are removed from the documentation and
+ therefor the API, but they are left in the code for
+ compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ OTP-18239 Application(s): stdlib
+
+ When changing callback module in gen_statem the
+ state_enter calls flag from the old module was used in
+ for the first event in the new module, which could
+ confuse the new module and cause malfunction. This bug
+ has been corrected.
+
+ With this change some sys debug message formats have
+ been modified, which can be a problem for debug code
+ relying on the format.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-25.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.20 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.20 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ Full runtime dependencies of asn1-5.0.20: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.23.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.23.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18208 Application(s): common_test
+ Related Id(s): ERIERL-852, PR-6229
+
+ Fix cth_surefire to handle when a suite is not compiled
+ with debug_info. This bug has been present since
+ Erlang/OTP 25.0.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18138 Application(s): common_test
+ Related Id(s): GH-5719, PR-6029
+
+ Common Test now preserves stack traces for throws.
+
+
+ Full runtime dependencies of common_test-1.23.1: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18125 Application(s): compiler
+ Related Id(s): GH-6026
+
+ The compiler will now forbid using the empty atom '' as
+ module name. Also forbidden are modules names
+ containing control characters, and module names
+ containing only spaces and soft hyphens.
+
+
+ OTP-18162 Application(s): compiler
+ Related Id(s): PR-6102
+
+ The bin_opt_info and recv_opt_info options would cause
+ the compiler to crash when attempting to compile
+ generated code without location information.
+
+
+ OTP-18182 Application(s): compiler
+ Related Id(s): GH-6163
+
+ In rare circumstances involving floating point
+ operations, the compiler could terminate with an
+ internal consistency check failure.
+
+
+ OTP-18183 Application(s): compiler
+ Related Id(s): GH-6169
+
+ In rare circumstances when doing arithmetic
+ instructions on non-numbers, the compiler could crash.
+
+
+ OTP-18184 Application(s): compiler
+ Related Id(s): GH-6164
+
+ In rare circumstances, complex boolean expressions in
+ nested cases could cause the compiler to crash.
+
+
+ OTP-18186 Application(s): compiler
+
+ Expression similar to #{assoc:=V} = #key=>self()}, V
+ would return the empty map instead of raising an
+ exception.
+
+
+ OTP-18187 Application(s): compiler
+ Related Id(s): GH-6184
+
+ Eliminated a crash in the beam_ssa_bool pass of the
+ compiler when compiling a complex guard expression.
+
+
+ OTP-18202 Application(s): compiler
+ Related Id(s): GH-6222
+
+ In rare circumstances, the compiler could crash with an
+ internal consistency check failure.
+
+
+ OTP-18214 Application(s): compiler
+ Related Id(s): GH-6158
+
+ When compiling with the option inline_list_funcs, the
+ compiler could produce a nonsensical warning.
+
+
+ OTP-18234 Application(s): compiler
+ Related Id(s): GH-6277
+
+ When given the no_ssa_opt option, the compiler could
+ terminate with an internal consistency failure
+ diagnostic when compiling map matching.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18050 Application(s): compiler
+
+ Made warnings for existing atoms being keywords in
+ experimental features more precise, by not warning
+ about quoted atoms.
+
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ Full runtime dependencies of compiler-8.2.1: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.1.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18147 Application(s): crypto
+ Related Id(s): GH-6024, PR-6056
+
+ Fix configure with --with-ssl and
+ --disable-dynamic-ssl-lib on Windows.
+
+
+ OTP-18152 Application(s): crypto
+
+ Remove all references correctly in the garbage
+ collection if an engine handle was not explicit
+ unloaded.
+
+
+ OTP-18172 Application(s): crypto
+ Related Id(s): ERIERL-826
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Changed the behaviour of the engine load/unload
+ functions
+
+ The engine load/unload functions have got changed
+ semantics to get a more consistent behaviour and work
+ correct when variables are garbage collected.
+
+ The load functions now don't register the methods for
+ the engine to replace. That will now be handled with
+ the new functions engine_register/engine_unregister if
+ needed.
+
+ Some functions are removed from the documentation and
+ therefor the API, but they are left in the code for
+ compatibility.
+
+ -- engine_load/4: is now the same as engine_load/3
+
+ -- engine_unload/2: is now the same as engine_unload/1
+
+ -- ensure_engine_loaded/3: is now the same as
+ ensure_engine_loaded/2
+
+ -- ensure_engine_unloaded/1, ensure_engine_unloaded/2:
+ is now the same as engine_unload/1
+
+
+ OTP-18200 Application(s): crypto
+
+ Fixed a naming bug for AES-CFB and Blowfish-CFB/OFB
+ when linked with OpenSSL 3.0 cryptolib.
+
+
+ OTP-18205 Application(s): crypto, public_key
+ Related Id(s): GH-6219
+
+ Sign/verify does now behave as in OTP-24 and earlier
+ for eddsa.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18037 Application(s): crypto
+
+ Pass elliptic curve names from crypto.erl to crypto's
+ nif.
+
+
+ OTP-18133 Application(s): crypto
+
+ The configure option --disable-deprecated-warnings is
+ removed. It was used for some releases when the support
+ for OpenSSL 3.0 was not completed. It is not needed in
+ OTP 25.
+
+
+ OTP-18153 Application(s): crypto
+
+ *** HIGHLIGHT ***
+
+ Crypto is now considered to be usable with the OpenSSL
+ 3.0 cryptolib for production code.
+
+ ENGINE and FIPS are not yet fully functional.
+
+
+ OTP-18217 Application(s): crypto
+
+ Do not exit if the legacy provider is missing in
+ libcrypto 3.0.
+
+
+ Full runtime dependencies of crypto-5.1.2: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-5.0.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18127 Application(s): dialyzer
+ Related Id(s): ERIERL-817
+
+ Two bugs have been fixed in Dialyzer's checking of
+ behaviors:
+
+ When a *mandatory* callback function is present but not
+ exported, Dialyzer would not complain about a missing
+ callback.
+
+ When an *optional* callback function was not exported
+ and had incompatible arguments and/or the return values
+ were incompatible, Dialyzer would complain. This has
+ been changed to suppress the warning, because the
+ function might not be intended to be a callback
+ function, for instance if a release added a new
+ optional callback function (such as format_status/1 for
+ the gen_server behaviour added in OTP 25).
+
+
+ OTP-18148 Application(s): dialyzer
+ Related Id(s): PR-6068
+
+ The no_extra_return and no_missing_return warnings can
+ now be suppressed through -dialyzer directives in
+ source code.
+
+
+ Full runtime dependencies of dialyzer-5.0.2: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.2.7 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.2.7 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ Full runtime dependencies of diameter-2.2.7: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18244 Application(s): erl_docgen
+
+ Update DTD to allow XML tag em under pre.
+
+
+ Full runtime dependencies of erl_docgen-1.4: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.1 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17934 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-6007
+
+ Fixed inconsistency bugs in global due to
+ nodeup/nodedown messages not being delivered
+ before/after traffic over connections. Also fixed
+ various other inconsistency bugs and deadlocks in both
+ global_group and global.
+
+ As building blocks for these fixes, a new BIF
+ erlang:nodes/2 has been introduced and
+ net_kernel:monitor_nodes/2 has been extended.
+
+ The -hidden and -connect_all command line arguments did
+ not work if multiple instances were present on the
+ command line which has been fixed. The new kernel
+ parameter connect_all has also been introduced in order
+ to replace the -connect_all command line argument.
+
+
+ OTP-18091 Application(s): erts, kernel
+ Related Id(s): #5789
+
+ Fixed IPv6 multicast_if and membership socket options.
+
+
+ OTP-18093 Application(s): erts
+ Related Id(s): OTP-18104, PR-5987
+
+ Accept funs (NEW_FUN_EXT) with incorrectly encoded size
+ field. This is a workaround for a bug (OTP-18104)
+ existing in OTP 23 and 24 that could cause incorrect
+ size fields in certain cases. The emulator does not use
+ the decoded size field, but erl_interface still does
+ and is not helped by this workaround.
+
+
+ OTP-18102 Application(s): erts, kernel
+ Related Id(s): #5904
+
+ Fixed issue with inet:getifaddrs hanging on pure IPv6
+ Windows
+
+
+ OTP-18104 Application(s): erts
+ Related Id(s): OTP-18093
+
+ Fix faulty distribution encoding of terms with either
+
+ -- a fun with bit-string or export-fun in its
+ environment when encoded toward a not yet established
+ (pending) connection
+
+ -- or a fun with a binary/bitstring, in its
+ environment, referring to an off-heap binary (larger
+ than 64 bytes).
+
+ The symptom could be failed decoding on the receiving
+ side leading to aborted connection. Fix OTP-18093 is a
+ workaround for theses bugs that makes the VM accepts
+ such faulty encoded funs.
+
+ The first encoding bug toward pending connection exists
+ only in OTP 23 and 24, but the second one exists also
+ on OTP 25.
+
+
+ OTP-18144 Application(s): erts
+ Related Id(s): GH-5981
+
+ Fixed emulator crash that could happen during crashdump
+ generation of ETS tables with options ordered_set and
+ {write_concurrency,true}.
+
+
+ OTP-18160 Application(s): erts
+ Related Id(s): PR-6103
+
+ Retrieval of monotonic and system clock resolution on
+ MacOS could cause a crash and/or erroneous results.
+
+
+ OTP-18161 Application(s): erts
+ Related Id(s): PR-6081
+
+ Fix bug where the max allowed size of erl +hmax was
+ lower than what was allowed by process_flag.
+
+
+ OTP-18201 Application(s): erts
+
+ On computers with ARM64 (AArch64) processors, the JIT
+ could generate incorrect code when more than 4095 bits
+ were skipped at the tail end of a binary match.
+
+
+ OTP-18216 Application(s): erts
+ Related Id(s): GH-6239, PR-6240
+
+ In rare circumstances, an is_binary/1 guard test could
+ succeed when given a large integer.
+
+
+ OTP-18218 Application(s): erts
+ Related Id(s): ERIERL-855
+
+ Fix bug causing ets:info (and sometimes ets:whereis) to
+ return 'undefined' for an existing table if a
+ concurrent process were doing ets:insert with a long
+ list on the same table.
+
+
+ OTP-18222 Application(s): erts
+ Related Id(s): GH-6242, PR-6248
+
+ Fix writing and reading of more than 2 GB in a single
+ read/write operation on macOS. Before this fix
+ attempting to read/write more than 2GB would result in
+ {error,einval}.
+
+
+ OTP-18243 Application(s): erts
+ Related Id(s): GH-6247, PR-6258
+
+ Fix bug sometimes causing emulator crash at node
+ shutdown when there are pending connections. Only seen
+ when running duel distribution protocols, inet_drv and
+ inet_tls_dist.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17340 Application(s): erts
+ Related Id(s): PR-6133
+
+ Yield when adjusting large process message queues due
+ to
+
+ -- copying terms from a literal area prior to removing
+ the literal area.
+
+ -- changing the message_queue_data state from on_heap
+ to off_heap.
+
+ The message queue adjustment work will now be
+ interleaved with all other types of work that processes
+ have to do, even other message queue adjustment work.
+
+
+ OTP-18032 Application(s): erts, kernel
+
+ Add rudimentary debug feature (option) for the
+ inet-driver based sockets, such as gen_tcp and gen_udp.
+
+
+ OTP-18107 Application(s): erts, kernel
+ Related Id(s): PR-6009
+
+ Introduced the hidden and dist_listen options to
+ net_kernel:start/2.
+
+ Also documented the -dist_listen command line argument
+ which was erroneously documented as a kernel parameter
+ and not as a command line argument.
+
+
+ OTP-18109 Application(s): erts
+
+ New documentation chapter "Debugging NIFs and Port
+ Drivers" under Interoperability Tutorial.
+
+
+ OTP-18199 Application(s): erts, stdlib
+ Related Id(s): PR-5790
+
+ Add new API function erl_features:configurable/0
+
+
+ Full runtime dependencies of erts-13.1: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.8 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.8 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18181 Application(s): eunit
+ Related Id(s): ERL-97, GH-3064, PR-5461
+
+ With this change, Eunit can optionally not try to
+ execute related module with "_tests" suffix. This might
+ be used for avoiding duplicated executions when source
+ and test modules are located in the same folder.
+
+
+ Full runtime dependencies of eunit-2.8: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18118 Application(s): inets
+
+ Add httpc:ssl_verify_host_options/1 to help setting
+ default ssl options for the https client.
+
+
+ OTP-18178 Application(s): inets, ssh
+ Related Id(s): ERIERL-833, ERIERL-834, ERIERL-835
+
+ This change fixes dialyzer warnings generated for
+ inets/httpd examples (includes needed adjustment of
+ spec for ssh_sftp module).
+
+
+ OTP-18193 Application(s): inets
+ Related Id(s): GH-6122
+
+ Remove documentation of no longer supported callback.
+
+
+ Full runtime dependencies of inets-8.1: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.13.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.13.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18215 Application(s): jinterface
+ Related Id(s): PR-6154
+
+ Fix javadoc build error by adding option -encoding
+ UTF-8.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.5 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17934 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-6007
+
+ Fixed inconsistency bugs in global due to
+ nodeup/nodedown messages not being delivered
+ before/after traffic over connections. Also fixed
+ various other inconsistency bugs and deadlocks in both
+ global_group and global.
+
+ As building blocks for these fixes, a new BIF
+ erlang:nodes/2 has been introduced and
+ net_kernel:monitor_nodes/2 has been extended.
+
+ The -hidden and -connect_all command line arguments did
+ not work if multiple instances were present on the
+ command line which has been fixed. The new kernel
+ parameter connect_all has also been introduced in order
+ to replace the -connect_all command line argument.
+
+
+ OTP-18091 Application(s): erts, kernel
+ Related Id(s): #5789
+
+ Fixed IPv6 multicast_if and membership socket options.
+
+
+ OTP-18102 Application(s): erts, kernel
+ Related Id(s): #5904
+
+ Fixed issue with inet:getifaddrs hanging on pure IPv6
+ Windows
+
+
+ OTP-18115 Application(s): kernel
+ Related Id(s): PR-5939
+
+ The type specifications for inet:getopts/2 and
+ inet:setopts/2 have been corrected regarding SCTP
+ options.
+
+
+ OTP-18121 Application(s): kernel
+ Related Id(s): PR-5972
+
+ The type specifications for inet:parse_* have been
+ tightened.
+
+
+ OTP-18171 Application(s): kernel
+ Related Id(s): PR-6131
+
+ Fix gen_tcp:connect/3 spec to include the inet_backend
+ option.
+
+
+ OTP-18229 Application(s): kernel
+ Related Id(s): PR-6212
+
+ Fix bug where using a binary as the format when calling
+ logger:log(Level, Format, Args) (or any other logging
+ function) would cause a crash or incorrect logging.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18032 Application(s): erts, kernel
+
+ Add rudimentary debug feature (option) for the
+ inet-driver based sockets, such as gen_tcp and gen_udp.
+
+
+ OTP-18107 Application(s): erts, kernel
+ Related Id(s): PR-6009
+
+ Introduced the hidden and dist_listen options to
+ net_kernel:start/2.
+
+ Also documented the -dist_listen command line argument
+ which was erroneously documented as a kernel parameter
+ and not as a command line argument.
+
+
+ OTP-18163 Application(s): kernel
+ Related Id(s): PR-6058, PR-6275
+
+ Scope and group monitoring have been introduced in pg.
+ For more information see the documentation of
+ pg:monitor_scope(), pg:monitor(), and pg:demonitor().
+
+
+ OTP-18232 Application(s): kernel
+ Related Id(s): OTP-17843, PR-6264
+
+ A new function global:disconnect/0 has been introduced
+ with which one can cleanly disconnect a node from all
+ other nodes in a cluster of global nodes.
+
+
+ Full runtime dependencies of kernel-8.5: crypto-5.0, erts-13.1,
+ sasl-3.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.4.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18179 Application(s): megaco
+ Related Id(s): ERIERL-836
+
+ Fixed various dialyzer related issues in the examples
+ and the application proper.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ Full runtime dependencies of megaco-4.4.1: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.13 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.13 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18151 Application(s): observer
+ Related Id(s): PR-6063
+
+ Fixed units in gui.
+
+
+ Full runtime dependencies of observer-2.13: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.19, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.4.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The parsetools-2.4.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ Full runtime dependencies of parsetools-2.4.1: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.13.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18154 Application(s): public_key
+ Related Id(s): PR-6002
+
+ Support more Linux distributions in cacerts_load/0.
+
+
+ OTP-18189 Application(s): public_key
+ Related Id(s): ERIERL-829
+
+ Correct asn1 typenames available in type
+ pki_asn1_type()
+
+
+ OTP-18205 Application(s): crypto, public_key
+ Related Id(s): GH-6219
+
+ Sign/verify does now behave as in OTP-24 and earlier
+ for eddsa.
+
+
+ Full runtime dependencies of public_key-1.13.1: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.13.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17115 Application(s): snmp
+ Related Id(s): ERIERL-456
+
+ Improved the get-bulk response max size calculation.
+ Its now possible to configure 'empty pdu size', see
+ appendix c for more info.
+
+
+ OTP-18180 Application(s): snmp
+ Related Id(s): ERIERL-837
+
+ Fix various example dialyzer issues
+
+
+ Full runtime dependencies of snmp-5.13.1: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.15 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.15 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18220 Application(s): ssh
+ Related Id(s): ERIERL-661, ERIERL-666
+
+ Handling rare race condition at channel close.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18134 Application(s): ssh
+ Related Id(s): GH-6021
+
+ New ssh option no_auth_needed to skip the ssh
+ authentication. Use with caution!
+
+
+ OTP-18178 Application(s): inets, ssh
+ Related Id(s): ERIERL-833, ERIERL-834, ERIERL-835
+
+ This change fixes dialyzer warnings generated for
+ inets/httpd examples (includes needed adjustment of
+ spec for ssh_sftp module).
+
+
+ OTP-18196 Application(s): ssh
+
+ The new function ssh:daemon_replace_options/2 makes it
+ possible to change the Options in a running SSH server.
+
+ Established connections are not affected, only those
+ created after the call to this new function.
+
+
+ OTP-18207 Application(s): ssh
+ Related Id(s): PR-6231
+
+ Add a timeout as option max_initial_idle_time. It
+ closes a connection that does not allocate a channel
+ within the timeout time.
+
+ For more information about timeouts, see the Timeouts
+ section in the User's Guide Hardening chapter.
+
+
+ Full runtime dependencies of ssh-4.15: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.8.4 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18044 Application(s): ssl
+
+ Reject unexpected application data in all relevant
+ places for all TLS versions. Also, handle TLS-1.3
+ middlebox compatibility with more care. This will make
+ malicious connections fail early and further, mitigate
+ possible DoS attacks, that would be caught by the
+ handshake timeout.
+
+ Thanks to Aina Toky Rasoamanana and Olivier Levillain
+ from Télécom SudParis for alerting us of the issues in
+ our implementation.
+
+
+ OTP-18099 Application(s): ssl
+ Related Id(s): PR-6287
+
+ With this change, value of cacertfile option will be
+ adjusted before loading certs from the file.
+ Adjustments include converting relative paths to
+ absolute and converting symlinks to actual file path.
+
+ Thanks to Marcus Johansson
+
+
+ OTP-18191 Application(s): ssl
+ Related Id(s): GH-6105
+
+ In TLS-1.3, if chain certs are missing (so server auth
+ domain adherence can not be determined) send peer cert
+ and hope the server is able to recreate a chain in its
+ auth domain.
+
+
+ OTP-18195 Application(s): ssl
+
+ Make sure periodical refresh of CA certificate files
+ repopulates cache properly.
+
+
+ OTP-18203 Application(s): ssl
+ Related Id(s): PR-5996
+
+ Correct internal CRL cache functions to use internal
+ format consistently.
+
+
+ OTP-18219 Application(s): ssl
+ Related Id(s): GH-6241, PR-6249
+
+ Incorrect handling of client middlebox negotiation for
+ TLS-1.3 could result in that a TLS-1.3 server would not
+ use middlebox mode although the client was expecting it
+ too and failing the negotiation with unexpected
+ message.
+
+
+ OTP-18233 Application(s): ssl
+ Related Id(s): GH-6244, PR-6270
+
+ If the "User" process, the process starting the TLS
+ connection, gets killed in the middle of spawning the
+ dynamic connection tree make sure we do not leave any
+ processes behind.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18241 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ A vulnerability has been discovered and corrected. It
+ is registered as CVE-2022-37026 "Client Authentication
+ Bypass". Corrections have been released on the
+ supported tracks with patches 23.3.4.15, 24.3.4.2, and
+ 25.0.2. The vulnerability might also exist in older OTP
+ versions. We recommend that impacted users upgrade to
+ one of these versions or later on the respective
+ tracks. OTP 25.1 would be an even better choice.
+ Impacted are those who are running an ssl/tls/dtls
+ server using the ssl application either directly or
+ indirectly via other applications. For example via
+ inets (httpd), cowboy, etc. Note that the vulnerability
+ only affects servers that request client certification,
+ that is sets the option {verify, verify_peer}.
+
+
+ Full runtime dependencies of ssl-10.8.4: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.1 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-17934 Application(s): erts, kernel, stdlib
+ Related Id(s): PR-6007
+
+ Fixed inconsistency bugs in global due to
+ nodeup/nodedown messages not being delivered
+ before/after traffic over connections. Also fixed
+ various other inconsistency bugs and deadlocks in both
+ global_group and global.
+
+ As building blocks for these fixes, a new BIF
+ erlang:nodes/2 has been introduced and
+ net_kernel:monitor_nodes/2 has been extended.
+
+ The -hidden and -connect_all command line arguments did
+ not work if multiple instances were present on the
+ command line which has been fixed. The new kernel
+ parameter connect_all has also been introduced in order
+ to replace the -connect_all command line argument.
+
+
+ OTP-18139 Application(s): stdlib
+ Related Id(s): PR-6060
+
+ Fix the public_key:ssh* functions to be listed under
+ the correct release in the Removed Functionality User's
+ Guide.
+
+
+ OTP-18142 Application(s): stdlib
+ Related Id(s): PR-6078
+
+ The type spec for format_status/1 in gen_statem,
+ gen_server and gen_event has been corrected to state
+ that the return value is of the same type as the
+ argument (instead of the same value as the argument).
+
+
+ OTP-18146 Application(s): stdlib
+ Related Id(s): PR-5983
+
+ If the timer server child spec was already present in
+ kernel_sup but it was not started, the timer server
+ would fail to start with an {error, already_present}
+ error instead of restarting the server.
+
+
+ OTP-18239 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ When changing callback module in gen_statem the
+ state_enter calls flag from the old module was used in
+ for the first event in the new module, which could
+ confuse the new module and cause malfunction. This bug
+ has been corrected.
+
+ With this change some sys debug message formats have
+ been modified, which can be a problem for debug code
+ relying on the format.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ OTP-18166 Application(s): stdlib
+ Related Id(s): PR-6108
+
+ The rfc339_to_system_time/1,2 functions now allows the
+ minutes part to be omitted from the time zone.
+
+
+ OTP-18194 Application(s): stdlib
+ Related Id(s): PR-6199
+
+ The receive statement in gen_event has been optimized
+ to not use selective receive (which was never needed,
+ and could cause severe performance degradation under
+ heavy load).
+
+
+ OTP-18199 Application(s): erts, stdlib
+ Related Id(s): PR-5790
+
+ Add new API function erl_features:configurable/0
+
+
+ Full runtime dependencies of stdlib-4.1: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-8.4, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.30 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.30 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18165 Application(s): asn1, compiler, diameter, megaco, otp,
+ parsetools, stdlib, xmerl
+ Related Id(s): PR-5965
+
+ There is a new configure option,
+ --enable-deterministic-build, which will apply the
+ deterministic compiler option when building Erlang/OTP.
+ The deterministic option has been improved to eliminate
+ more sources of non-determinism in several
+ applications.
+
+
+ Full runtime dependencies of xmerl-1.3.30: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.2.1.README.txt b/release-notes/OTP-25.2.1.README.txt
new file mode 100644
index 0000000..84fbac4
--- /dev/null
+++ b/release-notes/OTP-25.2.1.README.txt
@@ -0,0 +1,182 @@
+Patch Package: OTP 25.2.1
+Git Tag: OTP-25.2.1
+Date: 2023-01-17
+Trouble Report Id: OTP-18357, OTP-18358, OTP-18362, OTP-18363,
+ OTP-18365, OTP-18368, OTP-18379, OTP-18383,
+ OTP-18388
+Seq num: ERIERL-879, ERIERL-895, ERIERL-904,
+ ERIERL-905, GH-6558
+System: OTP
+Release: 25
+Application: common_test-1.23.3, compiler-8.2.3,
+ erts-13.1.4, inets-8.2.1, kernel-8.5.3,
+ snmp-5.13.3
+Predecessor: OTP 25.2
+
+ Check out the git tag OTP-25.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.23.3 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.23.3 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18363 Application(s): common_test
+ Related Id(s): ERIERL-879
+
+ Change timeout to infinity for gen_server calls in
+ cth_log_redirect
+
+
+ Full runtime dependencies of common_test-1.23.3: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18365 Application(s): compiler
+
+ Fixed a bug that could cause legal code to fail
+ validation.
+
+
+ OTP-18368 Application(s): compiler
+
+ Eliminated a rare crash in the beam_types module.
+
+
+ Full runtime dependencies of compiler-8.2.3: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.1.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.1.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18383 Application(s): erts
+ Related Id(s): ERIERL-905
+
+ Fixed a bug in selective receive optimization that
+ could crash 32-bit emulators.
+
+
+ OTP-18388 Application(s): erts
+ Related Id(s): OTP-17462, PR-6662
+
+ A race condition which was very rarely triggered could
+ cause the signal queue of a process to become
+ inconsistent causing the runtime system to crash.
+
+
+ Full runtime dependencies of erts-13.1.4: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.2.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18362 Application(s): inets
+ Related Id(s): ERIERL-895, GH-6558
+
+ fixes a missing case of the type specification for
+ httpd:info/2/3/4
+
+
+ Full runtime dependencies of inets-8.2.1: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.5.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.5.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1.3 (first satisfied in OTP 25.2)
+ -- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18357 Application(s): kernel
+ Related Id(s): #6509
+
+ The tcp connect option 'bind_to_device' could not be
+ used with inet_backend = 'socket'. 'inet' requires
+ value type binarry() and 'socket' requires value type
+ 'string()'.
+
+
+ OTP-18358 Application(s): kernel
+ Related Id(s): #6528
+
+ Minor issue processing options when calling
+ gen_tcp:connect with a sockaddr() and inet_backend =
+ socket.
+
+
+ Full runtime dependencies of kernel-8.5.3: crypto-5.0, erts-13.1.3,
+ sasl-3.0, stdlib-4.1.1
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.13.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18379 Application(s): snmp
+ Related Id(s): ERIERL-904
+
+ Single threaded agent crash when vacm table not
+ properly initiated.
+
+
+ Full runtime dependencies of snmp-5.13.3: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.2.2.README.txt b/release-notes/OTP-25.2.2.README.txt
new file mode 100644
index 0000000..5722398
--- /dev/null
+++ b/release-notes/OTP-25.2.2.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 25.2.2
+Git Tag: OTP-25.2.2
+Date: 2023-01-30
+Trouble Report Id: OTP-18409
+Seq num: ERIERL-908
+System: OTP
+Release: 25
+Application: ftp-1.1.3
+Predecessor: OTP 25.2.1
+
+ Check out the git tag OTP-25.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ftp-1.1.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18409 Application(s): ftp
+ Related Id(s): ERIERL-908, PR-6721
+
+ Fixes calls to ftp:nlist/2 returning {error, epath}
+ when the file / folder exists
+
+
+ Full runtime dependencies of ftp-1.1.3: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.2.3.README.txt b/release-notes/OTP-25.2.3.README.txt
new file mode 100644
index 0000000..c573c12
--- /dev/null
+++ b/release-notes/OTP-25.2.3.README.txt
@@ -0,0 +1,150 @@
+Patch Package: OTP 25.2.3
+Git Tag: OTP-25.2.3
+Date: 2023-02-17
+Trouble Report Id: OTP-18386, OTP-18415, OTP-18417, OTP-18421,
+ OTP-18433, OTP-18461, OTP-18462, OTP-18467
+Seq num: ERIERL-888, ERIERL-890, GH-6772, GH-6807,
+ GH-6846
+System: OTP
+Release: 25
+Application: erts-13.1.5, inets-8.2.2, ssh-4.15.2,
+ ssl-10.8.7
+Predecessor: OTP 25.2.2
+
+ Check out the git tag OTP-25.2.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-13.1.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.1.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18415 Application(s): erts
+
+ Comparisons between small numbers and pids or ports
+ would in some edge cases say that the number was
+ greater than the pid or port, violating the term order.
+
+
+ OTP-18421 Application(s): erts
+ Related Id(s): PR-6806
+
+ process_info(Pid, status) when Pid /= self() could
+ return an erroneous result.
+
+
+ Full runtime dependencies of erts-13.1.5: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.2.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18461 Application(s): inets
+ Related Id(s): ERIERL-890
+
+ Ensure graceful shutdown
+
+
+ OTP-18462 Application(s): inets
+ Related Id(s): GH-6846
+
+ Return type of the type specification for function
+ httpc:cookie_header/{1,2,3} has been fixed from -spec
+ cookie_header(url()) -> [{ field(), value() }] |
+ {error, Reason} to -spec cookie_header(url()) -> {
+ field(), value() } | {error, Reason}
+
+
+ Full runtime dependencies of inets-8.2.2: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.15.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.15.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18386 Application(s): ssh
+ Related Id(s): PR-6611
+
+ With this change, ssh application does not crash when
+ formatting some of info reports for unsuccessful
+ connections.
+
+
+ OTP-18417 Application(s): ssh
+ Related Id(s): ERIERL-888, DAFH-1349, IA18357
+
+ With this change, ssh does not log extensively long
+ messages.
+
+
+ Full runtime dependencies of ssh-4.15.2: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8.7 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.8.7 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-18433 Application(s): ssl
+ Related Id(s): GH-6772
+
+ Maximize compatibility by ignoring change_cipher_spec
+ during handshake even if middle_box_mode is not
+ negotiated (mandated by client)
+
+
+ OTP-18467 Application(s): ssl
+ Related Id(s): GH-6807
+
+ Move assert of middlebox message after an
+ hello_retry_request to maximize interoperability. Does
+ not changes semantics of the protocol only allows
+ unexpected message delay from server.
+
+
+ Full runtime dependencies of ssl-10.8.7: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.2.README.txt b/release-notes/OTP-25.2.README.txt
new file mode 100644
index 0000000..9516633
--- /dev/null
+++ b/release-notes/OTP-25.2.README.txt
@@ -0,0 +1,782 @@
+Patch Package: OTP 25.2
+Git Tag: OTP-25.2
+Date: 2022-12-14
+Trouble Report Id: OTP-18213, OTP-18250, OTP-18251, OTP-18252,
+ OTP-18255, OTP-18256, OTP-18257, OTP-18267,
+ OTP-18268, OTP-18269, OTP-18270, OTP-18273,
+ OTP-18280, OTP-18281, OTP-18283, OTP-18284,
+ OTP-18289, OTP-18291, OTP-18292, OTP-18293,
+ OTP-18294, OTP-18295, OTP-18296, OTP-18298,
+ OTP-18302, OTP-18304, OTP-18306, OTP-18307,
+ OTP-18308, OTP-18313, OTP-18314, OTP-18315,
+ OTP-18317, OTP-18319, OTP-18321, OTP-18322,
+ OTP-18323, OTP-18324, OTP-18325, OTP-18326,
+ OTP-18328, OTP-18332, OTP-18333, OTP-18336,
+ OTP-18339, OTP-18343, OTP-18345, OTP-18347,
+ OTP-18349, OTP-18351, OTP-18352
+Seq num: ERIERL-865, ERIERL-867, ERIERL-875,
+ ERIERL-881, ERIERL-885, ERL-6435, GH-5823,
+ GH-6106, GH-6245, GH-6290, GH-6307, GH-6332,
+ GH-6341, GH-6363, GH-6373, GH-6387, GH-6393,
+ GH-6419, GH-6426, GH-6435, GH-6439, GH-6461,
+ GH-6465, GH-6466, GH-6473, GH-6496, GH-6501,
+ GH-6518
+System: OTP
+Release: 25
+Application: common_test-1.23.2, compiler-8.2.2,
+ dialyzer-5.0.4, erts-13.1.3, ftp-1.1.2,
+ inets-8.2, kernel-8.5.2, megaco-4.4.2,
+ mnesia-4.21.3, observer-2.14, os_mon-2.8,
+ public_key-1.13.2, snmp-5.13.2, ssh-4.15.1,
+ ssl-10.8.6, stdlib-4.2, wx-2.2.1
+Predecessor: OTP 25.1.2
+
+ Check out the git tag OTP-25.2, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18324 Application(s): erts, kernel
+ Related Id(s): GH-6461, PR-6481
+
+ The inet:setopts/2 {reuseaddr, true} option will now be
+ ignored on Windows unless the socket is an UDP socket.
+ For more information see the documentation of the
+ reuseaddr option part of the documentation of
+ inet:setopts/2.
+
+ Prior to OTP 25 the {reuseaddr, true} option was
+ ignored for all sockets on Windows, but as of OTP 25.0
+ this was changed so that it was not ignored for any
+ sockets.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.23.2 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.23.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18255 Application(s): common_test
+ Related Id(s): PR-6314
+
+ Fix starting of peer nodes on old releases when the
+ compile server was active and the current Erlang
+ installation contained non-latin1 characters in its
+ path.
+
+
+ Full runtime dependencies of common_test-1.23.2: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18268 Application(s): compiler
+ Related Id(s): GH-6332
+
+ Line number in compiler messages would be truncated to
+ 4 digits for line numbers greater than 9999.
+
+
+ OTP-18273 Application(s): compiler
+ Related Id(s): GH-6341
+
+ In rare circumstance, matching a binary as part of a
+ receive clause could cause the compiler to terminate
+ because of an internal consistency check failure.
+
+
+ OTP-18308 Application(s): compiler
+ Related Id(s): GH-6426
+
+ Compiling a function with complex bit syntax matching
+ such as f(<<X:0, _:X>>, <<Y:0, _:Y>>) -> ok. could
+ crash the compiler.
+
+
+ OTP-18325 Application(s): compiler, stdlib
+ Related Id(s): GH-6465, GH-6466
+
+ It is not allowed to call functions from guards. The
+ compiler failed to reject a call in a guard when done
+ by constructing a record with a default initialization
+ expression that called a function.
+
+
+ OTP-18336 Application(s): compiler, stdlib
+ Related Id(s): GH-6501, PR-6502
+
+ The compiler could crash when using a record with
+ complex field initialization expression as a filter in
+ a list comprehension.
+
+
+ Full runtime dependencies of compiler-8.2.2: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-5.0.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18307 Application(s): dialyzer
+ Related Id(s): GH-6419, GH-6473
+
+ Dialyzer would crash when attempting to analyze a bit
+ syntax segment size having an literal non-integer size
+ such as [].
+
+
+ OTP-18347 Application(s): dialyzer
+ Related Id(s): GH-6518, PR-6525
+
+ Dialyzer could crash when trying to analyze a
+ convoluted nested expression involving funs,
+
+
+ Full runtime dependencies of dialyzer-5.0.4: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.1.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.1.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18256 Application(s): erts
+ Related Id(s): PR-6316
+
+ Fix perf/gdb JIT symbols to not contain
+ CodeInfoPrologue for the JIT internal module
+ erts_beamasm.
+
+
+ OTP-18281 Application(s): erts
+ Related Id(s): PR-4840
+
+ Fixed minor memory leaks.
+
+
+ OTP-18284 Application(s): erts
+ Related Id(s): PR-6305
+
+ Fix bugs in ets:insert and ets:insert_new when called
+ with a list of tuples to insert while a concurrent
+ process either deletes or renames the table. The table
+ deletion could be done with ets:delete/1 or be caused
+ by termination of the table owning process.
+
+ Symptoms are either VM crash or strange incorrect
+ behavior from the insert operation. The risk of
+ triggering the bugs increases with the length of the
+ list of tuple to insert. Bugs exist since OTP 23.0.
+
+
+ OTP-18294 Application(s): erts
+ Related Id(s): PR-6390
+
+ Boost execution of scheduled thread progress jobs. This
+ to prevent memory exhaustion in extremely rapid
+ allocation/deallocation scenarios, such as repeated ETS
+ table creations/deletions.
+
+
+ OTP-18295 Application(s): erts
+
+ Fix segv crash during crash dumping an ETS table doing
+ ets:delete_all_objects.
+
+
+ OTP-18296 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ Spec for function net:if_names/0 incorrect
+
+
+ OTP-18306 Application(s): erts
+ Related Id(s): GH-6393, PR-6401
+
+ Fix bug in binary_to_term decoding a binary term 2Gbyte
+ or larger.
+
+
+ OTP-18313 Application(s): erts
+ Related Id(s): PR-6456
+
+ Documentation of erlang:module_loaded/1 has been
+ adjusted:
+
+ -- It did not previously say that the BIF only returns
+ true for modules loaded as current code.
+
+ -- The warning claiming that the BIF should only be
+ used by the code server has been removed.
+
+
+ OTP-18321 Application(s): erts
+
+ Fix list_to_atom/1 for negative code points. Could
+ either return with a positive code point or fail with
+ an incorrect exception.
+
+
+ OTP-18322 Application(s): erts
+ Related Id(s): PR-6479
+
+ Fix rare bug causing VM crash when sending to a pid of
+ a spawning process returned from erlang:processes/0.
+
+ Only seen when provoked by system process
+ literal_area_collector, triggered by a module purge
+ operation, on a VM started with +Meamin (no customized
+ allocators).
+
+
+ OTP-18323 Application(s): erts, kernel
+ Related Id(s): #6476
+
+ gen_udp:open/2 with option(s) add_membership or
+ drop_membership would drop earlier options.
+
+
+ OTP-18324 Application(s): erts, kernel
+ Related Id(s): GH-6461, PR-6481
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The inet:setopts/2 {reuseaddr, true} option will now be
+ ignored on Windows unless the socket is an UDP socket.
+ For more information see the documentation of the
+ reuseaddr option part of the documentation of
+ inet:setopts/2.
+
+ Prior to OTP 25 the {reuseaddr, true} option was
+ ignored for all sockets on Windows, but as of OTP 25.0
+ this was changed so that it was not ignored for any
+ sockets.
+
+
+ OTP-18328 Application(s): erts
+ Related Id(s): GH-6439, PR-6440
+
+ Fix bug in binary_to_term decoding a list of length 1G
+ or longer.
+
+
+ OTP-18343 Application(s): erts
+ Related Id(s): GH-6496
+
+ Fix bug in binary_to_term (and distributed receive)
+ when decoding a large map (>32 keys) with unsorted
+ small maps (<= 32) as keys of the large map.
+
+ This was only a problem if the term was encoded by
+ erl_interface, jinterface or otherwise, as the VM
+ itself always encodes small maps with sorted keys.
+
+ The "binary_to_term" would appear as successful but the
+ created large map was internally inconsistent. The
+ smaller key-maps could not be found with maps:get and
+ friends. Other operations such as map compare and merge
+ could probably also give incorrect results.
+
+
+ OTP-18345 Application(s): erts
+ Related Id(s): GH-6387, PR-6396
+
+ Fix Windows bug in open_port({spawn, Command}, ..) when
+ Command is found via the OS search PATH and that
+ directory path contains white spaces. The port program
+ would start but the command line arguments to it could
+ be incorrect.
+
+
+ Full runtime dependencies of erts-13.1.3: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ftp-1.1.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18252 Application(s): ftp
+ Related Id(s): GH-5823
+
+ fix unexpected result ok when calling ftp:nlist
+ repeatedly
+
+
+ Full runtime dependencies of ftp-1.1.2: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18250 Application(s): inets
+
+ This change allows body requests to httpc:request/5 be
+ an iolist()
+
+
+ OTP-18251 Application(s): inets
+ Related Id(s): GH-6245
+
+ addition of type specs in httpc.erl
+
+
+ OTP-18280 Application(s): inets
+ Related Id(s): GH-6290, PR-6291
+
+ httpc: Add support for HTTP 308 status code
+
+
+ Full runtime dependencies of inets-8.2: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.5.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.5.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1.3 (first satisfied in OTP 25.2)
+ -- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18270 Application(s): kernel
+ Related Id(s): #6331
+
+ Fixed shutdown crash in gen_tcp socket backend, when
+ the other end closed the socket.
+
+
+ OTP-18289 Application(s): kernel, stdlib
+ Related Id(s): PR-6343
+
+ erl_tar can now read gzip-compressed tar files that are
+ padded. There is a new option compressed_one for
+ file:open/2 that will read a single member from a gzip
+ file,
+
+
+ OTP-18291 Application(s): kernel
+ Related Id(s): PR-6382
+
+ Fix os:cmd to not translate all exceptions thrown to
+ badarg. For example emfile from erlang:open_port was
+ translated to badarg.
+
+ This bug has existed since Erlang/OTP 24.
+
+
+ OTP-18296 Application(s): erts, kernel
+ Related Id(s): OTP-16464
+
+ Spec for function net:if_names/0 incorrect
+
+
+ OTP-18315 Application(s): kernel
+
+ Missing ctrl option name transation for TOS and TTL (on
+ FreeBSD) when using gen_udp with the 'socket'
+ inet_backend.
+
+
+ OTP-18323 Application(s): erts, kernel
+ Related Id(s): #6476
+
+ gen_udp:open/2 with option(s) add_membership or
+ drop_membership would drop earlier options.
+
+
+ OTP-18324 Application(s): erts, kernel
+ Related Id(s): GH-6461, PR-6481
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The inet:setopts/2 {reuseaddr, true} option will now be
+ ignored on Windows unless the socket is an UDP socket.
+ For more information see the documentation of the
+ reuseaddr option part of the documentation of
+ inet:setopts/2.
+
+ Prior to OTP 25 the {reuseaddr, true} option was
+ ignored for all sockets on Windows, but as of OTP 25.0
+ this was changed so that it was not ignored for any
+ sockets.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18293 Application(s): kernel
+
+ The distribution socket option handling in
+ inet_tcp_dist has been cleaned up to clarify which were
+ mandatory and which just had default values.
+
+
+ OTP-18317 Application(s): kernel
+
+ Improve warning message format for gen_tcp_socket.
+
+
+ Full runtime dependencies of kernel-8.5.2: crypto-5.0, erts-13.1.3,
+ sasl-3.0, stdlib-4.1.1
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.4.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18298 Application(s): megaco
+
+ A very minor improvement to the measurement tool.
+
+
+ Full runtime dependencies of megaco-4.4.2: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.21.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18319 Application(s): mnesia
+ Related Id(s): ERIERL-875
+
+ Fixed crash which could happen during startup if too
+ many decisions where sent from remote nodes.
+
+
+ Full runtime dependencies of mnesia-4.21.3: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.14 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.14 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18339 Application(s): observer
+
+ A WX event race could causes a crash in when handling
+ socket or port info.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18269 Application(s): observer
+ Related Id(s): PR-6030
+
+ Improve the nodes menu to include more nodes.
+
+
+ Full runtime dependencies of observer-2.14: erts-11.0, et-1.5,
+ kernel-8.1, runtime_tools-1.19, stdlib-3.13, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.8 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.8 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18304 Application(s): os_mon
+ Related Id(s): PR-6385
+
+ The disk_space_check_interval configuration parameter
+ of disksup can now be set to values smaller than a
+ minute.
+
+
+ Full runtime dependencies of os_mon-2.8: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.13.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18333 Application(s): public_key
+ Related Id(s): GH-6363
+
+ Disregard LDAP URIs when HTTP URIs are expected.
+
+
+ Full runtime dependencies of public_key-1.13.2: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.13.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18352 Application(s): snmp
+ Related Id(s): ERIERL-881
+
+ Explicitly close the socket(s) when terminating
+ (default-) net-if process.
+
+
+ Full runtime dependencies of snmp-5.13.2: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.15.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.15.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18326 Application(s): ssh
+ Related Id(s): ERIERL-865
+
+ graceful shutdown of ssh_conection_handler when
+ connection is closed by peer
+
+
+ Full runtime dependencies of ssh-4.15.1: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.8.6 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.8.6 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18314 Application(s): ssl
+ Related Id(s): GH-6373
+
+ With this change, tls_sender process is hibernated
+ after sufficient inactivity.
+
+
+ OTP-18332 Application(s): ssl
+ Related Id(s): ERL-6435, GH-6435, PR-6435
+
+ Correct handling of legacy schemes so that ECDSA certs
+ using sha1 may be used for some TLS-1.3 configurations.
+
+
+ OTP-18349 Application(s): ssl
+
+ With this change, tls_sender does not cause logger
+ crash upon key update.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18257 Application(s): ssl
+ Related Id(s): GH-6307
+
+ Enhance warning message
+
+
+ OTP-18267 Application(s): ssl
+ Related Id(s): GH-6106, PR-6228
+
+ Provide server option to make certificate_authorities
+ extension in the TLS-1.3 servers certificate request
+ optional. This will allow clients to send incomplete
+ chains that may be reconstructable and thereby
+ verifiable by the server, but that would not adhere to
+ the certificate_authorities extension.
+
+
+ OTP-18302 Application(s): ssl
+ Related Id(s): ERIERL-867
+
+ If the verify_fun handles four arguments the DER cert
+ will be supplied as one of the arguments.
+
+
+ Full runtime dependencies of ssl-10.8.6: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.2 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- kernel-8.5.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18289 Application(s): kernel, stdlib
+ Related Id(s): PR-6343
+
+ erl_tar can now read gzip-compressed tar files that are
+ padded. There is a new option compressed_one for
+ file:open/2 that will read a single member from a gzip
+ file,
+
+
+ OTP-18292 Application(s): stdlib
+ Related Id(s): PR-6366
+
+ A concurrent call to ets:rename could cause
+ ets:delete_all_objects to fail halfway through with
+ badarg.
+
+
+ OTP-18325 Application(s): compiler, stdlib
+ Related Id(s): GH-6465, GH-6466
+
+ It is not allowed to call functions from guards. The
+ compiler failed to reject a call in a guard when done
+ by constructing a record with a default initialization
+ expression that called a function.
+
+
+ OTP-18336 Application(s): compiler, stdlib
+ Related Id(s): GH-6501, PR-6502
+
+ The compiler could crash when using a record with
+ complex field initialization expression as a filter in
+ a list comprehension.
+
+
+ OTP-18351 Application(s): stdlib
+ Related Id(s): ERIERL-885, PR-6529
+
+ unicode:characters_to_binary() could build
+ unnecessarily large call stack.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18283 Application(s): stdlib
+ Related Id(s): PR-6338
+
+ Improve error message for ets:new/2 name clash. Say
+ "name already exists" instead of less specific "invalid
+ options".
+
+
+ Full runtime dependencies of stdlib-4.2: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-8.5.1, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.2.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.2.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18213 Application(s): wx
+ Related Id(s): PR-6113
+
+ Added environment variable WX_MACOS_NON_GUI_APP to
+ allow user to override OSXIsGUIApplication behavior.
+
+
+ Full runtime dependencies of wx-2.2.1: erts-12.0, kernel-8.0,
+ stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.1.README.txt b/release-notes/OTP-25.3.1.README.txt
new file mode 100644
index 0000000..bd27f10
--- /dev/null
+++ b/release-notes/OTP-25.3.1.README.txt
@@ -0,0 +1,313 @@
+Patch Package: OTP 25.3.1
+Git Tag: OTP-25.3.1
+Date: 2023-04-27
+Trouble Report Id: OTP-18422, OTP-18480, OTP-18489, OTP-18497,
+ OTP-18506, OTP-18509, OTP-18512, OTP-18516,
+ OTP-18519, OTP-18525, OTP-18545, OTP-18550,
+ OTP-18553, OTP-18554, OTP-18555, OTP-18557,
+ OTP-18560, OTP-18563
+Seq num: ERIERL-873, ERIERL-928, ERIERL-937, GH-6956,
+ GH-6960, GH-6969, GH-7024, GH-7114
+System: OTP
+Release: 25
+Application: compiler-8.2.5, crypto-5.1.4, eldap-1.2.11,
+ erl_interface-5.3.2, erts-13.2.1,
+ inets-8.3.1, snmp-5.13.5, ssl-10.9.1,
+ stdlib-4.3.1, wx-2.2.2
+Predecessor: OTP 25.3
+
+ Check out the git tag OTP-25.3.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.5 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18497 Application(s): compiler
+ Related Id(s): GH-6960, PR-6965
+
+ When a map update such as #{}#{key:=value} that should
+ fail with an exception was unused, the exception would
+ be lost.
+
+
+ OTP-18516 Application(s): compiler
+ Related Id(s): GH-6969
+
+ Fixed bug in the validator that made it reject valid
+ code.
+
+
+ Full runtime dependencies of compiler-8.2.5: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.1.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18555 Application(s): crypto
+
+ With this change, random errors are fixed for
+ crypto:generate_key calls with OpenSSL 3.
+
+
+ Full runtime dependencies of crypto-5.1.4: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.11 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.11 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18480 Application(s): eldap
+
+ Added a new function eldap:info/1 that returns the
+ socket and the transport protocol for the eldap
+ connection.
+
+
+ Full runtime dependencies of eldap-1.2.11: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.3.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.3.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18554 Application(s): erl_interface, erts
+
+ Fixed configure tests for a few ARM-specific
+ instructions, which prevented the emulator from being
+ built on some platforms.
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18519 Application(s): erts
+ Related Id(s): GH-7024
+
+ Fixed a bug in the loader that prevented certain
+ modules compiled with no_ssa_opt from being loaded.
+
+
+ OTP-18525 Application(s): erts
+ Related Id(s): PR-7049
+
+ Implementations of the call() driver callback that
+ returned a faulty encoded result could cause a memory
+ leak and could cause invalid data on the heap of the
+ processes calling erlang:port_call/3.
+
+
+ OTP-18553 Application(s): erts
+
+ Fixed a memory corruption issue when upgrading code.
+ The bug was introduced in OTP 25.3
+
+
+ OTP-18554 Application(s): erl_interface, erts
+
+ Fixed configure tests for a few ARM-specific
+ instructions, which prevented the emulator from being
+ built on some platforms.
+
+
+ OTP-18557 Application(s): erts
+ Related Id(s): OTP-18496, PR-7131
+
+ Aliases created in combination with a monitor using the
+ {alias, explicit_unalias} option stopped working from
+ remote nodes when a 'DOWN' signal had been received due
+ to the monitor or if the monitor was removed using the
+ erlang:demonitor() BIF.
+
+ This bug was introduced in OTP 24.3.4.10 and OTP 25.3.
+
+
+ OTP-18560 Application(s): erts
+
+ In rare circumstances, bit syntax matching of an
+ invalid code point for a utf32 would crash the runtime
+ system.
+
+
+ OTP-18563 Application(s): erts
+ Related Id(s): GH-7114, PR-7159
+
+ Building the runtime system failed when native atomic
+ support was missing. Note that execution on such
+ systems have only been rudimentary tested.
+
+
+ Full runtime dependencies of erts-13.2.1: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.3.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.3.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18509 Application(s): inets
+ Related Id(s): OTP-18476
+
+ Correct timing related pipelining/keepalive queue bug,
+ that could result in unexpected "socket_remotly_closed"
+ errors.
+
+
+ OTP-18545 Application(s): inets
+ Related Id(s): ERIERL-928, ERIERL-937, OTP-18509
+
+ With this change, upon remote socket closure current
+ request is added to a retried queue (either pipeline or
+ keep_alive, but not both).
+
+
+ Full runtime dependencies of inets-8.3.1: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13.5 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.13.5 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18422 Application(s): snmp
+ Related Id(s): ERIERL-873
+
+ Attempts to minimize the number of the error reports
+ during a failed agent init.
+
+
+ Full runtime dependencies of snmp-5.13.5: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.9.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.9.1 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18489 Application(s): ssl
+
+ With this change, ssl:connection_information/2 returns
+ correct keylog data after TLS1.3 key update.
+
+
+ OTP-18550 Application(s): ssl
+
+ Client signature algorithm list input order is now
+ honored again , it was accidently reversed by a
+ previous fix.
+
+
+ Full runtime dependencies of ssl-10.9.1: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.3.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.3.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- kernel-8.5.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18506 Application(s): stdlib
+ Related Id(s): GH-6956
+
+ The type specs in the erl_parse module has been updated
+ to include the maybe construct and the ! operator.
+
+
+ Full runtime dependencies of stdlib-4.3.1: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-8.5.1, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.2.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.2.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18512 Application(s): wx
+
+ Improve debug prints from the nifs. Some minor fixes
+ for wxWidgets-3.2. Fixed OpenGL debug functions.
+
+
+ Full runtime dependencies of wx-2.2.2: erts-12.0, kernel-8.0,
+ stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.1.README.txt b/release-notes/OTP-25.3.2.1.README.txt
new file mode 100644
index 0000000..398aae7
--- /dev/null
+++ b/release-notes/OTP-25.3.2.1.README.txt
@@ -0,0 +1,174 @@
+Patch Package: OTP 25.3.2.1
+Git Tag: OTP-25.3.2.1
+Date: 2023-05-30
+Trouble Report Id: OTP-18556, OTP-18561, OTP-18569, OTP-18576,
+ OTP-18593, OTP-18595, OTP-18597
+Seq num: ERIERL-944, GH-7252
+System: OTP
+Release: 25
+Application: compiler-8.2.6.1, erts-13.2.2.1,
+ stdlib-4.3.1.1, xmerl-1.3.31.1
+Predecessor: OTP 25.3.2
+
+ Check out the git tag OTP-25.3.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.6.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.6.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18576 Application(s): compiler
+
+ Fixed a bug where a failing bsl expression in a guard
+ threw an exception instead of causing the guard to
+ fail.
+
+
+ OTP-18593 Application(s): compiler
+ Related Id(s): GH-7252
+
+ Complex guard expression using the or operator and
+ guard BIFs that can fail could sometimes be miscompiled
+ so that the guard would succeed even if a call to a
+ guard BIF failed.
+
+
+ Full runtime dependencies of compiler-8.2.6.1: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18561 Application(s): erts
+
+ Fixed a crash during tracing on certain platforms that
+ cannot use the machine stack for Erlang code (mainly
+ OpenBSD and Linux with musl).
+
+
+ OTP-18597 Application(s): erts
+
+ Constructing a binary segment not aligned with a byte
+ boundary, with a size not fitting in 31 bits, and with
+ a value not fitting in a 64-bit word could crash the
+ runtime system.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18569 Application(s): erts
+
+ Further robustify implementation of large maps (> 32
+ keys). Keys that happen to have same internal 32-bit
+ hash values are now put in collision nodes which are
+ traversed with linear search. This removes the demand
+ for the internal hash function when salted to
+ eventually produce different hashes for all possible
+ pairs of unequal terms.
+
+
+ Full runtime dependencies of erts-13.2.2.1: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.3.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.3.1.1 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 25
+ installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- kernel-8.5.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-18556 Application(s): stdlib
+
+ Static supervisors are very idle processes after they
+ have started so they will now be hibernated after start
+ to improve resource management.
+
+
+ Full runtime dependencies of stdlib-4.3.1.1: compiler-5.0,
+ crypto-4.5, erts-13.1, kernel-8.5.1, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.31.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.31.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18595 Application(s): xmerl
+ Related Id(s): ERIERL-944
+
+ New options to xmerl_scan and xmerl_sax_parser so one
+ can limit the behaviour of the parsers to avoid some
+ XML security issues.
+
+ xmerl_scan gets one new option:
+
+ -- {allow_entities, Boolean} -- Gives the possibility
+ to disallow entities by setting this option to false
+ (true is default)
+
+ xmerl_sax_parser gets the following options:
+
+ -- disallow_entities -- Don't allow entities in
+ document
+
+ -- {entity_recurse_limit, N} -- Set a limit on entity
+ recursion depth (default is 3)
+
+ -- {external_entities, AllowedType} -- Specify which
+ types of external entities that are allowed, this also
+ affect external DTD's. The types are all(default), file
+ and none
+
+ -- {fail_undeclared_ref, Boolean} -- Sets the behavior
+ for undeclared references due to an external file is
+ not parsed (true is default)
+
+ The old option skip_external_dtd is still valid and the
+ same as {external_entities, none} and
+ {fail_undeclared_ref, false} but just affects DTD's and
+ not other external references.
+
+
+ Full runtime dependencies of xmerl-1.3.31.1: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.10.README.txt b/release-notes/OTP-25.3.2.10.README.txt
new file mode 100644
index 0000000..2d8262b
--- /dev/null
+++ b/release-notes/OTP-25.3.2.10.README.txt
@@ -0,0 +1,155 @@
+Patch Package: OTP 25.3.2.10
+Git Tag: OTP-25.3.2.10
+Date: 2024-03-13
+Trouble Report Id: OTP-18971, OTP-18986, OTP-18996, OTP-19002,
+ OTP-19003, OTP-19006, OTP-19008, OTP-19015,
+ OTP-19019
+Seq num: ERIERL-1041, ERIERL-682, GH-8044, GH-8119,
+ GH-8187, PR-8173, PR-8174, PR-8189, PR-8201
+System: OTP
+Release: 25
+Application: compiler-8.2.6.4, crypto-5.1.4.2,
+ erts-13.2.2.7, ssh-4.15.3.3
+Predecessor: OTP 25.3.2.9
+
+ Check out the git tag OTP-25.3.2.10, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.6.4 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.6.4 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-19003 Application(s): compiler
+ Related Id(s): GH-8187, PR-8189
+
+ In rare circumstances, an unsafe optimization could
+ cause the compiler to generate incorrect code for list
+ matching.
+
+
+ OTP-19019 Application(s): compiler
+
+ In rare circumstances, the compiler code generate
+ unsafe code for a bit syntax match.
+
+
+ Full runtime dependencies of compiler-8.2.6.4: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1.4.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.1.4.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18996 Application(s): crypto
+ Related Id(s): PR-8173, PR-8174
+
+ The function crypto:pbkdf2_hmac will no longer block
+ the main schedulers. If the iteration count or block
+ size parameters are such that the function is likely to
+ take a long time to execute, the function will be
+ scheduled to run on a dirty CPU scheduler.
+
+
+ Full runtime dependencies of crypto-5.1.4.2: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2.7 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2.7 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18971 Application(s): erts
+ Related Id(s): GH-8044
+
+ Fix heap corruption bug that could cause runaway memory
+ consumption due to circular offheap list at process
+ exit. Other symptoms may also be possible. Bug exists
+ since OTP 25.0.
+
+
+ OTP-19006 Application(s): erts
+
+ The code server could be hanging if a module with
+ on_load function was loaded at the same time as another
+ module was purged using erlang:purge_module directly.
+
+
+ OTP-19008 Application(s): erts
+ Related Id(s): GH-8119, PR-8201
+
+ A process optimized for parallel signal delivery could
+ under some circumstances lose wakeup information. That
+ is, the processes was not woken up to take care of the
+ signal, so the signal would not be taken care of until
+ the process was woken by another signal. Only processes
+ configured with message_queue_data set to off_heap
+ utilize this optimization.
+
+
+ OTP-19015 Application(s): erts
+ Related Id(s): ERIERL-682
+
+ Fix bug in re:run/3 where if an invalid UTF-8 subject
+ was given, re:run could get stuck in an infinite loop.
+ Bug was introduced in Erlang/OTP 22.1.
+
+
+ Full runtime dependencies of erts-13.2.2.7: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.15.3.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.15.3.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18986 Application(s): ssh
+
+ With this change, more secure algorithms are preferred
+ by ssh and documentation is updated to reflect that.
+
+
+ OTP-19002 Application(s): ssh
+ Related Id(s): ERIERL-1041
+
+ With this change, KEX strict terminal message is
+ emitted with debug verbosity.
+
+
+ Full runtime dependencies of ssh-4.15.3.3: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.2.README.txt b/release-notes/OTP-25.3.2.2.README.txt
new file mode 100644
index 0000000..2eb454e
--- /dev/null
+++ b/release-notes/OTP-25.3.2.2.README.txt
@@ -0,0 +1,40 @@
+Patch Package: OTP 25.3.2.2
+Git Tag: OTP-25.3.2.2
+Date: 2023-06-07
+Trouble Report Id: OTP-18617
+Seq num: GH-7338
+System: OTP
+Release: 25
+Application: compiler-8.2.6.2
+Predecessor: OTP 25.3.2.1
+
+ Check out the git tag OTP-25.3.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.6.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.6.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18617 Application(s): compiler
+ Related Id(s): GH-7338
+
+ The compiler could be very slow when compiling guards
+ with multiple guard tests separated with 'or' or ';'.
+
+
+ Full runtime dependencies of compiler-8.2.6.2: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.3.README.txt b/release-notes/OTP-25.3.2.3.README.txt
new file mode 100644
index 0000000..85217ad
--- /dev/null
+++ b/release-notes/OTP-25.3.2.3.README.txt
@@ -0,0 +1,211 @@
+Patch Package: OTP 25.3.2.3
+Git Tag: OTP-25.3.2.3
+Date: 2023-06-29
+Trouble Report Id: OTP-18618, OTP-18626, OTP-18635, OTP-18643,
+ OTP-18644, OTP-18650, OTP-18659
+Seq num: ERIERL-932, GH-7336, GH-7356
+System: OTP
+Release: 25
+Application: compiler-8.2.6.3, debugger-5.3.1.1,
+ erts-13.2.2.2, kernel-8.5.4.1, ssl-10.9.1.1,
+ stdlib-4.3.1.2
+Predecessor: OTP 25.3.2.2
+
+ Check out the git tag OTP-25.3.2.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.6.3 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.6.3 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18626 Application(s): compiler
+ Related Id(s): GH-7356
+
+ Fixed a bug that could cause the stack trace of throw
+ exceptions to be erroneously optimized out.
+
+
+ Full runtime dependencies of compiler-8.2.6.3: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3.1.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.3.1.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18644 Application(s): debugger
+ Related Id(s): GH-7336
+
+ The call int:no_break(Module) did not remove any
+ breakpoints.
+
+
+ Full runtime dependencies of debugger-5.3.1.1: compiler-8.0,
+ erts-12.0, kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18635 Application(s): erts, kernel
+ Related Id(s): #7328
+
+ Multiple socket:accept calls issue. When making
+ multiple accept calls, only the last call is active.
+
+
+ OTP-18659 Application(s): erts, stdlib
+ Related Id(s): PR-7426
+
+ The following functions are now much faster when given
+ a long list or binary:
+
+ -- erlang:list_to_integer/1
+
+ -- erlang:binary_to_integer/1
+
+ -- erlang:binary_to_integer/2
+
+ -- erlang:list_to_integer/2
+
+ -- string:to_integer/1
+
+
+ Full runtime dependencies of erts-13.2.2.2: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.5.4.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.5.4.1 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 25
+ installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1.3 (first satisfied in OTP 25.2)
+ -- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18635 Application(s): erts, kernel
+ Related Id(s): #7328
+
+ Multiple socket:accept calls issue. When making
+ multiple accept calls, only the last call is active.
+
+
+ OTP-18650 Application(s): kernel
+
+ gen_udp:connect with inet_backend = socket fails when
+ the Address is a hostname (string or atom).
+
+
+ Full runtime dependencies of kernel-8.5.4.1: crypto-5.0, erts-13.1.3,
+ sasl-3.0, stdlib-4.1.1
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.9.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.9.1.1 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18643 Application(s): ssl
+ Related Id(s): ERIERL-932
+
+ Added keylog information to all protocol versions in
+ ssl:connection_information/2.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18618 Application(s): ssl
+ Related Id(s): ERIERL-932
+
+ Add RFC-6083 considerations for DTLS to enable gen_sctp
+ based callback for the transport.
+
+
+ Full runtime dependencies of ssl-10.9.1.1: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.3.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.3.1.2 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 25
+ installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- kernel-8.5.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18659 Application(s): erts, stdlib
+ Related Id(s): PR-7426
+
+ The following functions are now much faster when given
+ a long list or binary:
+
+ -- erlang:list_to_integer/1
+
+ -- erlang:binary_to_integer/1
+
+ -- erlang:binary_to_integer/2
+
+ -- erlang:list_to_integer/2
+
+ -- string:to_integer/1
+
+
+ Full runtime dependencies of stdlib-4.3.1.2: compiler-5.0,
+ crypto-4.5, erts-13.1, kernel-8.5.1, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.4.README.txt b/release-notes/OTP-25.3.2.4.README.txt
new file mode 100644
index 0000000..783da0e
--- /dev/null
+++ b/release-notes/OTP-25.3.2.4.README.txt
@@ -0,0 +1,42 @@
+Patch Package: OTP 25.3.2.4
+Git Tag: OTP-25.3.2.4
+Date: 2023-07-17
+Trouble Report Id: OTP-18664
+Seq num: ERIERL-959
+System: OTP
+Release: 25
+Application: common_test-1.24.0.1
+Predecessor: OTP 25.3.2.3
+
+ Check out the git tag OTP-25.3.2.4, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.24.0.1 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.24.0.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18664 Application(s): common_test
+ Related Id(s): ERIERL-959
+
+ With this change, prompt search functionality in
+ ct_telnet handles unicode input.
+
+
+ Full runtime dependencies of common_test-1.24.0.1: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.5.README.txt b/release-notes/OTP-25.3.2.5.README.txt
new file mode 100644
index 0000000..c41ded4
--- /dev/null
+++ b/release-notes/OTP-25.3.2.5.README.txt
@@ -0,0 +1,42 @@
+Patch Package: OTP 25.3.2.5
+Git Tag: OTP-25.3.2.5
+Date: 2023-07-31
+Trouble Report Id: OTP-18688
+Seq num: ERIERL-962
+System: OTP
+Release: 25
+Application: inets-8.3.1.1
+Predecessor: OTP 25.3.2.4
+
+ Check out the git tag OTP-25.3.2.5, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- inets-8.3.1.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.3.1.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18688 Application(s): inets
+ Related Id(s): ERIERL-962
+
+ Fixed a bug so httpd does not crash when stopped at the
+ wrong time during TLS connection negotiation, or any
+ other theoretically as slow connection setup.
+
+
+ Full runtime dependencies of inets-8.3.1.1: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.6.README.txt b/release-notes/OTP-25.3.2.6.README.txt
new file mode 100644
index 0000000..e4dc7f2
--- /dev/null
+++ b/release-notes/OTP-25.3.2.6.README.txt
@@ -0,0 +1,278 @@
+Patch Package: OTP 25.3.2.6
+Git Tag: OTP-25.3.2.6
+Date: 2023-09-07
+Trouble Report Id: OTP-18647, OTP-18670, OTP-18700, OTP-18704,
+ OTP-18706, OTP-18707, OTP-18708, OTP-18711,
+ OTP-18712, OTP-18718, OTP-18732, OTP-18737,
+ OTP-18740, OTP-18752
+Seq num: ERIERL-962, ERIERL-963, ERIERL-979, GH-7410,
+ GH-7413, GH-7431, GH-7436, GH-7444, GH-7507,
+ GH-7546
+System: OTP
+Release: 25
+Application: crypto-5.1.4.1, debugger-5.3.1.2,
+ erts-13.2.2.3, inets-8.3.1.2, kernel-8.5.4.2,
+ mnesia-4.21.4.1, public_key-1.13.3.1,
+ ssl-10.9.1.2
+Predecessor: OTP 25.3.2.5
+
+ Check out the git tag OTP-25.3.2.6, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1.4.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.1.4.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18670 Application(s): crypto
+ Related Id(s): GH-7436, PR-7450
+
+ Fix VM crash caused by crypto being purged and reloaded
+ (by init:restart for example) on OS with musl libc
+ (such as Alpine linux).
+
+
+ Full runtime dependencies of crypto-5.1.4.1: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3.1.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.3.1.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18740 Application(s): debugger
+ Related Id(s): GH-7410, PR-7599
+
+ The maybe expression is now supported in the Debugger.
+
+
+ Full runtime dependencies of debugger-5.3.1.2: compiler-8.0,
+ erts-12.0, kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2.3 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18647 Application(s): erts
+ Related Id(s): PR-7595
+
+ A process optimized for parallel signal delivery could
+ under some circumstances lose wakeup information. That
+ is, the processes was not woken up to take care of the
+ signal, so the signal would not be taken care of until
+ the process was woken by another signal. Only processes
+ configured with message_queue_data set to off_heap
+ utilize this optimization.
+
+
+ OTP-18706 Application(s): erts
+ Related Id(s): ERIERL-979, GH-7413, PR-7595
+
+ Delivery time of message signals to a process not
+ executing any receive expressions could become very
+ long, potentially infinite. For example, a process
+ checking for messages using process_info(self(),
+ message_queue_len) or process_info(self(), messages)
+ and avoiding to execute a receive expression matching
+ on messages could be very slow in detecting new
+ messages. Note that you are still discouraged from
+ using process_info() this way. A process that wants to
+ check if there are messages available to handle should
+ execute a receive expression matching on messages.
+
+
+ OTP-18732 Application(s): erts
+ Related Id(s): GH-7444, PR-7458
+
+ Fix bug causing "magic" references in a compressed ETS
+ table to not keep the referred object alive. The
+ symptom would be the referred object being garbage
+ collected prematurely and the reference appearing
+ stale, not referring to anything. Examples of such
+ magically referred objects are atomics and NIF
+ resources.
+
+
+ OTP-18737 Application(s): erts
+ Related Id(s): PR-7595
+
+ A constant flow of incoming non-message signals could
+ prevent a process needing to execute dirty from doing
+ so.
+
+
+ OTP-18752 Application(s): erts
+ Related Id(s): PR-7633
+
+ The cleanup operation of not yet delivered signals to a
+ terminated process yielded excessively.
+
+
+ Full runtime dependencies of erts-13.2.2.3: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.3.1.2 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.3.1.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18704 Application(s): inets
+ Related Id(s): ERIERL-962, OTP-18688, PR-7513
+
+ With this change, error report generated by httpd
+ during connection setup contains socket type
+ information.
+
+
+ OTP-18708 Application(s): inets
+ Related Id(s): ERIERL-962, OTP-18688
+
+ Stop and restart of the httpd server in the Inets
+ application has been refactored to a more synchronous
+ and OTP supervisor friendly approach.
+
+ This should increase stability and for example avoid a
+ supervisor report from httpd_connection_sup about
+ killed child process(es) in some cases when stopping or
+ restarting httpd.
+
+
+ Full runtime dependencies of inets-8.3.1.2: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.5.4.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.5.4.2 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 25
+ installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1.3 (first satisfied in OTP 25.2)
+ -- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18707 Application(s): kernel
+ Related Id(s): #7530
+
+ gen_tcp:connect with socket address and socket (inet-)
+ backend fails because of missing callback function.
+
+
+ Full runtime dependencies of kernel-8.5.4.2: crypto-5.0, erts-13.1.3,
+ sasl-3.0, stdlib-4.1.1
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21.4.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.21.4.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18711 Application(s): mnesia
+ Related Id(s): ERIERL-963
+
+ Do not delete old backup file if the new backup fails.
+
+
+ Full runtime dependencies of mnesia-4.21.4.1: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13.3.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.13.3.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18718 Application(s): public_key
+ Related Id(s): GH-7546
+
+ Country name comparison shall be case insensitive
+
+
+ Full runtime dependencies of public_key-1.13.3.1: asn1-3.0,
+ crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.9.1.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.9.1.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18700 Application(s): ssl
+ Related Id(s): GH-7507
+
+ The API function `ssl:recv/3` has been tightened to
+ disallow negative length, which has never been
+ documented to work, but was passed through and caused
+ strange errors.
+
+
+ OTP-18712 Application(s): ssl
+ Related Id(s): GH-7431
+
+ When a client initiated renegotiation was rejected and
+ the client socket was in active mode the expected error
+ message to the controlling process was not sent.
+
+
+ Full runtime dependencies of ssl-10.9.1.2: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.7.README.txt b/release-notes/OTP-25.3.2.7.README.txt
new file mode 100644
index 0000000..e1c5dd3
--- /dev/null
+++ b/release-notes/OTP-25.3.2.7.README.txt
@@ -0,0 +1,106 @@
+Patch Package: OTP 25.3.2.7
+Git Tag: OTP-25.3.2.7
+Date: 2023-10-12
+Trouble Report Id: OTP-18773, OTP-18790, OTP-18792, OTP-18797
+Seq num: GH-7683, GH-7687
+System: OTP
+Release: 25
+Application: erts-13.2.2.4, stdlib-4.3.1.3
+Predecessor: OTP 25.3.2.6
+
+ Check out the git tag OTP-25.3.2.7, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18790 Application(s): erts
+ Related Id(s): PR-7742
+
+ If the external term format encoding of an argument
+ list part of a distributed spawn operation was faulty,
+ the newly spawned remote process could misbehave. The
+ misbehavior included hanging or interpret an incoming
+ message as an argument list to use. This was very
+ unlikely to happen unless using an alternate
+ implementation of the distribution protocol which made
+ a faulty encoding of the argument list. The child
+ process will now detect this error and terminate before
+ executing the user specified code.
+
+
+ OTP-18792 Application(s): erts
+ Related Id(s): GH-7687
+
+ On Apple Silicon Macs running macOS Sonoma, the runtime
+ system with the JIT enabled would crash. Therefore, the
+ configure script will by default now disable the JIT on
+ Macs with Apple Silicon. When building for earlier
+ versions of macOS, the JIT can be explicitly enabled by
+ passing --enable-jit to the configure script.
+
+
+ OTP-18797 Application(s): erts
+ Related Id(s): GH-7683, PR-7712
+
+ Fix bugs where if the body of a matchspec would return
+ a map with a variable ('$1', '$_' etc) as one of the
+ keys or values and the variable was not an immidiate,
+ the term would not be copied to the receiving processes
+ heap. This would later corrupt the term in the table as
+ the GC could place move markers in it, which in turn
+ would cause the VM to crash.
+
+ Bug has been present for since OTP 17.0.
+
+
+ Full runtime dependencies of erts-13.2.2.4: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.3.1.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.3.1.3 application *cannot* be applied
+ independently of other applications on an arbitrary OTP 25
+ installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- kernel-8.5.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Improvements and New Features ---
+
+ OTP-18773 Application(s): stdlib
+ Related Id(s): PR-7691
+
+ Garbage collect the shell process when reducing the
+ amount of saved history and results.
+
+
+ Full runtime dependencies of stdlib-4.3.1.3: compiler-5.0,
+ crypto-4.5, erts-13.1, kernel-8.5.1, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.8.README.txt b/release-notes/OTP-25.3.2.8.README.txt
new file mode 100644
index 0000000..a2a876f
--- /dev/null
+++ b/release-notes/OTP-25.3.2.8.README.txt
@@ -0,0 +1,348 @@
+Patch Package: OTP 25.3.2.8
+Git Tag: OTP-25.3.2.8
+Date: 2023-12-18
+Trouble Report Id: OTP-18739, OTP-18768, OTP-18802, OTP-18830,
+ OTP-18838, OTP-18839, OTP-18841, OTP-18842,
+ OTP-18844, OTP-18850, OTP-18869, OTP-18877,
+ OTP-18885, OTP-18886, OTP-18896, OTP-18897,
+ OTP-18899, OTP-18902
+Seq num: GH-7571, GH-7801, GH-7834, GH-7890
+System: OTP
+Release: 25
+Application: asn1-5.0.21.1, erl_interface-5.3.2.1,
+ erts-13.2.2.5, mnesia-4.21.4.2,
+ public_key-1.13.3.2, ssh-4.15.3.1,
+ ssl-10.9.1.3, wx-2.2.2.1
+Predecessor: OTP 25.3.2.7
+
+ Check out the git tag OTP-25.3.2.8, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18897 Application(s): ssh
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-25.3.2.8 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18896 Application(s): otp
+
+ Updated copyright and license information.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.0.21.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.0.21.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18844 Application(s): asn1
+
+ Fix benign warning from gcc 11 about mismatching call
+ to free().
+
+
+ Full runtime dependencies of asn1-5.0.21.1: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.3.2.1 -------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.3.2.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18877 Application(s): erl_interface, erts
+
+ Replaced old md5 implementation with an implementation
+ from OpenSSL.
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2.5 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2.5 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18802 Application(s): erts
+
+ Fix faulty debug assert when page size is larger than
+ 16kb, like on PowerPC. Did crash debug VM directly at
+ start.
+
+
+ OTP-18838 Application(s): erts
+ Related Id(s): GH-7801, PR-7822
+
+ A process with message_queue_data configured as
+ off_heap could end up in an inconsistent state when
+ being receive traced, inspected using process_info/2
+ with the message_queue_len item, or inspected using the
+ break menu (CTRL-C). When it ended up in this
+ inconsistent state, it was not enqueued into a run
+ queue even though it was set in a runnable state.This
+ also effected signals being sent to the process after
+ it had gotten into this inconsistent state, in such a
+ way that it was from this point not possible to
+ communicate with it.
+
+
+ OTP-18839 Application(s): erts
+ Related Id(s): GH-7801, PR-7822
+
+ A race occurring when a process was selected for dirty
+ execution simultaneously as it was scheduled for
+ handling a signal could cause the process to end up in
+ an inconsistent state. When it ended up in this
+ inconsistent state, it was not enqueued into a run
+ queue even though it was set in a runnable state. This
+ also effected signals being sent to the process after
+ it had gotten into this inconsistent state, in such a
+ way that it was from this point not possible to
+ communicate with it.
+
+
+ OTP-18841 Application(s): erts
+ Related Id(s): GH-7801, OTP-18737, PR-7822
+
+ When a process had to to wait in the run queue for a
+ long time before being selected for dirty execution, it
+ could not receive signals. This caused inspection of
+ such a process, for example using process_info/2, to
+ take a long time.
+
+ This issue was introduced in OTP 25.3.2.6 and 26.1 when
+ fixing an issue where a constant flow of signals
+ prevented a process from being able to execute dirty.
+
+
+ OTP-18842 Application(s): erts
+
+ Fixed a bug in the JIT that miscompiled large
+ select_val instructions.
+
+
+ OTP-18885 Application(s): erts
+ Related Id(s): GH-7834, GH-7890, PR-7915
+
+ On OTP 24 and OTP 25, incoming distributed messages
+ larger than 64 KiB sent using an alias leaked memory if
+ the alias had been removed prior to entering the node.
+ This issue was not present on OTP 26.
+
+ Incoming distributed messages larger than 64 KiB sent
+ using an alias which had been removed on the receiving
+ node could crash the node. This crash was quite
+ unlikely on OTP 24 and OTP 25, but very likely on OTP
+ 26.
+
+ 'DOWN' signals with exit reason larger than 64 KiB
+ directed towards a process on a node with a not
+ matching creation leaked memory on the receiving node.
+ Such signals should however be very rare.
+
+
+ OTP-18902 Application(s): erts
+
+ Removed unnecessary PCRE source tar-ball.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18830 Application(s): erts
+ Related Id(s): PR-7823
+
+ Removed unnecessary regexp library used when generating
+ yielding BIFs.
+
+
+ OTP-18877 Application(s): erl_interface, erts
+
+ Replaced old md5 implementation with an implementation
+ from OpenSSL.
+
+
+ OTP-18899 Application(s): erts
+
+ Removed unused makewhatis script.
+
+
+ Full runtime dependencies of erts-13.2.2.5: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21.4.2 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.21.4.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18850 Application(s): mnesia
+
+ mnesia:add_table_copy/3 no longer fails with reason
+ system_limit when the node is starting.
+
+
+ Full runtime dependencies of mnesia-4.21.4.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13.3.2 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.13.3.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18739 Application(s): public_key, ssl
+
+ ssl application will validate id-kp-serverAuth and
+ id-kp-clientAuth extended key usage only in end entity
+ certificates. public_key application will disallow
+ "anyExtendedKeyUsage" for CA certificates that includes
+ the extended key usage extension and marks it critical.
+
+
+ Full runtime dependencies of public_key-1.13.3.2: asn1-3.0,
+ crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.15.3.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.15.3.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18869 Application(s): ssh
+ Related Id(s): GH-7571, PR-7849
+
+ With this change, connection handler does not execute
+ socket operations until it becomes socket owner.
+ Previously errors could occur if connection handler
+ tried to work with socket whose owner exited.
+
+
+ OTP-18897 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH.
+
+
+ Full runtime dependencies of ssh-4.15.3.1: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.9.1.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.9.1.3 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18739 Application(s): public_key, ssl
+
+ ssl application will validate id-kp-serverAuth and
+ id-kp-clientAuth extended key usage only in end entity
+ certificates. public_key application will disallow
+ "anyExtendedKeyUsage" for CA certificates that includes
+ the extended key usage extension and marks it critical.
+
+
+ OTP-18886 Application(s): ssl
+
+ Add missing export for connection_info() API type.
+
+
+ Full runtime dependencies of ssl-10.9.1.3: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.2.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.2.2.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18768 Application(s): wx
+ Related Id(s): PR-7670
+
+ The wx application would fail to build on macOS with
+ Xcode 15.
+
+
+ Full runtime dependencies of wx-2.2.2.1: erts-12.0, kernel-8.0,
+ stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.9.README.txt b/release-notes/OTP-25.3.2.9.README.txt
new file mode 100644
index 0000000..5cace9a
--- /dev/null
+++ b/release-notes/OTP-25.3.2.9.README.txt
@@ -0,0 +1,108 @@
+Patch Package: OTP 25.3.2.9
+Git Tag: OTP-25.3.2.9
+Date: 2024-02-08
+Trouble Report Id: OTP-18911, OTP-18932, OTP-18957, OTP-18964
+Seq num: ERIERL-1023, GH-8051
+System: OTP
+Release: 25
+Application: common_test-1.24.0.2, erts-13.2.2.6,
+ ssh-4.15.3.2
+Predecessor: OTP 25.3.2.8
+
+ Check out the git tag OTP-25.3.2.9, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.24.0.2 --------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.24.0.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18932 Application(s): common_test
+
+ Fix how CT finds Erlang/OTP releases for compatability
+ testing. This functionality is only used to test
+ Erlang/OTP.
+
+
+ Full runtime dependencies of common_test-1.24.0.2: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2.6 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2.6 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18911 Application(s): erts
+ Related Id(s): ERIERL-1023, PR-7983
+
+ 32-bit runtime systems on most Unix like platforms
+ could crash if a BIF timer was set with a huge timeout
+ of more than 68 years into the future. In order for the
+ crash to occur, the huge timer (at a later time than
+ when it was set) had to become the nearest active timer
+ set on the specific scheduler on which it was set. This
+ could not happen on a system with only one scheduler
+ since there would always be shorter timers in the
+ system.
+
+ Setting a timer larger than 49 days on Windows could
+ under rare circumstances cause the timeout to be
+ delayed.
+
+
+ OTP-18957 Application(s): erts
+ Related Id(s): GH-8051, OTP-18841, PR-8088
+
+ Garbage collection of a process on a dirty scheduler
+ could collide with signal handling for that process
+ causing a crash of the runtime system. This bug was
+ introduced in OTP 25.3.2.8 and OTP 26.2.
+
+
+ Full runtime dependencies of erts-13.2.2.6: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.15.3.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.15.3.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18964 Application(s): ssh
+
+ With this change, Curve25519 and Curve448 KEX methods
+ become most preferred (related to RFC8731).
+
+
+ Full runtime dependencies of ssh-4.15.3.2: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.2.README.txt b/release-notes/OTP-25.3.2.README.txt
new file mode 100644
index 0000000..6032244
--- /dev/null
+++ b/release-notes/OTP-25.3.2.README.txt
@@ -0,0 +1,101 @@
+Patch Package: OTP 25.3.2
+Git Tag: OTP-25.3.2
+Date: 2023-05-05
+Trouble Report Id: OTP-18559, OTP-18565, OTP-18570
+Seq num: ERIERL-942, GH-7147
+System: OTP
+Release: 25
+Application: compiler-8.2.6, erts-13.2.2, os_mon-2.8.2
+Predecessor: OTP 25.3.1
+
+ Check out the git tag OTP-25.3.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.6 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.6 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18565 Application(s): compiler
+ Related Id(s): GH-7147
+
+ Fixed type handling bugs that could cause an internal
+ error in the compiler for correct code.
+
+
+ Full runtime dependencies of compiler-8.2.6: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2.2 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18570 Application(s): erts
+ Related Id(s): PR-7190
+
+ If a runtime system which was starting the distribution
+ already had existing pids, ports, or references
+ referring to a node with the same nodename/creation
+ pair that the runtime system was about to use, these
+ already existing pids, ports, or references would not
+ work as expected in various situations after the node
+ had gone alive. This could only occur if the runtime
+ system was communicated such pids, ports, or references
+ prior to the distribution was started. That is, it was
+ extremely unlikely to happen unless the distribution
+ was started dynamically and was even then very unlikely
+ to happen. The runtime system now checks for already
+ existing pids, ports, and references with the same
+ nodename/creation pair that it is about to use. If such
+ are found another creation will be chosen in order to
+ avoid these issues.
+
+
+ Full runtime dependencies of erts-13.2.2: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.8.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.8.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18559 Application(s): os_mon
+ Related Id(s): ERIERL-942
+
+ Avoid error report from failing erlang:port_close at
+ shutdown of cpu_sup and memsup. Bug exists since OTP
+ 25.3 (os_mon-2.8.1).
+
+
+ Full runtime dependencies of os_mon-2.8.2: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-25.3.README.txt b/release-notes/OTP-25.3.README.txt
new file mode 100644
index 0000000..e9a94c1
--- /dev/null
+++ b/release-notes/OTP-25.3.README.txt
@@ -0,0 +1,1150 @@
+Patch Package: OTP 25.3
+Git Tag: OTP-25.3
+Date: 2023-03-08
+Trouble Report Id: OTP-16607, OTP-18316, OTP-18348, OTP-18356,
+ OTP-18366, OTP-18371, OTP-18372, OTP-18373,
+ OTP-18374, OTP-18375, OTP-18378, OTP-18380,
+ OTP-18381, OTP-18382, OTP-18384, OTP-18387,
+ OTP-18390, OTP-18391, OTP-18392, OTP-18393,
+ OTP-18398, OTP-18404, OTP-18406, OTP-18407,
+ OTP-18408, OTP-18411, OTP-18412, OTP-18418,
+ OTP-18426, OTP-18429, OTP-18432, OTP-18434,
+ OTP-18443, OTP-18446, OTP-18454, OTP-18457,
+ OTP-18458, OTP-18460, OTP-18463, OTP-18469,
+ OTP-18470, OTP-18472, OTP-18475, OTP-18496
+Seq num: GH-4232, GH-4733, GH-5984, GH-6160, GH-6356,
+ GH-6402, GH-6403, GH-6448, GH-6475, GH-6506,
+ GH-6537, GH-6573, GH-6580, GH-6591, GH-6595,
+ GH-6601, GH-6604, GH-6656, GH-6672, GH-6677,
+ GH-6701, GH-6707, GH-6717, GH-6873, GH-6947
+System: OTP
+Release: 25
+Application: common_test-1.24, compiler-8.2.4,
+ crypto-5.1.3, debugger-5.3.1, dialyzer-5.0.5,
+ erl_interface-5.3.1, erts-13.2, eunit-2.8.2,
+ ftp-1.1.4, inets-8.3, jinterface-1.13.2,
+ kernel-8.5.4, megaco-4.4.3, mnesia-4.21.4,
+ os_mon-2.8.1, public_key-1.13.3,
+ reltool-0.9.1, snmp-5.13.4, ssh-4.15.3,
+ ssl-10.9, stdlib-4.3, syntax_tools-3.0.1,
+ tftp-1.0.4, xmerl-1.3.31
+Predecessor: OTP 25.2.3
+
+ Check out the git tag OTP-25.3, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18374 Application(s): erts
+ Related Id(s): PR-6632
+
+ Support for fully asynchronous distributed signaling
+ where send operations *never* block. This functionality
+ is by default disabled and can be enabled per process.
+ For more information see the documentation of
+ process_flag(async_dist, Bool).
+
+
+ ---------------------------------------------------------------------
+ --- OTP-25.3 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18387 Application(s): otp
+
+ Clarified the documentation on how to enable maybe
+ expressions.
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.24 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.24 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18460 Application(s): common_test
+
+ Renamed undocumented macro CT_PEER/3 to CT_PEER_REL/3.
+
+
+ Full runtime dependencies of common_test-1.24: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.2.4 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.2.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18378 Application(s): compiler
+ Related Id(s): GH-6604
+
+ Fixed a bug that would cause the compiler to hang.
+
+
+ OTP-18381 Application(s): compiler
+ Related Id(s): GH-6601
+
+ Fixed a crash when compiling code that contained maybe
+ expressions.
+
+
+ OTP-18407 Application(s): compiler
+ Related Id(s): GH-6707
+
+ Constructing a binary with an explicit size of all for
+ a binary segment would crash the compiler.
+
+
+ OTP-18470 Application(s): compiler
+ Related Id(s): GH-6873, PR-6877
+
+ The compiler would generate incorrect code for the
+ following type of expression:
+
+ Pattern = BoundVar1 = . . . = BoundVarN = Expression
+
+ An exception should be raised if any of the bound
+ variables have different values than Expression. The
+ compiler would generate code that would cause the bound
+ variables to be bound to the value of Expressionwhether
+ the value matched or not.
+
+
+ Full runtime dependencies of compiler-8.2.4: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.1.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.1.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18384 Application(s): crypto
+ Related Id(s): PR-6596
+
+ A user defined runtime library path configured using
+ --with-ssl-rpath=<PATHS> could fail to be enabled.
+
+
+ OTP-18408 Application(s): crypto
+
+ Ensure that configure fails if a user defined runtime
+ library path has been passed by the user, but cannot
+ set.
+
+
+ Full runtime dependencies of crypto-5.1.3: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.3.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18372 Application(s): debugger, dialyzer, reltool, stdlib
+ Related Id(s): GH-6580
+
+ Fixed a bug that would cause analysis to crash.
+
+
+ Full runtime dependencies of debugger-5.3.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.0.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-5.0.5 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18372 Application(s): debugger, dialyzer, reltool, stdlib
+ Related Id(s): GH-6580
+
+ Fixed a bug that would cause analysis to crash.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of dialyzer-5.0.5: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.3.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.3.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18404 Application(s): erl_interface, jinterface, kernel
+ Related Id(s): GH-6595, PR-6625
+
+ Accept connection setup from OTP 23 and 24 nodes that
+ are not using epmd.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-13.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The erts-13.2 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- kernel-8.5 (first satisfied in OTP 25.1)
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18348 Application(s): erts, kernel
+ Related Id(s): GH-6356
+
+ Fixed a bug on Windows where file:read_file_info/1
+ would fail for files with corrupt metadata.
+
+
+ OTP-18373 Application(s): erts
+ Related Id(s): GH-6573, PR-6574
+
+ Fix process_info(_, binary) to again include "writable
+ binaries" which were lost in OTP-25.0. Writable
+ binaries are an optimization used when binaries are
+ appended upon in a loop.
+
+
+ OTP-18382 Application(s): erts
+ Related Id(s): PR-6585
+
+ Fix rare race when receiving fragmented messages on a
+ terminating connection. Could potentially cause memory
+ leaks as well as double free crashes. Bug exists since
+ OTP 22.0.
+
+
+ OTP-18391 Application(s): erts
+
+ Fixed bug that could maybe cause problems when a file
+ descriptor number is closed by a linked in driver and
+ then opened (reused) and passed to enif_select by a
+ NIF. No actual symptoms seen, only failed internal
+ assertions in debug build.
+
+
+ OTP-18398 Application(s): erts
+ Related Id(s): GH-5984, GH-6448, PR-6495
+
+ The runtime system could crash when tracing a process
+ executing on a dirty scheduler.
+
+
+ OTP-18406 Application(s): erts
+ Related Id(s): GH-6701
+
+ In the binary syntax, attempting to match out integers
+ with size exceeding 2 GiB could crash the runtime
+ system.
+
+
+ OTP-18411 Application(s): erts
+ Related Id(s): GH-6717
+
+ Fixed edge case in floating-point negation where A =
+ 0.0, B = -A did not produce B = -0.0 on x86_64 JIT.
+
+
+ OTP-18418 Application(s): erts
+
+ Fixed an issue in the JIT that could crash the emulator
+ on some platforms.
+
+
+ OTP-18429 Application(s): erts
+ Related Id(s): GH-4232, GH-6537, PR-6587
+
+ Added meta data to the windows installer.
+
+
+ OTP-18434 Application(s): erts
+ Related Id(s): PR-6752
+
+ Fixed ETS insertion order into bag and duplicate_bag of
+ tuples with identical keys when passed in a list to
+ ets:insert/2. The insert order has been head-to-tail
+ but was accidentally changed in OTP 23.0. For bag it
+ was reverted (tail-to-head), while for duplicate_bag it
+ was sometimes reverted depending on the length of the
+ list and number of "reductions" left for the calling
+ process.
+
+ This fix changes the insert order of ets:insert/2 back
+ to always be head-to-tail of the list argument.
+
+
+ OTP-18454 Application(s): erts
+ Related Id(s): PR-6839
+
+ With the JIT for AArch64 (AMD64), calling bxor in with
+ non-integer arguments in a guard would crash the
+ runtime system.
+
+
+ OTP-18457 Application(s): erts
+ Related Id(s): PR-6816
+
+ Fix bug regarding process flag max_heap_size. Could
+ cause strange behavior when a process was killed due to
+ exceeding the limit.
+
+
+ OTP-18458 Application(s): erts
+
+ Fixed binary comprehensions to be similar to other
+ creation of binary data with respect to its
+ contribution of triggering garbage collection.
+
+
+ OTP-18463 Application(s): erts
+ Related Id(s): PR-6858
+
+ In rare circumstances, when a process exceeded its
+ allowed heap size set by option max_heap_size, it would
+ not be killed as it should be, but instead enter a kind
+ of zombie state it would never get out of.
+
+
+ OTP-18475 Application(s): erts, stdlib
+ Related Id(s): PR-6897
+
+ Instead of crashing, the list_to_integer/1 and
+ list_to_integer/2 BIFs now raise the system_limit
+ exception for overlong lists that can't be converted to
+ integers. Similarly, the string:to_integer/1 BIF now
+ returns {error,system_limit} for overlong lists.
+
+
+ OTP-18496 Application(s): erts
+ Related Id(s): GH-6947, PR-6953
+
+ Active process aliases of a process at its termination
+ leaked memory.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18374 Application(s): erts
+ Related Id(s): PR-6632
+
+ *** HIGHLIGHT ***
+
+ Support for fully asynchronous distributed signaling
+ where send operations *never* block. This functionality
+ is by default disabled and can be enabled per process.
+ For more information see the documentation of
+ process_flag(async_dist, Bool).
+
+
+ OTP-18426 Application(s): erts
+
+ Added the +JPperf no_fp option to explicitly disable
+ Erlang frame pointers otherwise added when using the
+ +JPperf map option.
+
+
+ Full runtime dependencies of erts-13.2: kernel-8.5, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.8.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.8.2 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of eunit-2.8.2: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ftp-1.1.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of ftp-1.1.4: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-8.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18472 Application(s): inets
+ Related Id(s): DAFH-1592
+
+ With this change, handling of URI to a folder, with
+ missing trailing / and a query component present is
+ fixed.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18390 Application(s): inets
+ Related Id(s): PR-6661
+
+ Adds more type information to the inets app, thus
+ improving the errors that static analysis tools can
+ detect.
+
+ The addition of type information to records and the
+ updates to function heads help static analysis tools to
+ understand that some values in the records cannot be
+ 'undefined', thus making static tools to type check
+ correctly more modules in the inets app
+
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of inets-8.3: erts-6.0, kernel-6.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.13.2 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The jinterface-1.13.2 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18404 Application(s): erl_interface, jinterface, kernel
+ Related Id(s): GH-6595, PR-6625
+
+ Accept connection setup from OTP 23 and 24 nodes that
+ are not using epmd.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-8.5.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The kernel-8.5.4 application *cannot* be applied independently
+ of other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1.3 (first satisfied in OTP 25.2)
+ -- stdlib-4.1.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18348 Application(s): erts, kernel
+ Related Id(s): GH-6356
+
+ Fixed a bug on Windows where file:read_file_info/1
+ would fail for files with corrupt metadata.
+
+
+ OTP-18404 Application(s): erl_interface, jinterface, kernel
+ Related Id(s): GH-6595, PR-6625
+
+ Accept connection setup from OTP 23 and 24 nodes that
+ are not using epmd.
+
+
+ Full runtime dependencies of kernel-8.5.4: crypto-5.0, erts-13.1.3,
+ sasl-3.0, stdlib-4.1.1
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.4.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of megaco-4.4.3: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.21.4 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.21.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18412 Application(s): mnesia
+
+ Improved consistency for dirty writes when a table was
+ added with add_table_copy/3.
+
+ Fixed a problem with sticky write, which could lead to
+ inconsistent data.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of mnesia-4.21.4: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.8.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.8.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18469 Application(s): os_mon
+ Related Id(s): PR-6689
+
+ The port programs used by cpu_sup and memsup are now
+ gracefully shut down when cpu_sup and memsup are shut
+ down.
+
+
+ Full runtime dependencies of os_mon-2.8.1: erts-6.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.13.3 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.13.3 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18316 Application(s): public_key
+ Related Id(s): GH-6402, PR-6883
+
+ As different solutions of verifying certificate
+ revocation exists move the decode of
+ 'CRLDistributionPoints' so that it will only be decode.
+ When it is actually used in the verification process.
+ This would enable interoperability with systems that
+ use certificates with an invalid empty
+ CRLDistributionPoints extension that they want to
+ ignore and make verification by other means.
+
+
+ OTP-18356 Application(s): public_key
+ Related Id(s): GH-6403
+
+ public_key:pkix_path_validation validates certificates
+ expiring after 2050
+
+
+ OTP-18392 Application(s): public_key
+ Related Id(s): GH-6656
+
+ Do not leave exit message in message queue after
+ calling cacerts_load() on MacOS.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of public_key-1.13.3: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.9.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The reltool-0.9.1 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18372 Application(s): debugger, dialyzer, reltool, stdlib
+ Related Id(s): GH-6580
+
+ Fixed a bug that would cause analysis to crash.
+
+
+ Full runtime dependencies of reltool-0.9.1: erts-7.0, kernel-3.0,
+ sasl-2.4, stdlib-3.4, tools-2.6.14, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.13.4 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.13.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of snmp-5.13.4: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-4.15.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-4.15.3 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18446 Application(s): ssh
+ Related Id(s): GH-6475
+
+ With this change, PKCS8 formatted private key file is
+ properly decoded and SSH daemon with such key can be
+ started.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of ssh-4.15.3: crypto-5.0, erts-11.0,
+ kernel-6.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ --- ssl-10.9 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The ssl-10.9 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependency has to be satisfied:
+ -- stdlib-4.1 (first satisfied in OTP 25.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18371 Application(s): ssl
+ Related Id(s): GH-6160
+
+ Fixed that new dtls connections from the same client ip
+ port combination works. If there is a process waiting
+ for accept the new connection will connect to that,
+ otherwise it will try to re-connect to the old server
+ connection.
+
+
+ OTP-18443 Application(s): ssl
+ Related Id(s): PR-6810
+
+ When shutting down a node that uses SSL distribution
+ (-proto_dist inet_tls), a confusing error message about
+ an unexpected process exit was printed. This particular
+ message is no longer generated.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18366 Application(s): ssl
+ Related Id(s): GH-6506, PR-6565
+
+ fixes the type spec for ssl:format_error/1
+
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of ssl-10.9: crypto-5.0, erts-10.0,
+ inets-5.10.7, kernel-8.4, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-4.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ Note! The stdlib-4.3 application *cannot* be applied independently of
+ other applications on an arbitrary OTP 25 installation.
+
+ On a full OTP 25 installation, also the following runtime
+ dependencies have to be satisfied:
+ -- erts-13.1 (first satisfied in OTP 25.1)
+ -- kernel-8.5.1 (first satisfied in OTP 25.1.1)
+
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18372 Application(s): debugger, dialyzer, reltool, stdlib
+ Related Id(s): GH-6580
+
+ Fixed a bug that would cause analysis to crash.
+
+
+ OTP-18375 Application(s): stdlib
+ Related Id(s): GH-6591
+
+ Fixed a crash when formatting stack traces for error
+ reports.
+
+
+ OTP-18475 Application(s): erts, stdlib
+ Related Id(s): PR-6897
+
+ Instead of crashing, the list_to_integer/1 and
+ list_to_integer/2 BIFs now raise the system_limit
+ exception for overlong lists that can't be converted to
+ integers. Similarly, the string:to_integer/1 BIF now
+ returns {error,system_limit} for overlong lists.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18393 Application(s): stdlib
+ Related Id(s): PR-6666
+
+ Removal of non-necessary undefined types added to the
+ state's supervisor record.
+
+
+ Full runtime dependencies of stdlib-4.3: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-8.5.1, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.0.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The syntax_tools-3.0.1 application can be applied independently of
+ other applications on a full OTP 25 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18380 Application(s): syntax_tools
+ Related Id(s): GH-4733, PR-6523
+
+ erl_syntax_lib:annotate_bindings/1,2 will now properly
+ annotate named functions and their arguments.
+
+
+ Full runtime dependencies of syntax_tools-3.0.1: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.0.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tftp-1.0.4 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of tftp-1.0.4: erts-6.0, kernel-6.0,
+ stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.31 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.31 application can be applied independently of other
+ applications on a full OTP 25 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18432 Application(s): dialyzer, eunit, ftp, inets, megaco,
+ mnesia, public_key, snmp, ssh, ssl, tftp, xmerl
+ Related Id(s): GH-6672, GH-6677, PR-6670, PR-6671,
+ PR-6673, PR-6674, PR-6682, PR-6684, PR-6694, PR-6696,
+ PR-6784, PR-6785, PR-6787, PR-6793, PR-6796, PR-6797,
+ PR-6798, PR-6799, PR-6800, PR-6813
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of xmerl-1.3.31: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.0-rc1.README.txt b/release-notes/OTP-26.0-rc1.README.txt
new file mode 100644
index 0000000..ce28f52
--- /dev/null
+++ b/release-notes/OTP-26.0-rc1.README.txt
@@ -0,0 +1,2475 @@
+Inital Release: OTP 26.0
+Git Tag: OTP-26.0
+Date: 2023-02-15
+Trouble Report Id: OTP-14835, OTP-15597, OTP-15903, OTP-16607,
+ OTP-17771, OTP-17932, OTP-18016, OTP-18029,
+ OTP-18053, OTP-18126, OTP-18131, OTP-18135,
+ OTP-18137, OTP-18140, OTP-18141, OTP-18150,
+ OTP-18159, OTP-18167, OTP-18168, OTP-18176,
+ OTP-18185, OTP-18188, OTP-18204, OTP-18206,
+ OTP-18209, OTP-18210, OTP-18211, OTP-18221,
+ OTP-18225, OTP-18226, OTP-18227, OTP-18228,
+ OTP-18230, OTP-18231, OTP-18235, OTP-18236,
+ OTP-18237, OTP-18238, OTP-18246, OTP-18247,
+ OTP-18248, OTP-18253, OTP-18254, OTP-18259,
+ OTP-18261, OTP-18271, OTP-18272, OTP-18274,
+ OTP-18275, OTP-18276, OTP-18277, OTP-18278,
+ OTP-18279, OTP-18282, OTP-18285, OTP-18286,
+ OTP-18287, OTP-18297, OTP-18300, OTP-18301,
+ OTP-18303, OTP-18305, OTP-18309, OTP-18312,
+ OTP-18318, OTP-18327, OTP-18334, OTP-18335,
+ OTP-18337, OTP-18338, OTP-18340, OTP-18342,
+ OTP-18344, OTP-18350, OTP-18354, OTP-18355,
+ OTP-18360, OTP-18361, OTP-18364, OTP-18367,
+ OTP-18369, OTP-18377, OTP-18385, OTP-18405,
+ OTP-18410, OTP-18413, OTP-18414, OTP-18419,
+ OTP-18423, OTP-18424, OTP-18425, OTP-18430,
+ OTP-18431, OTP-18435, OTP-18438, OTP-18439,
+ OTP-18440, OTP-18441, OTP-18442, OTP-18444,
+ OTP-18445, OTP-18447, OTP-18448, OTP-18451,
+ OTP-18452, OTP-18453, OTP-18456, OTP-18459
+Seq num: GH-3150, GH-3390, GH-4225, GH-4343, GH-4965,
+ GH-5325, GH-5333, GH-5639, GH-5695, GH-5877,
+ GH-5889, GH-6014, GH-6085, GH-6117, GH-6132,
+ GH-6139, GH-6156, GH-6221, GH-6333, GH-6348,
+ GH-6461, GH-6477, GH-6544, GH-6606, GH-6672,
+ GH-6679
+System: OTP
+Release: 26
+Application: asn1-5.1, common_test-1.24, compiler-8.3,
+ crypto-5.2, dialyzer-5.1, diameter-2.3,
+ erl_docgen-1.5, erl_interface-5.4, erts-14.0,
+ inets-8.3, jinterface-1.14, kernel-9.0,
+ mnesia-4.22, observer-2.15, os_mon-2.9,
+ public_key-1.14, reltool-0.10,
+ runtime_tools-1.20, sasl-4.2.1, ssh-5.0,
+ ssl-11.0, stdlib-5.0, syntax_tools-3.1,
+ tools-3.6, wx-2.3
+Predecessor: OTP
+
+ Check out the git tag OTP-26.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are almost
+ three times faster than in Erlang/OTP 25.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ In the lists, the zip family of functions now takes
+ options to allow handling lists of different lengths.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+
+ OTP-18459 Application(s): ssl
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-26.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18364 Application(s): otp
+
+ Starting from Erlang/OTP 24, it has been possible to
+ write expressions such as A = catch Expr without
+ parentheses around the catch expression, but it was not
+ mentioned in the documentation. It now is.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on windows as many more checks are
+ cached.
+
+
+ OTP-18209 Application(s): otp
+ Related Id(s): PR-5881
+
+ Fix the make target release, release_docs, install and
+ install-docs now work when the target path contains
+ whitespace and/or unicode characters.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18441 Application(s): asn1
+
+ Minor code improvements.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of asn1-5.1: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.24 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18377 Application(s): common_test
+ Related Id(s): PR-6437
+
+ This change improves Common Test docs (CT hook example
+ code) and adds Emacs skeleton with hook code.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18259 Application(s): common_test
+ Related Id(s): PR-5924
+
+ Updated common_test with a more robust way to fetch old
+ releases, while ignoring the current release.
+
+
+ OTP-18340 Application(s): common_test
+
+ - re-write the XML ct module documentation into erlang
+ types to make Dialyzer able to catch more precise
+ errors
+
+
+ Full runtime dependencies of common_test-1.24: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ Full runtime dependencies of compiler-8.3: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18204 Application(s): crypto
+ Related Id(s): PR-6203
+
+ Add support for SHAKE128 and SHAKE256.
+
+
+ OTP-18206 Application(s): crypto
+ Related Id(s): PR-6167
+
+ Make the -DOPENSSL_API_COMPAT flag work without
+ warnings.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of crypto-5.2: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18237 Application(s): dialyzer
+ Related Id(s): GH-6221, PR-6243
+
+ When checking behaviors, Dialyzer could generate false
+ warning that a callback function did not have the
+ correct type according to the spec in the behavior
+ definition.
+
+
+ OTP-18276 Application(s): dialyzer
+ Related Id(s): GH-6333
+
+ In a spec, list(none()) used to mean none(). It has now
+ been corrected to mean the empty list.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ *** HIGHLIGHT ***
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18238 Application(s): dialyzer
+ Related Id(s): PR-6271
+
+ Dialyzer now produces clearer error messages for
+ contract violations.
+
+
+ OTP-18282 Application(s): dialyzer
+ Related Id(s): GH-6132, PR-6335
+
+ The name of a built-in type can now be reused as the
+ name of type locally. That is useful when an OTP
+ release introduces a new built-in type; having the
+ possibility to redefine built-in types locally can make
+ it easier to maintain code that works in multiple OTP
+ releases.
+
+
+ OTP-18342 Application(s): dialyzer
+ Related Id(s): GH-6117, PR-6654
+
+ Dialyzer's overloaded domain warning becomes is
+ disabled by default, and can be enabled with the flag
+ -Woverlapping_contract.
+
+ Dialyzer used to issue a warning for overloaded domains
+ stating "such contracts are currently unsupported and
+ are simply ignored".
+
+ These contracts are not "ignored" but rather, Dialyzer
+ takes the union of the overloaded domains. This means
+ that we lose the dependency from each corresponding
+ input to output type. Because of this, the warning is
+ really about not being able to establish a dependency
+ between the input and output types of each respective
+ overloaded function specification.
+
+
+ OTP-18439 Application(s): dialyzer
+ Related Id(s): GH-5695, PR-6822
+
+ Dialyzer has enabled (by default) warnings about
+ unknown types and functions.
+
+ Prior to this change, Dialyzer had warnings about
+ unknown types and functions disabled (by default).
+
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested
+ by the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the -Wunknown
+ function is enabled by default:
+
+ dialyzer moduler.erl -Wunknown -Wmissing_return
+
+ dialyzer moduler.erl -Wmissing_return
+
+ Dialyzer has a new flag, -Wno_unknown. Its purpose is
+ to suppress warnings about unknown functions and types.
+
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: dialyzer module.erl
+ -Wno_unknown
+
+
+ Full runtime dependencies of dialyzer-5.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-4.0, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ Full runtime dependencies of diameter-2.3: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-3.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18338 Application(s): erl_docgen
+ Related Id(s): PR-6408
+
+ New XML tag <change>. Like a <note> box, but with a
+ different (steel blue) color and label. Intended to
+ contain talk about semantic differences between OTP
+ releases.
+
+
+ Full runtime dependencies of erl_docgen-1.5: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.4 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18016 Application(s): erts
+
+ If a local fun was called while reloading the *exact
+ same* module that defined said fun, there was a small
+ window in which the call would land in code that was
+ yet to be fully loaded.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18274 Application(s): erts
+ Related Id(s): PR-6048
+
+ Fix so that -fno-omit-frame-pointer is applied to all
+ of the Erlang VM when using the JIT so that tools, such
+ as perf, can crawl the process stacks.
+
+
+ OTP-18277 Application(s): erts
+ Related Id(s): PR-6306
+
+ Compilation server now support unicode paths in
+ compilation server for filesystems that are encoded
+ with unicode.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ Preparation for adding Windows support to 'socket'.
+
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on windows as many more checks are
+ cached.
+
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18131 Application(s): erts
+
+ Optimized internal hash routines.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18141 Application(s): erts
+ Related Id(s): OTP-18140, PR-6073
+
+ Optimization of process aliases made possible now that
+ support for version 4 node container types in the
+ external term format is mandatory.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18227 Application(s): erts
+ Related Id(s): PR-6254
+
+ When erl -eval fails to execute the command is not
+ printed to standard_error.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ *** HIGHLIGHT ***
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18360 Application(s): erts
+ Related Id(s): PR-6497
+
+ erlang:display/1 will now print large maps in a more
+ readable way (similar to how small maps are printed).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18369 Application(s): erts
+
+ Fail enif_init_resource_type and friends by returning
+ NULL if not called during load/upgrade. Old behavior
+ was undefined.
+
+
+ OTP-18410 Application(s): erts
+ Related Id(s): GH-5889, PR-6345
+
+ New option include_shared_binaries for the
+ max_heap_size process limit. If set to true, large
+ binaries (> 64 bytes), which may be referred by several
+ processes, are included in the memory sum compared
+ against the max_heap_size limit.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18424 Application(s): erts
+ Related Id(s): PR-6716
+
+ Reduced memory usage of file:read_file_info/1,2
+
+
+ OTP-18425 Application(s): erts
+ Related Id(s): GH-5333, PR-6628
+
+ Add new function current_stacktrace for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the current stacktrace of the
+ caller into the trace message sent to the trace
+ receiver.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ *** HIGHLIGHT ***
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ *** HIGHLIGHT ***
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of erts-14.0: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18167 Application(s): inets
+
+ By default ssl connections will use options from
+ ssl_default_options(true)
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ Full runtime dependencies of inets-8.3: erts-14.0, kernel-9.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18210 Application(s): kernel
+ Related Id(s): GH-5877, PR-5878
+
+ Fix bug where duplicate keys were allowed in the .app
+ file of an application. Duplicate keys are now rejected
+ and the application will not start if they exist.
+
+
+ OTP-18225 Application(s): kernel
+ Related Id(s): PR-6036
+
+ Fix inconsistent handling in logger_formatter of the
+ branched values in conditional branches. For example
+ using msg in a conditional branch would not be
+ formatted as it should before this fix.
+
+
+ OTP-18226 Application(s): kernel
+ Related Id(s): PR-6253
+
+ Fix the logger_std_h handler to log to standard_error
+ if logging to standard_io fails for any reason.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18286 Application(s): kernel
+ Related Id(s): PR-5955
+
+ Fix logging of log events generated before kernel is
+ started to not fail if the code for formatting those
+ log messaged have not yet been loaded.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ Preparation for adding Windows support to 'socket'.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18261 Application(s): kernel
+ Related Id(s): PR-5924
+
+ Add code:get_doc/2 which adds support to fetch
+ documentation skeletons of functions using debug_info
+ chunks instead of eep48 doc chunks.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18305 Application(s): kernel
+ Related Id(s): PR-5831
+
+ gen_server optimized by caching callback functions
+
+
+ OTP-18327 Application(s): kernel
+ Related Id(s): PR-6433
+
+ Prepare the pg communication protocol for upgrade. The
+ plan is for OTP-28 nodes to be able to use an upgraded
+ pg protocol while still being able to talk with OTP 26
+ nodes.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18419 Application(s): kernel
+
+ The function file:pid2name/1 is deprecated and will be
+ removed in Erlang/OTP 27.
+
+
+ OTP-18442 Application(s): kernel
+ Related Id(s): GH-6606, PR-6786
+
+ The modules Erlang DNS resolver inet_res and helper
+ modules have been updated for RFC6891; to handle OPT RR
+ with DNSSEC OK (DO) bit.
+
+
+ OTP-18444 Application(s): kernel
+ Related Id(s): PR-6035
+
+ Introduced application:get_supervisor/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18448 Application(s): kernel
+ Related Id(s): PR-6736
+
+ Reduce contention on the code_server by doing the code
+ preparation on the client.
+
+
+ OTP-18451 Application(s): kernel
+ Related Id(s): PR-6737
+
+ Added a mode to ensure_all_loaded, to start children
+ application and their dependencies concurrently.
+
+
+ OTP-18452 Application(s): kernel
+ Related Id(s): PR-6729
+
+ Cache OTP boot code paths, to limit how many folders
+ that are being accessed during a module lookup. Can be
+ disabled with -cache_boot_path false. OTP boot code
+ paths consists of ERL_LIB environment variables. The
+ various otp/*/ebin folders. And the {path, ...} clauses
+ in the init script.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ Full runtime dependencies of kernel-9.0: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.22 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18309 Application(s): mnesia
+ Related Id(s): PR-6377
+
+ Added debug statistics for active transactions.
+
+
+ Full runtime dependencies of mnesia-4.22: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.15 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18430 Application(s): observer
+ Related Id(s): PR-6397
+
+ Added start/1, start_and_wait functions/1|2 functions.
+
+
+ Full runtime dependencies of observer-2.15: erts-14.0, et-1.5,
+ kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.9 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18246 Application(s): os_mon
+ Related Id(s): GH-6156, PR-6284
+
+ Fix internal os_mon_sysinfo:get_disk_info/1 function to
+ not crash when run on Windows with multiple drives.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18303 Application(s): os_mon
+ Related Id(s): PR-6384
+
+ The disksup:get_disk_info/0 and disksup:get_disk_info/1
+ functions have been introduced. These can be used in
+ order to immediately fetch information about current
+ disk usage.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ Full runtime dependencies of os_mon-2.9: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of public_key-1.14: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-0.10 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18230 Application(s): reltool
+ Related Id(s): PR-5936
+
+ Add possibility to strip specific chunks from beam
+ files included in a release. Before this change it was
+ only possible to strip all chunks from the beam files.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ Full runtime dependencies of reltool-0.10: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0, tools-2.6.14, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.20 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18211 Application(s): runtime_tools
+ Related Id(s): PR-6143
+
+ Add dbg:tracer(file, Filename) as a convenient way to
+ trace to a file in clean text.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of runtime_tools-1.20: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18300 Application(s): sasl
+ Related Id(s): PR-6389
+
+ Improve error message from systools:make_script, when
+ .app parameters contain duplicates. The parameters that
+ will be checked are modules, applications and
+ registered.
+
+
+ Full runtime dependencies of sasl-4.2.1: erts-10.2, kernel-6.0,
+ stdlib-4.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18231 Application(s): ssh
+ Related Id(s): OTP-17932, PR-6144
+
+ The ssh_cli has been updated to work with the changes
+ introduced in the new Erlang shell implementation.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ Full runtime dependencies of ssh-5.0: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15903 Application(s): ssl
+
+ Improved error checking and handling of ssl options.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18253 Application(s): ssl
+
+ With this change, TLS 1.3 server can be configured to
+ include client certificate in session ticket.
+
+
+ OTP-18254 Application(s): ssl
+ Related Id(s): PR-5982
+
+ With this change, it is possible to configure
+ encryption seed to be used with TLS1.3 stateless
+ tickets. This enables using tickets on different server
+ instances.
+
+
+ OTP-18312 Application(s): ssl
+
+ Debugging enhancements.
+
+
+ OTP-18335 Application(s): ssl
+
+ With this change, maybe keyword atom is not used as
+ function name in ssl code.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ OTP-18453 Application(s): ssl
+
+ Mitigate memory usage from large certificate chains by
+ lowering the maximum handshake size. This should not
+ effect the common cases, if needed it can be configured
+ to a higher value.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ OTP-18459 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ Full runtime dependencies of ssl-11.0: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18275 Application(s): stdlib
+ Related Id(s): PR-6045
+
+ All process calls in dets have been updated to use the
+ receive queue optimizations.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-15597 Application(s): stdlib
+ Related Id(s): PR-5831
+
+ Gen_server now caches external functions for use in
+ handle_call, handle_cast and handle_info.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18150 Application(s): stdlib
+
+ Added codepoint category to unicode_util
+
+
+ OTP-18159 Application(s): stdlib
+ Related Id(s): PR-6904
+
+ Added the zip:zip_get_crc32/2 function to retrieve the
+ CRC32 checksum from an opened ZIP archive.
+
+
+ OTP-18176 Application(s): stdlib
+ Related Id(s): PR-6118
+
+ Add the new options post_process_args and detached to
+ peer:start function.
+
+
+ OTP-18221 Application(s): stdlib
+ Related Id(s): PR-6197
+
+ The re:replace/3,4 functions now accept as the
+ replacement argument.
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ *** HIGHLIGHT ***
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are almost
+ three times faster than in Erlang/OTP 25.
+
+
+ OTP-18236 Application(s): stdlib
+ Related Id(s): PR-6256
+
+ Improved implementation of timer:apply_interval/4
+ reducing load on the timer server, and introduction of
+ the new function timer:apply_repeatedly/4.
+ timer:apply_repeatedly/4 is similar to
+ timer:apply_interval/4, but timer:apply_repeatedly/4
+ prevents parallel execution of triggered apply
+ operations which timer:apply_interval/4 does not.
+
+
+ OTP-18247 Application(s): stdlib
+ Related Id(s): PR-6280, PR-6711
+
+ The base64 module now supports encoding and decoding
+ with an alternate URL safe alphabet, and an option for
+ accepting or adding missing = padding characters.
+
+
+ OTP-18272 Application(s): stdlib
+ Related Id(s): PR-6279
+
+ Add shell:whereis/0 which can be used to locate the
+ current shell process.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18279 Application(s): stdlib
+ Related Id(s): PR-6234
+
+ New function ets:lookup_element/4 with a Default
+ argument returned if the key did not exist in the
+ table. The old ets:lookup_element/3 raises a badarg
+ exception which can be both inconveniente and slower.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18287 Application(s): stdlib
+ Related Id(s): PR-5955
+
+ peer nodes using standard_io connections now include
+ standard error from the node in the io stream from the
+ started node.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18301 Application(s): stdlib
+ Related Id(s): PR-6350
+
+ Improve type specification of
+ unicode:characters_to_list().
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ *** HIGHLIGHT ***
+
+ In the lists, the zip family of functions now takes
+ options to allow handling lists of different lengths.
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18354 Application(s): stdlib
+ Related Id(s): PR-6297
+
+ The binary:encode_hex/2 function has been added to
+ allow the encoded hexadecimal digits to be in either
+ lower or upper case.
+
+
+ OTP-18355 Application(s): stdlib
+ Related Id(s): PR-6507
+
+ Variants of timer:tc() with user specified time unit
+ have been introduced.
+
+
+ OTP-18361 Application(s): stdlib
+ Related Id(s): PR-6536
+
+ New function math:tau/0. Returns 2*math:pi().
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18385 Application(s): stdlib
+ Related Id(s): PR-6698
+
+ Optimized gen_server:multi_call().
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18423 Application(s): stdlib
+ Related Id(s): com/erlang/backlog/issues/142,
+ https://github
+
+ Make gen_server fail "silently" with a new return value
+ for init/1.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+
+ Full runtime dependencies of stdlib-5.0: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ Full runtime dependencies of syntax_tools-3.1: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ Full runtime dependencies of tools-3.6: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.3 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ Full runtime dependencies of wx-2.3: erts-12.0, kernel-8.0,
+ stdlib-3.15
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.0-rc2.README.txt b/release-notes/OTP-26.0-rc2.README.txt
new file mode 100644
index 0000000..23c8f66
--- /dev/null
+++ b/release-notes/OTP-26.0-rc2.README.txt
@@ -0,0 +1,3216 @@
+Inital Release: OTP 26.0
+Git Tag: OTP-26.0
+Date: 2023-03-22
+Trouble Report Id: OTP-14835, OTP-15597, OTP-15903, OTP-16607,
+ OTP-17771, OTP-17932, OTP-18016, OTP-18029,
+ OTP-18053, OTP-18126, OTP-18131, OTP-18135,
+ OTP-18137, OTP-18140, OTP-18141, OTP-18150,
+ OTP-18159, OTP-18167, OTP-18168, OTP-18176,
+ OTP-18185, OTP-18188, OTP-18204, OTP-18206,
+ OTP-18209, OTP-18210, OTP-18211, OTP-18221,
+ OTP-18225, OTP-18226, OTP-18227, OTP-18228,
+ OTP-18230, OTP-18231, OTP-18235, OTP-18236,
+ OTP-18237, OTP-18238, OTP-18246, OTP-18247,
+ OTP-18248, OTP-18253, OTP-18254, OTP-18259,
+ OTP-18261, OTP-18271, OTP-18272, OTP-18274,
+ OTP-18275, OTP-18276, OTP-18277, OTP-18278,
+ OTP-18279, OTP-18282, OTP-18285, OTP-18286,
+ OTP-18287, OTP-18297, OTP-18300, OTP-18301,
+ OTP-18303, OTP-18305, OTP-18309, OTP-18310,
+ OTP-18312, OTP-18318, OTP-18327, OTP-18334,
+ OTP-18335, OTP-18337, OTP-18338, OTP-18340,
+ OTP-18342, OTP-18344, OTP-18350, OTP-18354,
+ OTP-18355, OTP-18359, OTP-18360, OTP-18361,
+ OTP-18364, OTP-18367, OTP-18369, OTP-18377,
+ OTP-18385, OTP-18389, OTP-18405, OTP-18410,
+ OTP-18413, OTP-18414, OTP-18419, OTP-18423,
+ OTP-18424, OTP-18425, OTP-18430, OTP-18431,
+ OTP-18435, OTP-18438, OTP-18439, OTP-18440,
+ OTP-18441, OTP-18442, OTP-18444, OTP-18445,
+ OTP-18447, OTP-18448, OTP-18451, OTP-18452,
+ OTP-18453, OTP-18455, OTP-18456, OTP-18459,
+ OTP-18466, OTP-18471, OTP-18474, OTP-18476,
+ OTP-18477, OTP-18483, OTP-18484, OTP-18485,
+ OTP-18486, OTP-18487, OTP-18488, OTP-18490,
+ OTP-18491, OTP-18492, OTP-18493, OTP-18494,
+ OTP-18495, OTP-18498, OTP-18499, OTP-18500,
+ OTP-18501, OTP-18502, OTP-18505, OTP-18510,
+ OTP-18511, OTP-18515, OTP-18517, OTP-18518,
+ OTP-18520, OTP-18521, OTP-18522, OTP-18523,
+ OTP-18524
+Seq num: GH-3150, GH-3390, GH-4225, GH-4343, GH-4965,
+ GH-5325, GH-5333, GH-5639, GH-5695, GH-5877,
+ GH-5889, GH-5899, GH-6014, GH-6085, GH-6098,
+ GH-6117, GH-6132, GH-6139, GH-6156, GH-6221,
+ GH-6333, GH-6339, GH-6348, GH-6380, GH-6455,
+ GH-6461, GH-6477, GH-6508, GH-6544, GH-6606,
+ GH-6672, GH-6679, GH-6706, GH-6850, GH-6942,
+ GH-6990, GH-7015
+System: OTP
+Release: 26
+Application: asn1-5.1, common_test-1.25, compiler-8.3,
+ crypto-5.2, dialyzer-5.1, diameter-2.3,
+ erl_docgen-1.5, erl_interface-5.4, erts-14.0,
+ ftp-1.1.5, inets-8.4, jinterface-1.14,
+ kernel-9.0, mnesia-4.22, observer-2.15,
+ os_mon-2.9, parsetools-2.5, public_key-1.14,
+ reltool-1.0, runtime_tools-1.20, sasl-4.2.1,
+ snmp-5.14, ssh-5.0, ssl-11.0, stdlib-5.0,
+ syntax_tools-3.1, tftp-1.1, tools-3.6, wx-2.3
+Predecessor: OTP
+
+ Check out the git tag OTP-26.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are almost
+ three times faster than in Erlang/OTP 25.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ In the lists, the zip family of functions now takes
+ options to allow handling lists of different lengths.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18459 Application(s): ssl
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ OTP-18491 Application(s): parsetools
+ Related Id(s): PR-6882
+
+ Leex has been extended with optional column number
+ support.
+
+
+ OTP-18495 Application(s): stdlib
+ Related Id(s): PR-6943
+
+ The family of enumeration functions in module lists has
+ been extended with enumerate/3 that allows a step value
+ to be supplied.
+
+
+ OTP-18498 Application(s): erts
+
+ Reintroduced the optimization that turned anonymous
+ functions without free variables into literals
+ (OTP-15195). This optimization was lost during
+ refactoring in OTP 24.
+
+ Alongside this fix, we plan to remove the "fun creator
+ pid" feature in OTP 27. See Upcoming Potential
+ Incompatibilities for more details.
+
+
+ OTP-18500 Application(s): stdlib
+
+ Update Unicode to version 15.0.0.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18210 Application(s): kernel
+ Related Id(s): GH-5877, PR-5878
+
+ Fix bug where duplicate keys were allowed in the .app
+ file of an application. Duplicate keys are now rejected
+ and the application will not start if they exist.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18389 Application(s): dialyzer
+ Related Id(s): GH-6508, PR-6864
+
+ Dialyzer was accepting typespecs containing singleton
+ type variables that appeared in an union type.
+
+ Before this change, singleton type variables in an
+ union type were accepted (see example below). However,
+ type variable Foo appears only once in each branch of
+ the union type, so it is a singleton type variable (in
+ each branch of the union type) that is not bound.
+
+ -spec run_test(Opts) -> term() when Opts ::
+ {join_specs, Foo} | {test, Foo}.
+
+ Unbound type variables should be rejected by Dialyzer,
+ which now detects this error and rejects it in the same
+ manner as its non-union equivalent:
+
+ -spec run_test_error(Opts) -> term() when Opts ::
+ {join_specs, Foo}.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ OTP-18439 Application(s): dialyzer
+ Related Id(s): GH-5695, GH-6942, PR-6822
+
+ Dialyzer has enabled (by default) warnings about
+ unknown types and functions.
+
+ Prior to this change, Dialyzer had warnings about
+ unknown types and functions disabled (by default).
+
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested
+ by the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the -Wunknown
+ function is enabled by default:
+
+ dialyzer moduler.erl -Wunknown -Wmissing_return
+
+ dialyzer moduler.erl -Wmissing_return
+
+ Dialyzer has a new flag, -Wno_unknown. Its purpose is
+ to suppress warnings about unknown functions and types.
+
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: dialyzer module.erl
+ -Wno_unknown
+
+
+ OTP-18455 Application(s): ssl
+ Related Id(s): GH-5899
+
+ Change the client default verify option to verify_peer.
+ Note that this makes it mandatory to also supply
+ trusted CA certificates or explicitly set verify to
+ verify_none. This also applies when using the so called
+ anonymous test cipher suites defined in TLS versions
+ pre TLS-1.3.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18488 Application(s): reltool
+ Related Id(s): PR-6836
+
+ Support for the experimental code archives feature has
+ been removed from reltool.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ OTP-18505 Application(s): erts
+ Related Id(s): PR-6991
+
+ The default encoding of atoms by term_to_binary and
+ term_to_iovec have changed from Latin1 to UTF-8. The
+ old encoding can still be obtained with options
+ {minor_version, 1}.
+
+ Apart from encoding code points between 128 and 255
+ with two bytes (UTF-8) instead of one, most atoms will
+ occupy one less byte as the length field use only one
+ byte instead of two if possible.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-26.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18364 Application(s): otp
+
+ Starting from Erlang/OTP 24, it has been possible to
+ write expressions such as A = catch Expr without
+ parentheses around the catch expression, but it was not
+ mentioned in the documentation. It now is.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on windows as many more checks are
+ cached.
+
+
+ OTP-18209 Application(s): otp
+ Related Id(s): PR-5881
+
+ Fix the make target release, release_docs, install and
+ install-docs now work when the target path contains
+ whitespace and/or unicode characters.
+
+
+ OTP-18492 Application(s): otp
+ Related Id(s): GH-6706
+
+ The documentation for the bit syntax has been updated
+ to correct some factual errors and omissions.
+
+
+ OTP-18511 Application(s): otp, stdlib
+ Related Id(s): PR-7017
+
+ The regular expression library powering the re module
+ is likely to be changed in Erlang/OTP 27. See Upcoming
+ Potential Incompatibilities.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18441 Application(s): asn1
+
+ Minor code improvements.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of asn1-5.1: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.25 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18377 Application(s): common_test
+ Related Id(s): PR-6437
+
+ This change improves Common Test docs (CT hook example
+ code) and adds Emacs skeleton with hook code.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18259 Application(s): common_test
+ Related Id(s): PR-5924
+
+ Updated common_test with a more robust way to fetch old
+ releases, while ignoring the current release.
+
+
+ OTP-18340 Application(s): common_test
+
+ - re-write the XML ct module documentation into erlang
+ types to make Dialyzer able to catch more precise
+ errors
+
+
+ Full runtime dependencies of common_test-1.25: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\^? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18502 Application(s): compiler
+
+ The compiler will now inline calls to maps:get/3.
+
+
+ Full runtime dependencies of compiler-8.3: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18204 Application(s): crypto
+ Related Id(s): PR-6203
+
+ Add support for SHAKE128 and SHAKE256.
+
+
+ OTP-18206 Application(s): crypto
+ Related Id(s): PR-6167
+
+ Make the -DOPENSSL_API_COMPAT flag work without
+ warnings.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of crypto-5.2: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18237 Application(s): dialyzer
+ Related Id(s): GH-6221, PR-6243
+
+ When checking behaviors, Dialyzer could generate false
+ warning that a callback function did not have the
+ correct type according to the spec in the behavior
+ definition.
+
+
+ OTP-18276 Application(s): dialyzer
+ Related Id(s): GH-6333
+
+ In a spec, list(none()) used to mean none(). It has now
+ been corrected to mean the empty list.
+
+
+ OTP-18389 Application(s): dialyzer
+ Related Id(s): GH-6508, PR-6864
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dialyzer was accepting typespecs containing singleton
+ type variables that appeared in an union type.
+
+ Before this change, singleton type variables in an
+ union type were accepted (see example below). However,
+ type variable Foo appears only once in each branch of
+ the union type, so it is a singleton type variable (in
+ each branch of the union type) that is not bound.
+
+ -spec run_test(Opts) -> term() when Opts ::
+ {join_specs, Foo} | {test, Foo}.
+
+ Unbound type variables should be rejected by Dialyzer,
+ which now detects this error and rejects it in the same
+ manner as its non-union equivalent:
+
+ -spec run_test_error(Opts) -> term() when Opts ::
+ {join_specs, Foo}.
+
+
+ OTP-18485 Application(s): dialyzer
+ Related Id(s): GH-6850, PR-6854
+
+ Fixed a bug that prevented the --plts option from being
+ used together with --add-to-plt.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ *** HIGHLIGHT ***
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18238 Application(s): dialyzer
+ Related Id(s): PR-6271
+
+ Dialyzer now produces clearer error messages for
+ contract violations.
+
+
+ OTP-18282 Application(s): dialyzer
+ Related Id(s): GH-6132, PR-6335
+
+ The name of a built-in type can now be reused as the
+ name of type locally. That is useful when an OTP
+ release introduces a new built-in type; having the
+ possibility to redefine built-in types locally can make
+ it easier to maintain code that works in multiple OTP
+ releases.
+
+
+ OTP-18310 Application(s): dialyzer
+
+ There is new option -no_spec to ignore all specs. It is
+ useful for debugging when one suspects that some specs
+ could be incorrect.
+
+
+ OTP-18342 Application(s): dialyzer
+ Related Id(s): GH-6117, PR-6654
+
+ Dialyzer's overloaded domain warning becomes is
+ disabled by default, and can be enabled with the flag
+ -Woverlapping_contract.
+
+ Dialyzer used to issue a warning for overloaded domains
+ stating "such contracts are currently unsupported and
+ are simply ignored".
+
+ These contracts are not "ignored" but rather, Dialyzer
+ takes the union of the overloaded domains. This means
+ that we lose the dependency from each corresponding
+ input to output type. Because of this, the warning is
+ really about not being able to establish a dependency
+ between the input and output types of each respective
+ overloaded function specification.
+
+
+ OTP-18439 Application(s): dialyzer
+ Related Id(s): GH-5695, GH-6942, PR-6822
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dialyzer has enabled (by default) warnings about
+ unknown types and functions.
+
+ Prior to this change, Dialyzer had warnings about
+ unknown types and functions disabled (by default).
+
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested
+ by the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the -Wunknown
+ function is enabled by default:
+
+ dialyzer moduler.erl -Wunknown -Wmissing_return
+
+ dialyzer moduler.erl -Wmissing_return
+
+ Dialyzer has a new flag, -Wno_unknown. Its purpose is
+ to suppress warnings about unknown functions and types.
+
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: dialyzer module.erl
+ -Wno_unknown
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ Full runtime dependencies of dialyzer-5.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-4.0, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of diameter-2.3: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18338 Application(s): erl_docgen
+ Related Id(s): PR-6408
+
+ New XML tag <change>. Like a <note> box, but with a
+ different (steel blue) color and label. Intended to
+ contain talk about semantic differences between OTP
+ releases.
+
+
+ OTP-18501 Application(s): erl_docgen
+ Related Id(s): PR-6987
+
+ Add "since" attribute to XML taglist/tag elements to
+ document OTP version when a particular option/feature
+ was introduced. The version is shown out in the right
+ margin, similar to "since" versions for functions.
+
+
+ Full runtime dependencies of erl_docgen-1.5: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.4 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18016 Application(s): erts
+
+ If a local fun was called while reloading the *exact
+ same* module that defined said fun, there was a small
+ window in which the call would land in code that was
+ yet to be fully loaded.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18274 Application(s): erts
+ Related Id(s): PR-6048
+
+ Fix so that -fno-omit-frame-pointer is applied to all
+ of the Erlang VM when using the JIT so that tools, such
+ as perf, can crawl the process stacks.
+
+
+ OTP-18277 Application(s): erts
+ Related Id(s): PR-6306
+
+ Compilation server now support unicode paths in
+ compilation server for filesystems that are encoded
+ with unicode.
+
+
+ OTP-18498 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Reintroduced the optimization that turned anonymous
+ functions without free variables into literals
+ (OTP-15195). This optimization was lost during
+ refactoring in OTP 24.
+
+ Alongside this fix, we plan to remove the "fun creator
+ pid" feature in OTP 27. See Upcoming Potential
+ Incompatibilities for more details.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ Preparation for adding Windows support to 'socket'.
+
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on windows as many more checks are
+ cached.
+
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18131 Application(s): erts
+
+ Optimized internal hash routines.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18141 Application(s): erts
+ Related Id(s): OTP-18140, PR-6073
+
+ Optimization of process aliases made possible now that
+ support for version 4 node container types in the
+ external term format is mandatory.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18227 Application(s): erts
+ Related Id(s): PR-6254
+
+ When erl -eval fails to execute the command is not
+ printed to standard_error.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ *** HIGHLIGHT ***
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18360 Application(s): erts
+ Related Id(s): PR-6497
+
+ erlang:display/1 will now print large maps in a more
+ readable way (similar to how small maps are printed).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18369 Application(s): erts
+
+ Fail enif_init_resource_type and friends by returning
+ NULL if not called during load/upgrade. Old behavior
+ was undefined.
+
+
+ OTP-18410 Application(s): erts
+ Related Id(s): GH-5889, PR-6345
+
+ New option include_shared_binaries for the
+ max_heap_size process limit. If set to true, large
+ binaries (> 64 bytes), which may be referred by several
+ processes, are included in the memory sum compared
+ against the max_heap_size limit.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18424 Application(s): erts
+ Related Id(s): PR-6716
+
+ Reduced memory usage of file:read_file_info/1,2
+
+
+ OTP-18425 Application(s): erts
+ Related Id(s): GH-5333, PR-6628
+
+ Add new function current_stacktrace for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the current stacktrace of the
+ caller into the trace message sent to the trace
+ receiver.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ *** HIGHLIGHT ***
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ *** HIGHLIGHT ***
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18477 Application(s): erts
+ Related Id(s): PR-7006
+
+ Introduced the local option of term_to_binary/2 and
+ term_to_iovec/2.
+
+
+ OTP-18483 Application(s): erts
+ Related Id(s): PR-6888
+
+ Document the commonly used practice to create and store
+ static atoms at NIF load time in callbacks load or
+ upgrade.
+
+
+ OTP-18493 Application(s): erts
+ Related Id(s): PR-6272
+
+ Optimize ets:lookup_element for uncompressed tables by
+ using a more efficient method to copy the term from ETS
+ to the heap of the calling process.
+
+
+ OTP-18505 Application(s): erts
+ Related Id(s): PR-6991
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The default encoding of atoms by term_to_binary and
+ term_to_iovec have changed from Latin1 to UTF-8. The
+ old encoding can still be obtained with options
+ {minor_version, 1}.
+
+ Apart from encoding code points between 128 and 255
+ with two bytes (UTF-8) instead of one, most atoms will
+ occupy one less byte as the length field use only one
+ byte instead of two if possible.
+
+
+ OTP-18517 Application(s): erts
+
+ The version of zlib included in the Erlang/OTP source
+ code is now 1.2.13.
+
+
+ OTP-18520 Application(s): erts
+ Related Id(s): GH-6455
+
+ gen_tcp:send/*, gen_udp:send/* and gen_sctp:send/* have
+ been optimized to use the infamous receive reference
+ optimization, so now sending should not have bad
+ performance when the calling process has a large
+ message queue.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ OTP-18523 Application(s): erts
+ Related Id(s): PR-7004
+
+ Optimize maps:merge/2 memory consumption for small maps
+ (<33 keys) by reusing key tuples or entire maps if the
+ result map has the same number of keys as any of the
+ argument maps.
+
+
+ OTP-18524 Application(s): erts
+ Related Id(s): OTP-18523, PR-7004
+
+ Optimize maps:merge/2 memory consumption further for
+ small maps by mutating 2nd map to use literal key tuple
+ of 1st map if both have the same keys.
+
+
+ Full runtime dependencies of erts-14.0: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18359 Application(s): ftp
+ Related Id(s): PR-6545
+
+ Fixes the documentation for the ftp module and updates
+ the typing of ftp functions that return errors.
+
+ The documentation has been improved and the types of
+ the functions are now read from source code, instead of
+ being hard-coded in XML.
+
+ Functions returning errors of the form {error, Reason
+ :: 'ehost' | ...} are now similar to other modules,
+ i.e., {error, Reason :: term()}. If one wants to
+ understand the error, one must call the function
+ ftp:formaterror({error, Reason}).
+
+
+ Full runtime dependencies of ftp-1.1.5: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-8.4 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18476 Application(s): inets
+ Related Id(s): GH-6380
+
+ Correct timing related pipelining/keepalive queue bug,
+ that could result in unexpected "socket_remotly_closed"
+ errors.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18167 Application(s): inets
+
+ By default ssl connections will use options from
+ ssl_default_options(true)
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of inets-8.4: erts-14.0, kernel-9.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-5.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18210 Application(s): kernel
+ Related Id(s): GH-5877, PR-5878
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix bug where duplicate keys were allowed in the .app
+ file of an application. Duplicate keys are now rejected
+ and the application will not start if they exist.
+
+
+ OTP-18225 Application(s): kernel
+ Related Id(s): PR-6036
+
+ Fix inconsistent handling in logger_formatter of the
+ branched values in conditional branches. For example
+ using msg in a conditional branch would not be
+ formatted as it should before this fix.
+
+
+ OTP-18226 Application(s): kernel
+ Related Id(s): PR-6253
+
+ Fix the logger_std_h handler to log to standard_error
+ if logging to standard_io fails for any reason.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18286 Application(s): kernel
+ Related Id(s): PR-5955
+
+ Fix logging of log events generated before kernel is
+ started to not fail if the code for formatting those
+ log messaged have not yet been loaded.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18486 Application(s): kernel, stdlib
+ Related Id(s): PR-6881
+
+ Fixed a bug where file:read(standard_io, ...)
+ unexpectedly returned eof in binary mode.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ Preparation for adding Windows support to 'socket'.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18261 Application(s): kernel
+ Related Id(s): PR-5924
+
+ Add code:get_doc/2 which adds support to fetch
+ documentation skeletons of functions using debug_info
+ chunks instead of eep48 doc chunks.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18305 Application(s): kernel
+ Related Id(s): PR-5831
+
+ gen_server optimized by caching callback functions
+
+
+ OTP-18327 Application(s): kernel
+ Related Id(s): PR-6433
+
+ Prepare the pg communication protocol for upgrade. The
+ plan is for OTP-28 nodes to be able to use an upgraded
+ pg protocol while still being able to talk with OTP 26
+ nodes.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18419 Application(s): kernel
+
+ The function file:pid2name/1 is deprecated and will be
+ removed in Erlang/OTP 27.
+
+
+ OTP-18442 Application(s): kernel
+ Related Id(s): GH-6606, PR-6786
+
+ The modules Erlang DNS resolver inet_res and helper
+ modules have been updated for RFC6891; to handle OPT RR
+ with DNSSEC OK (DO) bit.
+
+
+ OTP-18444 Application(s): kernel
+ Related Id(s): PR-6035
+
+ Introduced application:get_supervisor/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18448 Application(s): kernel
+ Related Id(s): PR-6736
+
+ Reduce contention on the code_server by doing the code
+ preparation on the client.
+
+
+ OTP-18451 Application(s): kernel
+ Related Id(s): PR-6737
+
+ Added a mode to ensure_all_loaded, to start children
+ application and their dependencies concurrently.
+
+
+ OTP-18452 Application(s): kernel
+ Related Id(s): PR-6729
+
+ Cache OTP boot code paths, to limit how many folders
+ that are being accessed during a module lookup. Can be
+ disabled with -cache_boot_path false. OTP boot code
+ paths consists of ERL_LIB environment variables. The
+ various otp/*/ebin folders. And the {path, ...} clauses
+ in the init script.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ OTP-18466 Application(s): kernel
+ Related Id(s): PR-6832
+
+ Add cache attribute to code path apis.
+
+ Added an optional cache/nocache argument to all
+ code:add_path*, code:set_path*, and code:replace_path*
+ functions. These functions will then avoid doing
+ file-accesses if they are cached. Cache can be cleared
+ with code:clear_cache/0. Added code:del_paths/1 to make
+ it easier to clear multiple paths.
+
+
+ OTP-18484 Application(s): kernel
+ Related Id(s): PR-6844
+
+ Improvements to code:ensure_modules_loaded/1:
+ Previously it would prepare modules and then abandon
+ references to said modules if they had on_load
+ callbacks. This pull request makes it so they keep the
+ references around and then serially load them without
+ having to fetch the object code and prepare them again.
+
+
+ OTP-18510 Application(s): kernel
+ Related Id(s): GH-6098, PR-6982
+
+ The internal DNS resolver has bee updated to handle DNS
+ LOC RR:s (RFC 1876). This is an undocumented module,
+ although still used by power users. See the source
+ code.
+
+
+ OTP-18521 Application(s): kernel
+ Related Id(s): PR-7025
+
+ Reduced memory consumption in global when informing
+ other nodes about lost connections.
+
+
+ Full runtime dependencies of kernel-9.0: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.22 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18309 Application(s): mnesia
+ Related Id(s): PR-6377
+
+ Added debug statistics for active transactions.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of mnesia-4.22: erts-9.0, kernel-5.3,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.15 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18430 Application(s): observer
+ Related Id(s): PR-6397
+
+ Added start/1, start_and_wait functions/1|2 functions.
+
+
+ Full runtime dependencies of observer-2.15: erts-14.0, et-1.5,
+ kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.9 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18246 Application(s): os_mon
+ Related Id(s): GH-6156, PR-6284
+
+ Fix internal os_mon_sysinfo:get_disk_info/1 function to
+ not crash when run on Windows with multiple drives.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18303 Application(s): os_mon
+ Related Id(s): PR-6384
+
+ The disksup:get_disk_info/0 and disksup:get_disk_info/1
+ functions have been introduced. These can be used in
+ order to immediately fetch information about current
+ disk usage.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ Full runtime dependencies of os_mon-2.9: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18491 Application(s): parsetools
+ Related Id(s): PR-6882
+
+ *** HIGHLIGHT ***
+
+ Leex has been extended with optional column number
+ support.
+
+
+ Full runtime dependencies of parsetools-2.5: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of public_key-1.14: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-1.0 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18230 Application(s): reltool
+ Related Id(s): PR-5936
+
+ Add possibility to strip specific chunks from beam
+ files included in a release. Before this change it was
+ only possible to strip all chunks from the beam files.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18488 Application(s): reltool
+ Related Id(s): PR-6836
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for the experimental code archives feature has
+ been removed from reltool.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of reltool-1.0: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0, stdlib-5.0, tools-2.6.14, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-1.20 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18499 Application(s): runtime_tools
+ Related Id(s): PR-6946
+
+ Fixed the type specification for
+ instrument:carriers/0,1
+
+
+ --- Improvements and New Features ---
+
+ OTP-18211 Application(s): runtime_tools
+ Related Id(s): PR-6143
+
+ Add dbg:tracer(file, Filename) as a convenient way to
+ trace to a file in clean text.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18487 Application(s): runtime_tools, tools
+ Related Id(s): PR-6829
+
+ The instrument module has been moved from tools to
+ runtime_tools.
+
+
+ Full runtime dependencies of runtime_tools-1.20: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18300 Application(s): sasl
+ Related Id(s): PR-6389
+
+ Improve error message from systools:make_script, when
+ .app parameters contain duplicates. The parameters that
+ will be checked are modules, applications and
+ registered.
+
+
+ Full runtime dependencies of sasl-4.2.1: erts-10.2, kernel-6.0,
+ stdlib-4.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of snmp-5.14: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18231 Application(s): ssh
+ Related Id(s): OTP-17932, PR-6144
+
+ The ssh_cli has been updated to work with the changes
+ introduced in the new Erlang shell implementation.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of ssh-5.0: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-15903 Application(s): ssl
+
+ Improved error checking and handling of ssl options.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18253 Application(s): ssl
+
+ With this change, TLS 1.3 server can be configured to
+ include client certificate in session ticket.
+
+
+ OTP-18254 Application(s): ssl
+ Related Id(s): PR-5982
+
+ With this change, it is possible to configure
+ encryption seed to be used with TLS1.3 stateless
+ tickets. This enables using tickets on different server
+ instances.
+
+
+ OTP-18312 Application(s): ssl
+
+ Debugging enhancements.
+
+
+ OTP-18335 Application(s): ssl
+
+ With this change, maybe keyword atom is not used as
+ function name in ssl code.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ OTP-18453 Application(s): ssl
+
+ Mitigate memory usage from large certificate chains by
+ lowering the maximum handshake size. This should not
+ effect the common cases, if needed it can be configured
+ to a higher value.
+
+
+ OTP-18455 Application(s): ssl
+ Related Id(s): GH-5899
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the client default verify option to verify_peer.
+ Note that this makes it mandatory to also supply
+ trusted CA certificates or explicitly set verify to
+ verify_none. This also applies when using the so called
+ anonymous test cipher suites defined in TLS versions
+ pre TLS-1.3.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ OTP-18459 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ Full runtime dependencies of ssl-11.0: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18275 Application(s): stdlib
+ Related Id(s): PR-6045
+
+ All process calls in dets have been updated to use the
+ receive queue optimizations.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18486 Application(s): kernel, stdlib
+ Related Id(s): PR-6881
+
+ Fixed a bug where file:read(standard_io, ...)
+ unexpectedly returned eof in binary mode.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-15597 Application(s): stdlib
+ Related Id(s): PR-5831
+
+ Gen_server now caches external functions for use in
+ handle_call, handle_cast and handle_info.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18150 Application(s): stdlib
+
+ Added codepoint category to unicode_util
+
+
+ OTP-18159 Application(s): stdlib
+ Related Id(s): PR-6904
+
+ Added the zip:zip_get_crc32/2 function to retrieve the
+ CRC32 checksum from an opened ZIP archive.
+
+
+ OTP-18176 Application(s): stdlib
+ Related Id(s): PR-6118
+
+ Add the new options post_process_args and detached to
+ peer:start function.
+
+
+ OTP-18221 Application(s): stdlib
+ Related Id(s): PR-6197
+
+ The re:replace/3,4 functions now accept as the
+ replacement argument.
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ *** HIGHLIGHT ***
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are almost
+ three times faster than in Erlang/OTP 25.
+
+
+ OTP-18236 Application(s): stdlib
+ Related Id(s): PR-6256
+
+ Improved implementation of timer:apply_interval/4
+ reducing load on the timer server, and introduction of
+ the new function timer:apply_repeatedly/4.
+ timer:apply_repeatedly/4 is similar to
+ timer:apply_interval/4, but timer:apply_repeatedly/4
+ prevents parallel execution of triggered apply
+ operations which timer:apply_interval/4 does not.
+
+
+ OTP-18247 Application(s): stdlib
+ Related Id(s): PR-6280, PR-6711
+
+ The base64 module now supports encoding and decoding
+ with an alternate URL safe alphabet, and an option for
+ accepting or adding missing = padding characters.
+
+
+ OTP-18272 Application(s): stdlib
+ Related Id(s): PR-6279
+
+ Add shell:whereis/0 which can be used to locate the
+ current shell process.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18279 Application(s): stdlib
+ Related Id(s): PR-6234
+
+ New function ets:lookup_element/4 with a Default
+ argument returned if the key did not exist in the
+ table. The old ets:lookup_element/3 raises a badarg
+ exception which can be both inconveniente and slower.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18287 Application(s): stdlib
+ Related Id(s): PR-5955
+
+ peer nodes using standard_io connections now include
+ standard error from the node in the io stream from the
+ started node.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18301 Application(s): stdlib
+ Related Id(s): PR-6350
+
+ Improve type specification of
+ unicode:characters_to_list().
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ *** HIGHLIGHT ***
+
+ In the lists, the zip family of functions now takes
+ options to allow handling lists of different lengths.
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\^? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18354 Application(s): stdlib
+ Related Id(s): PR-6297
+
+ The binary:encode_hex/2 function has been added to
+ allow the encoded hexadecimal digits to be in either
+ lower or upper case.
+
+
+ OTP-18355 Application(s): stdlib
+ Related Id(s): PR-6507
+
+ Variants of timer:tc() with user specified time unit
+ have been introduced.
+
+
+ OTP-18361 Application(s): stdlib
+ Related Id(s): PR-6536
+
+ New function math:tau/0. Returns 2*math:pi().
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18385 Application(s): stdlib
+ Related Id(s): PR-6698
+
+ Optimized gen_server:multi_call().
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18423 Application(s): stdlib
+ Related Id(s): com/erlang/backlog/issues/142,
+ https://github
+
+ Make gen_server fail "silently" with a new return value
+ for init/1.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18474 Application(s): stdlib
+ Related Id(s): PR-6895
+
+ Static supervisors are very idle processes after they
+ have started so they will now be hibernated after start
+ to improve resource management.
+
+
+ OTP-18494 Application(s): stdlib
+ Related Id(s): PR-6924
+
+ Support has been added in ms_transform for the actions
+ caller_line/0, current_stacktrace/0, and
+ current_stacktrace/1.
+
+
+ OTP-18495 Application(s): stdlib
+ Related Id(s): PR-6943
+
+ *** HIGHLIGHT ***
+
+ The family of enumeration functions in module lists has
+ been extended with enumerate/3 that allows a step value
+ to be supplied.
+
+
+ OTP-18500 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ Update Unicode to version 15.0.0.
+
+
+ OTP-18511 Application(s): otp, stdlib
+ Related Id(s): PR-7017
+
+ The regular expression library powering the re module
+ is likely to be changed in Erlang/OTP 27. See Upcoming
+ Potential Incompatibilities.
+
+
+ OTP-18515 Application(s): stdlib
+ Related Id(s): GH-6990
+
+ Improved the performance of sets:subtract/2 when
+ subtracting a small number of elements.
+
+
+ OTP-18518 Application(s): stdlib
+ Related Id(s): GH-7015
+
+ The linter will no longer raise warnings for
+ underspecified opaque types.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ Full runtime dependencies of stdlib-5.0: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ Full runtime dependencies of syntax_tools-3.1: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of tftp-1.1: erts-6.0, kernel-6.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18487 Application(s): runtime_tools, tools
+ Related Id(s): PR-6829
+
+ The instrument module has been moved from tools to
+ runtime_tools.
+
+
+ Full runtime dependencies of tools-3.6: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.3 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of wx-2.3: erts-12.0, kernel-8.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.0-rc3.README.txt b/release-notes/OTP-26.0-rc3.README.txt
new file mode 100644
index 0000000..9866e8b
--- /dev/null
+++ b/release-notes/OTP-26.0-rc3.README.txt
@@ -0,0 +1,3592 @@
+Inital Release: OTP 26.0
+Git Tag: OTP-26.0
+Date: 2023-04-12
+Trouble Report Id: OTP-14771, OTP-14835, OTP-15597, OTP-15903,
+ OTP-16607, OTP-17771, OTP-17932, OTP-18016,
+ OTP-18029, OTP-18053, OTP-18126, OTP-18131,
+ OTP-18135, OTP-18137, OTP-18140, OTP-18141,
+ OTP-18150, OTP-18159, OTP-18167, OTP-18168,
+ OTP-18176, OTP-18185, OTP-18188, OTP-18204,
+ OTP-18206, OTP-18209, OTP-18210, OTP-18211,
+ OTP-18221, OTP-18225, OTP-18226, OTP-18227,
+ OTP-18228, OTP-18230, OTP-18231, OTP-18235,
+ OTP-18236, OTP-18237, OTP-18238, OTP-18246,
+ OTP-18247, OTP-18248, OTP-18253, OTP-18254,
+ OTP-18259, OTP-18261, OTP-18271, OTP-18272,
+ OTP-18274, OTP-18275, OTP-18276, OTP-18277,
+ OTP-18278, OTP-18279, OTP-18282, OTP-18285,
+ OTP-18286, OTP-18287, OTP-18297, OTP-18300,
+ OTP-18301, OTP-18303, OTP-18305, OTP-18309,
+ OTP-18310, OTP-18312, OTP-18318, OTP-18327,
+ OTP-18331, OTP-18334, OTP-18335, OTP-18337,
+ OTP-18338, OTP-18340, OTP-18342, OTP-18344,
+ OTP-18350, OTP-18354, OTP-18355, OTP-18359,
+ OTP-18360, OTP-18361, OTP-18364, OTP-18367,
+ OTP-18369, OTP-18377, OTP-18385, OTP-18389,
+ OTP-18405, OTP-18410, OTP-18413, OTP-18414,
+ OTP-18419, OTP-18423, OTP-18424, OTP-18425,
+ OTP-18430, OTP-18431, OTP-18435, OTP-18438,
+ OTP-18439, OTP-18440, OTP-18441, OTP-18442,
+ OTP-18444, OTP-18445, OTP-18447, OTP-18448,
+ OTP-18451, OTP-18452, OTP-18453, OTP-18455,
+ OTP-18456, OTP-18459, OTP-18465, OTP-18466,
+ OTP-18471, OTP-18474, OTP-18476, OTP-18477,
+ OTP-18483, OTP-18484, OTP-18485, OTP-18486,
+ OTP-18487, OTP-18488, OTP-18490, OTP-18491,
+ OTP-18492, OTP-18493, OTP-18494, OTP-18495,
+ OTP-18498, OTP-18499, OTP-18500, OTP-18501,
+ OTP-18502, OTP-18505, OTP-18507, OTP-18510,
+ OTP-18511, OTP-18515, OTP-18517, OTP-18518,
+ OTP-18520, OTP-18521, OTP-18522, OTP-18523,
+ OTP-18524, OTP-18526, OTP-18528, OTP-18530,
+ OTP-18531, OTP-18533, OTP-18534, OTP-18536,
+ OTP-18537, OTP-18538, OTP-18539, OTP-18540,
+ OTP-18541, OTP-18542, OTP-18544, OTP-18546,
+ OTP-18547, OTP-18548, OTP-18549, OTP-18550,
+ OTP-18551, OTP-18552
+Seq num: ERIERL-737, ERIERL-870, GH-3150, GH-3390,
+ GH-4225, GH-4343, GH-4965, GH-5276, GH-5325,
+ GH-5333, GH-5639, GH-5695, GH-5877, GH-5889,
+ GH-5899, GH-6014, GH-6085, GH-6098, GH-6117,
+ GH-6132, GH-6139, GH-6156, GH-6221, GH-6333,
+ GH-6339, GH-6348, GH-6380, GH-6455, GH-6461,
+ GH-6477, GH-6508, GH-6544, GH-6606, GH-6672,
+ GH-6679, GH-6706, GH-6850, GH-6942, GH-6990,
+ GH-7015, GH-7031, GH-7045, GH-7065, GH-7070
+System: OTP
+Release: 26
+Application: asn1-5.1, common_test-1.25, compiler-8.3,
+ crypto-5.2, dialyzer-5.1, diameter-2.3,
+ erl_docgen-1.5, erl_interface-5.4, erts-14.0,
+ ftp-1.1.5, inets-9.0, jinterface-1.14,
+ kernel-9.0, megaco-4.4.4, mnesia-4.22,
+ observer-2.15, odbc-2.14.1, os_mon-2.9,
+ parsetools-2.5, public_key-1.14, reltool-1.0,
+ runtime_tools-2.0, sasl-4.2.1, snmp-5.14,
+ ssh-5.0, ssl-11.0, stdlib-5.0,
+ syntax_tools-3.1, tftp-1.1, tools-3.6, wx-2.3
+Predecessor: OTP
+
+ Check out the git tag OTP-26.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are more
+ than three times faster than in Erlang/OTP 25.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ In the lists, the zip family of functions now takes
+ options to allow handling lists of different lengths.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18459 Application(s): ssl
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ OTP-18491 Application(s): parsetools
+ Related Id(s): PR-6882
+
+ Leex has been extended with optional column number
+ support.
+
+
+ OTP-18495 Application(s): stdlib
+ Related Id(s): PR-6943
+
+ The family of enumeration functions in module lists has
+ been extended with enumerate/3 that allows a step value
+ to be supplied.
+
+
+ OTP-18498 Application(s): erts
+
+ Reintroduced the optimization that turned anonymous
+ functions without free variables into literals
+ (OTP-15195). This optimization was lost during
+ refactoring in OTP 24.
+
+ Alongside this fix, we plan to remove the "fun creator
+ pid" feature in OTP 27. See Upcoming Potential
+ Incompatibilities for more details.
+
+
+ OTP-18500 Application(s): stdlib
+
+ Update Unicode to version 15.0.0.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14771 Application(s): ssl
+
+ Remove less that 256 bit ECC from default supported ECC
+ pre TLS-1.3
+
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18210 Application(s): kernel
+ Related Id(s): GH-5877, PR-5878
+
+ Fix bug where duplicate keys were allowed in the .app
+ file of an application. Duplicate keys are now rejected
+ and the application will not start if they exist.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18389 Application(s): dialyzer
+ Related Id(s): GH-6508, PR-6864
+
+ Dialyzer was accepting typespecs containing singleton
+ type variables that appeared in an union type.
+
+ Before this change, singleton type variables in an
+ union type were accepted (see example below). However,
+ type variable Foo appears only once in each branch of
+ the union type, so it is a singleton type variable (in
+ each branch of the union type) that is not bound.
+
+ -spec run_test(Opts) -> term() when Opts ::
+ {join_specs, Foo} | {test, Foo}.
+
+ Unbound type variables should be rejected by Dialyzer,
+ which now detects this error and rejects it in the same
+ manner as its non-union equivalent:
+
+ -spec run_test_error(Opts) -> term() when Opts ::
+ {join_specs, Foo}.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ OTP-18439 Application(s): dialyzer
+ Related Id(s): GH-5695, GH-6942, PR-6822
+
+ Dialyzer has enabled (by default) warnings about
+ unknown types and functions.
+
+ Prior to this change, Dialyzer had warnings about
+ unknown types and functions disabled (by default).
+
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested
+ by the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the -Wunknown
+ function is enabled by default:
+
+ dialyzer moduler.erl -Wunknown -Wmissing_return
+
+ dialyzer moduler.erl -Wmissing_return
+
+ Dialyzer has a new flag, -Wno_unknown. Its purpose is
+ to suppress warnings about unknown functions and types.
+
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: dialyzer module.erl
+ -Wno_unknown
+
+
+ OTP-18455 Application(s): ssl
+ Related Id(s): GH-5899
+
+ Change the client default verify option to verify_peer.
+ Note that this makes it mandatory to also supply
+ trusted CA certificates or explicitly set verify to
+ verify_none. This also applies when using the so called
+ anonymous test cipher suites defined in TLS versions
+ pre TLS-1.3.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18488 Application(s): reltool
+ Related Id(s): PR-6836
+
+ Support for the experimental code archives feature has
+ been removed from reltool.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ OTP-18505 Application(s): erts
+ Related Id(s): PR-6991
+
+ The default encoding of atoms by term_to_binary and
+ term_to_iovec have changed from Latin1 to UTF-8. The
+ old encoding can still be obtained with options
+ {minor_version, 1}.
+
+ Apart from encoding code points between 128 and 255
+ with two bytes (UTF-8) instead of one, most atoms will
+ occupy one less byte as the length field use only one
+ byte instead of two if possible.
+
+
+ OTP-18530 Application(s): inets
+
+ IP display string will now always be in lower case,
+ effects ipv6 addresses.
+
+
+ OTP-18531 Application(s): ssl
+
+ If a user cancel alert with level warning is received
+ during handshake make it be handled the same regardless
+ of TLS version. If it is received in connection in
+ TLS-1.3 regard it as an error as it is inappropriate.
+
+ In TLS-1.3 all error alerts are considered FATAL
+ regardless of legacy alert type. But make sure legacy
+ type is printed in logs to not confuse users that are
+ expecting the same legacy type as sent by peer.
+
+
+ OTP-18536 Application(s): inets
+
+ Removed deprecated functions
+
+
+ OTP-18549 Application(s): erts, runtime_tools
+ Related Id(s): PR-7105
+
+ Removed the experimental erts_alloc_config module. It
+ no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It
+ has since OTP 25 been deprecated and scheduled for
+ removal in OTP 26.
+
+
+ OTP-18551 Application(s): kernel
+ Related Id(s): PR-7106
+
+ Removed code:is_module_native/1 since HiPE has been
+ removed. It has since OTP 24 been deprecated and
+ scheduled for removal in OTP 26.
+
+ Removed code:rehash/0 since the code path feature no
+ longer is present. It has since OTP 19 been deprecated
+ and has since OTP 24 been scheduled for removal in OTP
+ 26.
+
+
+ OTP-18552 Application(s): erts
+ Related Id(s): PR-6973
+
+ ERTS internal thread names have been changed. All
+ threads created by ERTS now have a prefix erts_
+ followed by a type name potentially followed by an
+ integer index. For example, normal schedulers are now
+ named erts_sched_<IX>, dirty CPU schedulers
+ erts_dcpus_<IX>, and dirty IO schedulers
+ erts_dios_<IX>. NIF and driver thread names are
+ truncated at 15 characters regardless of whether the
+ underlying platform support more characters or not.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-26.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18364 Application(s): otp
+
+ Starting from Erlang/OTP 24, it has been possible to
+ write expressions such as A = catch Expr without
+ parentheses around the catch expression, but it was not
+ mentioned in the documentation. It now is.
+
+
+ OTP-18538 Application(s): megaco, otp
+ Related Id(s): GH-7031, PR-7078
+
+ Removed configure option --enable-sanitizers. It was
+ untested and broken. Address sanitizer for the emulator
+ has better support by the asan build target.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on windows as many more checks are
+ cached.
+
+
+ OTP-18209 Application(s): otp
+ Related Id(s): PR-5881
+
+ Fix the make target release, release_docs, install and
+ install-docs now work when the target path contains
+ whitespace and/or unicode characters.
+
+
+ OTP-18492 Application(s): otp
+ Related Id(s): GH-6706
+
+ The documentation for the bit syntax has been updated
+ to correct some factual errors and omissions.
+
+
+ OTP-18511 Application(s): otp, stdlib
+ Related Id(s): PR-7017
+
+ The regular expression library powering the re module
+ is likely to be changed in Erlang/OTP 27. See Upcoming
+ Potential Incompatibilities.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18534 Application(s): asn1
+ Related Id(s): ERIERL-737, PR-7039
+
+ The ASN.1 compiler rejects correctly specified
+ RELATIVE-OID values containing other RELATIVE-OID
+ values. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18441 Application(s): asn1
+
+ Minor code improvements.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of asn1-5.1: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.25 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18377 Application(s): common_test
+ Related Id(s): PR-6437
+
+ This change improves Common Test docs (CT hook example
+ code) and adds Emacs skeleton with hook code.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18259 Application(s): common_test
+ Related Id(s): PR-5924
+
+ Updated common_test with a more robust way to fetch old
+ releases, while ignoring the current release.
+
+
+ OTP-18340 Application(s): common_test
+
+ - re-write the XML ct module documentation into erlang
+ types to make Dialyzer able to catch more precise
+ errors
+
+
+ Full runtime dependencies of common_test-1.25: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\^? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18502 Application(s): compiler
+
+ The compiler will now inline calls to maps:get/3.
+
+
+ Full runtime dependencies of compiler-8.3: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18204 Application(s): crypto
+ Related Id(s): PR-6203
+
+ Add support for SHAKE128 and SHAKE256.
+
+
+ OTP-18206 Application(s): crypto
+ Related Id(s): PR-6167
+
+ Make the -DOPENSSL_API_COMPAT flag work without
+ warnings.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of crypto-5.2: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18237 Application(s): dialyzer
+ Related Id(s): GH-6221, PR-6243
+
+ When checking behaviors, Dialyzer could generate false
+ warning that a callback function did not have the
+ correct type according to the spec in the behavior
+ definition.
+
+
+ OTP-18276 Application(s): dialyzer
+ Related Id(s): GH-6333
+
+ In a spec, list(none()) used to mean none(). It has now
+ been corrected to mean the empty list.
+
+
+ OTP-18389 Application(s): dialyzer
+ Related Id(s): GH-6508, PR-6864
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dialyzer was accepting typespecs containing singleton
+ type variables that appeared in an union type.
+
+ Before this change, singleton type variables in an
+ union type were accepted (see example below). However,
+ type variable Foo appears only once in each branch of
+ the union type, so it is a singleton type variable (in
+ each branch of the union type) that is not bound.
+
+ -spec run_test(Opts) -> term() when Opts ::
+ {join_specs, Foo} | {test, Foo}.
+
+ Unbound type variables should be rejected by Dialyzer,
+ which now detects this error and rejects it in the same
+ manner as its non-union equivalent:
+
+ -spec run_test_error(Opts) -> term() when Opts ::
+ {join_specs, Foo}.
+
+
+ OTP-18485 Application(s): dialyzer
+ Related Id(s): GH-6850, PR-6854
+
+ Fixed a bug that prevented the --plts option from being
+ used together with --add-to-plt.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ *** HIGHLIGHT ***
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18238 Application(s): dialyzer
+ Related Id(s): PR-6271
+
+ Dialyzer now produces clearer error messages for
+ contract violations.
+
+
+ OTP-18282 Application(s): dialyzer
+ Related Id(s): GH-6132, PR-6335
+
+ The name of a built-in type can now be reused as the
+ name of type locally. That is useful when an OTP
+ release introduces a new built-in type; having the
+ possibility to redefine built-in types locally can make
+ it easier to maintain code that works in multiple OTP
+ releases.
+
+
+ OTP-18310 Application(s): dialyzer
+
+ There is new option -no_spec to ignore all specs. It is
+ useful for debugging when one suspects that some specs
+ could be incorrect.
+
+
+ OTP-18342 Application(s): dialyzer
+ Related Id(s): GH-6117, PR-6654
+
+ Dialyzer's overloaded domain warning becomes is
+ disabled by default, and can be enabled with the flag
+ -Woverlapping_contract.
+
+ Dialyzer used to issue a warning for overloaded domains
+ stating "such contracts are currently unsupported and
+ are simply ignored".
+
+ These contracts are not "ignored" but rather, Dialyzer
+ takes the union of the overloaded domains. This means
+ that we lose the dependency from each corresponding
+ input to output type. Because of this, the warning is
+ really about not being able to establish a dependency
+ between the input and output types of each respective
+ overloaded function specification.
+
+
+ OTP-18439 Application(s): dialyzer
+ Related Id(s): GH-5695, GH-6942, PR-6822
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dialyzer has enabled (by default) warnings about
+ unknown types and functions.
+
+ Prior to this change, Dialyzer had warnings about
+ unknown types and functions disabled (by default).
+
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested
+ by the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the -Wunknown
+ function is enabled by default:
+
+ dialyzer moduler.erl -Wunknown -Wmissing_return
+
+ dialyzer moduler.erl -Wmissing_return
+
+ Dialyzer has a new flag, -Wno_unknown. Its purpose is
+ to suppress warnings about unknown functions and types.
+
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: dialyzer module.erl
+ -Wno_unknown
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ Full runtime dependencies of dialyzer-5.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-4.0, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of diameter-2.3: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18338 Application(s): erl_docgen
+ Related Id(s): PR-6408
+
+ New XML tag <change>. Like a <note> box, but with a
+ different (steel blue) color and label. Intended to
+ contain talk about semantic differences between OTP
+ releases.
+
+
+ OTP-18501 Application(s): erl_docgen
+ Related Id(s): PR-6987
+
+ Add "since" attribute to XML taglist/tag elements to
+ document OTP version when a particular option/feature
+ was introduced. The version is shown out in the right
+ margin, similar to "since" versions for functions.
+
+
+ Full runtime dependencies of erl_docgen-1.5: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.4 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18016 Application(s): erts
+
+ If a local fun was called while reloading the *exact
+ same* module that defined said fun, there was a small
+ window in which the call would land in code that was
+ yet to be fully loaded.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18274 Application(s): erts
+ Related Id(s): PR-6048
+
+ Fix so that -fno-omit-frame-pointer is applied to all
+ of the Erlang VM when using the JIT so that tools, such
+ as perf, can crawl the process stacks.
+
+
+ OTP-18277 Application(s): erts
+ Related Id(s): PR-6306
+
+ Compilation server now support unicode paths in
+ compilation server for filesystems that are encoded
+ with unicode.
+
+
+ OTP-18498 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Reintroduced the optimization that turned anonymous
+ functions without free variables into literals
+ (OTP-15195). This optimization was lost during
+ refactoring in OTP 24.
+
+ Alongside this fix, we plan to remove the "fun creator
+ pid" feature in OTP 27. See Upcoming Potential
+ Incompatibilities for more details.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ Add support for socket on Windows.
+
+ -- Pre release status.
+
+ -- Error codes not finalized.
+
+ -- No explicit support for Windows specific options
+ (socket options, flags for read and write).
+
+ -- New async api for Windows (completion). See the
+ Asynchronous calls chapter in the (Socket Usage) Users
+ Guide.
+
+ -- To ensure platform independence, gen_tcp and gen_udp
+ is *intended* to be used (not yet updated).
+
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on windows as many more checks are
+ cached.
+
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18131 Application(s): erts
+
+ Optimized internal hash routines.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18141 Application(s): erts
+ Related Id(s): OTP-18140, PR-6073
+
+ Optimization of process aliases made possible now that
+ support for version 4 node container types in the
+ external term format is mandatory.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18227 Application(s): erts
+ Related Id(s): PR-6254
+
+ When erl -eval fails to execute the command is not
+ printed to standard_error.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ *** HIGHLIGHT ***
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18360 Application(s): erts
+ Related Id(s): PR-6497
+
+ erlang:display/1 will now print large maps in a more
+ readable way (similar to how small maps are printed).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18369 Application(s): erts
+
+ Fail enif_init_resource_type and friends by returning
+ NULL if not called during load/upgrade. Old behavior
+ was undefined.
+
+
+ OTP-18410 Application(s): erts
+ Related Id(s): GH-5889, PR-6345
+
+ New option include_shared_binaries for the
+ max_heap_size process limit. If set to true, large
+ binaries (> 64 bytes), which may be referred by several
+ processes, are included in the memory sum compared
+ against the max_heap_size limit.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18424 Application(s): erts
+ Related Id(s): PR-6716
+
+ Reduced memory usage of file:read_file_info/1,2
+
+
+ OTP-18425 Application(s): erts
+ Related Id(s): GH-5333, PR-6628
+
+ Add new function current_stacktrace for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the current stacktrace of the
+ caller into the trace message sent to the trace
+ receiver.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ *** HIGHLIGHT ***
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ *** HIGHLIGHT ***
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18477 Application(s): erts
+ Related Id(s): PR-7006
+
+ Introduced the local option of term_to_binary/2 and
+ term_to_iovec/2.
+
+
+ OTP-18483 Application(s): erts
+ Related Id(s): PR-6888
+
+ Document the commonly used practice to create and store
+ static atoms at NIF load time in callbacks load or
+ upgrade.
+
+
+ OTP-18493 Application(s): erts
+ Related Id(s): PR-6272
+
+ Optimize ets:lookup_element for uncompressed tables by
+ using a more efficient method to copy the term from ETS
+ to the heap of the calling process.
+
+
+ OTP-18505 Application(s): erts
+ Related Id(s): PR-6991
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The default encoding of atoms by term_to_binary and
+ term_to_iovec have changed from Latin1 to UTF-8. The
+ old encoding can still be obtained with options
+ {minor_version, 1}.
+
+ Apart from encoding code points between 128 and 255
+ with two bytes (UTF-8) instead of one, most atoms will
+ occupy one less byte as the length field use only one
+ byte instead of two if possible.
+
+
+ OTP-18517 Application(s): erts
+
+ The version of zlib included in the Erlang/OTP source
+ code is now 1.2.13.
+
+
+ OTP-18520 Application(s): erts
+ Related Id(s): GH-6455
+
+ gen_tcp:send/*, gen_udp:send/* and gen_sctp:send/* have
+ been optimized to use the infamous receive reference
+ optimization, so now sending should not have bad
+ performance when the calling process has a large
+ message queue.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ OTP-18523 Application(s): erts
+ Related Id(s): PR-7004
+
+ Optimize maps:merge/2 memory consumption for small maps
+ (<33 keys) by reusing key tuples or entire maps if the
+ result map has the same number of keys as any of the
+ argument maps.
+
+
+ OTP-18524 Application(s): erts
+ Related Id(s): OTP-18523, PR-7004
+
+ Optimize maps:merge/2 memory consumption further for
+ small maps by mutating 2nd map to use literal key tuple
+ of 1st map if both have the same keys.
+
+
+ OTP-18526 Application(s): erts
+ Related Id(s): GH-7045
+
+ ceil/1, floor/1, is_bitstring/1, is_boolean/1,
+ is_function/2, and tuple_size/1 can now be used in
+ match specifications.
+
+
+ OTP-18540 Application(s): erts, kernel
+ Related Id(s): PR-6900
+
+ Allow IPv6 addresses as host in http packets decoded by
+ erlang:decode_packet/3 and gen_tcp packet option. The
+ IPv6 address should be enclosed within [] according to
+ RFC2732.
+
+
+ OTP-18549 Application(s): erts, runtime_tools
+ Related Id(s): PR-7105
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the experimental erts_alloc_config module. It
+ no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It
+ has since OTP 25 been deprecated and scheduled for
+ removal in OTP 26.
+
+
+ OTP-18552 Application(s): erts
+ Related Id(s): PR-6973
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ ERTS internal thread names have been changed. All
+ threads created by ERTS now have a prefix erts_
+ followed by a type name potentially followed by an
+ integer index. For example, normal schedulers are now
+ named erts_sched_<IX>, dirty CPU schedulers
+ erts_dcpus_<IX>, and dirty IO schedulers
+ erts_dios_<IX>. NIF and driver thread names are
+ truncated at 15 characters regardless of whether the
+ underlying platform support more characters or not.
+
+
+ Full runtime dependencies of erts-14.0: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.1.5 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18359 Application(s): ftp
+ Related Id(s): PR-6545
+
+ Fixes the documentation for the ftp module and updates
+ the typing of ftp functions that return errors.
+
+ The documentation has been improved and the types of
+ the functions are now read from source code, instead of
+ being hard-coded in XML.
+
+ Functions returning errors of the form {error, Reason
+ :: 'ehost' | ...} are now similar to other modules,
+ i.e., {error, Reason :: term()}. If one wants to
+ understand the error, one must call the function
+ ftp:formaterror({error, Reason}).
+
+
+ --- Improvements and New Features ---
+
+ OTP-18541 Application(s): ftp
+
+ Remove deprecated functions in OTP-26
+
+
+ Full runtime dependencies of ftp-1.1.5: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-9.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18476 Application(s): inets
+ Related Id(s): GH-6380
+
+ Correct timing related pipelining/keepalive queue bug,
+ that could result in unexpected "socket_remotly_closed"
+ errors.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18167 Application(s): inets
+
+ By default ssl connections will use options from
+ ssl_default_options(true)
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ OTP-18530 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ IP display string will now always be in lower case,
+ effects ipv6 addresses.
+
+
+ OTP-18536 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed deprecated functions
+
+
+ OTP-18544 Application(s): inets
+ Related Id(s): GH-5276
+
+ Update the code in the inets example directory to
+ reflect the latest implementation
+
+
+ Full runtime dependencies of inets-9.0: erts-14.0, kernel-9.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-5.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18210 Application(s): kernel
+ Related Id(s): GH-5877, PR-5878
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fix bug where duplicate keys were allowed in the .app
+ file of an application. Duplicate keys are now rejected
+ and the application will not start if they exist.
+
+
+ OTP-18225 Application(s): kernel
+ Related Id(s): PR-6036
+
+ Fix inconsistent handling in logger_formatter of the
+ branched values in conditional branches. For example
+ using msg in a conditional branch would not be
+ formatted as it should before this fix.
+
+
+ OTP-18226 Application(s): kernel
+ Related Id(s): PR-6253
+
+ Fix the logger_std_h handler to log to standard_error
+ if logging to standard_io fails for any reason.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18286 Application(s): kernel
+ Related Id(s): PR-5955
+
+ Fix logging of log events generated before kernel is
+ started to not fail if the code for formatting those
+ log messaged have not yet been loaded.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18486 Application(s): kernel, stdlib
+ Related Id(s): PR-6881
+
+ Fixed a bug where file:read(standard_io, ...)
+ unexpectedly returned eof in binary mode.
+
+
+ OTP-18528 Application(s): kernel
+ Related Id(s): PR-7009
+
+ Return type for seq_trace:get_token/1 fixed.
+
+
+ OTP-18547 Application(s): kernel
+ Related Id(s): PR-7092
+
+ Replaced a regex with a special case handling of ANSI
+ Select Graphic Rendition escape characters, to speed up
+ io output that make use of these escape sequences.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ Add support for socket on Windows.
+
+ -- Pre release status.
+
+ -- Error codes not finalized.
+
+ -- No explicit support for Windows specific options
+ (socket options, flags for read and write).
+
+ -- New async api for Windows (completion). See the
+ Asynchronous calls chapter in the (Socket Usage) Users
+ Guide.
+
+ -- To ensure platform independence, gen_tcp and gen_udp
+ is *intended* to be used (not yet updated).
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18261 Application(s): kernel
+ Related Id(s): PR-5924
+
+ Add code:get_doc/2 which adds support to fetch
+ documentation skeletons of functions using debug_info
+ chunks instead of eep48 doc chunks.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18305 Application(s): kernel
+ Related Id(s): PR-5831
+
+ gen_server optimized by caching callback functions
+
+
+ OTP-18327 Application(s): kernel
+ Related Id(s): PR-6433
+
+ Prepare the pg communication protocol for upgrade. The
+ plan is for OTP-28 nodes to be able to use an upgraded
+ pg protocol while still being able to talk with OTP 26
+ nodes.
+
+
+ OTP-18331 Application(s): kernel
+ Related Id(s): ERIERL-870
+
+ New log type 'rotate', where the log files are
+ compressed upon rotation.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18419 Application(s): kernel
+
+ The function file:pid2name/1 is deprecated and will be
+ removed in Erlang/OTP 27.
+
+
+ OTP-18442 Application(s): kernel
+ Related Id(s): GH-6606, PR-6786
+
+ The modules Erlang DNS resolver inet_res and helper
+ modules have been updated for RFC6891; to handle OPT RR
+ with DNSSEC OK (DO) bit.
+
+
+ OTP-18444 Application(s): kernel
+ Related Id(s): PR-6035
+
+ Introduced application:get_supervisor/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18448 Application(s): kernel
+ Related Id(s): PR-6736
+
+ Reduce contention on the code_server by doing the code
+ preparation on the client.
+
+
+ OTP-18451 Application(s): kernel
+ Related Id(s): PR-6737
+
+ Added a mode to ensure_all_loaded, to start children
+ application and their dependencies concurrently.
+
+
+ OTP-18452 Application(s): kernel
+ Related Id(s): PR-6729
+
+ Cache OTP boot code paths, to limit how many folders
+ that are being accessed during a module lookup. Can be
+ disabled with -cache_boot_path false. OTP boot code
+ paths consists of ERL_LIB environment variables. The
+ various otp/*/ebin folders. And the {path, ...} clauses
+ in the init script.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ OTP-18466 Application(s): kernel
+ Related Id(s): PR-6832
+
+ Add cache attribute to code path apis.
+
+ Added an optional cache/nocache argument to all
+ code:add_path*, code:set_path*, and code:replace_path*
+ functions. These functions will then avoid doing
+ file-accesses if they are cached. Cache can be cleared
+ with code:clear_cache/0. Added code:del_paths/1 to make
+ it easier to clear multiple paths.
+
+
+ OTP-18484 Application(s): kernel
+ Related Id(s): PR-6844
+
+ Improvements to code:ensure_modules_loaded/1:
+ Previously it would prepare modules and then abandon
+ references to said modules if they had on_load
+ callbacks. This pull request makes it so they keep the
+ references around and then serially load them without
+ having to fetch the object code and prepare them again.
+
+
+ OTP-18510 Application(s): kernel
+ Related Id(s): GH-6098, PR-6982
+
+ The internal DNS resolver has bee updated to handle DNS
+ LOC RR:s (RFC 1876). This is an undocumented module,
+ although still used by power users. See the source
+ code.
+
+
+ OTP-18521 Application(s): kernel
+ Related Id(s): PR-7025
+
+ Reduced memory consumption in global when informing
+ other nodes about lost connections.
+
+
+ OTP-18533 Application(s): kernel
+ Related Id(s): PR-7061
+
+ The net_kernel, global, and global_group servers now
+ have fully asynchronous distributed signaling enabled
+ all the time which prevents them from ever getting
+ blocked on send of distributed signals.
+
+ Documentation about blocking distributed signals has
+ also been improved.
+
+
+ OTP-18540 Application(s): erts, kernel
+ Related Id(s): PR-6900
+
+ Allow IPv6 addresses as host in http packets decoded by
+ erlang:decode_packet/3 and gen_tcp packet option. The
+ IPv6 address should be enclosed within [] according to
+ RFC2732.
+
+
+ OTP-18542 Application(s): kernel
+
+ Remove deprecated functions in OTP-26
+
+
+ OTP-18551 Application(s): kernel
+ Related Id(s): PR-7106
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed code:is_module_native/1 since HiPE has been
+ removed. It has since OTP 24 been deprecated and
+ scheduled for removal in OTP 26.
+
+ Removed code:rehash/0 since the code path feature no
+ longer is present. It has since OTP 19 been deprecated
+ and has since OTP 24 been scheduled for removal in OTP
+ 26.
+
+
+ Full runtime dependencies of kernel-9.0: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18538 Application(s): megaco, otp
+ Related Id(s): GH-7031, PR-7078
+
+ Removed configure option --enable-sanitizers. It was
+ untested and broken. Address sanitizer for the emulator
+ has better support by the asan build target.
+
+
+ Full runtime dependencies of megaco-4.4.4: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.22 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18309 Application(s): mnesia
+ Related Id(s): PR-6377
+
+ Added debug statistics for active transactions.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of mnesia-4.22: erts-9.0, kernel-5.3,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.15 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18430 Application(s): observer
+ Related Id(s): PR-6397
+
+ Added start/1, start_and_wait functions/1|2 functions.
+
+
+ Full runtime dependencies of observer-2.15: erts-14.0, et-1.5,
+ kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.14.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18539 Application(s): odbc
+
+ Allow larger column sizes than 8001 in case DB supports
+ it.
+
+
+ Full runtime dependencies of odbc-2.14.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.9 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18246 Application(s): os_mon
+ Related Id(s): GH-6156, PR-6284
+
+ Fix internal os_mon_sysinfo:get_disk_info/1 function to
+ not crash when run on Windows with multiple drives.
+
+
+ OTP-18546 Application(s): os_mon
+ Related Id(s): GH-7070, PR-7071
+
+ Fixed a memory leak when calling cpu_sup:util/0,1 on
+ FreeBSD.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18303 Application(s): os_mon
+ Related Id(s): PR-6384
+
+ The disksup:get_disk_info/0 and disksup:get_disk_info/1
+ functions have been introduced. These can be used in
+ order to immediately fetch information about current
+ disk usage.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ Full runtime dependencies of os_mon-2.9: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18491 Application(s): parsetools
+ Related Id(s): PR-6882
+
+ *** HIGHLIGHT ***
+
+ Leex has been extended with optional column number
+ support.
+
+
+ Full runtime dependencies of parsetools-2.5: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of public_key-1.14: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-1.0 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18230 Application(s): reltool
+ Related Id(s): PR-5936
+
+ Add possibility to strip specific chunks from beam
+ files included in a release. Before this change it was
+ only possible to strip all chunks from the beam files.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18488 Application(s): reltool
+ Related Id(s): PR-6836
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for the experimental code archives feature has
+ been removed from reltool.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of reltool-1.0: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0, stdlib-5.0, tools-2.6.14, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-2.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18499 Application(s): runtime_tools
+ Related Id(s): PR-6946
+
+ Fixed the type specification for
+ instrument:carriers/0,1
+
+
+ --- Improvements and New Features ---
+
+ OTP-18211 Application(s): runtime_tools
+ Related Id(s): PR-6143
+
+ Add dbg:tracer(file, Filename) as a convenient way to
+ trace to a file in clean text.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18487 Application(s): runtime_tools, tools
+ Related Id(s): PR-6829
+
+ The instrument module has been moved from tools to
+ runtime_tools.
+
+
+ OTP-18549 Application(s): erts, runtime_tools
+ Related Id(s): PR-7105
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the experimental erts_alloc_config module. It
+ no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It
+ has since OTP 25 been deprecated and scheduled for
+ removal in OTP 26.
+
+
+ Full runtime dependencies of runtime_tools-2.0: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18300 Application(s): sasl
+ Related Id(s): PR-6389
+
+ Improve error message from systools:make_script, when
+ .app parameters contain duplicates. The parameters that
+ will be checked are modules, applications and
+ registered.
+
+
+ Full runtime dependencies of sasl-4.2.1: erts-10.2, kernel-6.0,
+ stdlib-4.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of snmp-5.14: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18231 Application(s): ssh
+ Related Id(s): OTP-17932, PR-6144
+
+ The ssh_cli has been updated to work with the changes
+ introduced in the new Erlang shell implementation.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of ssh-5.0: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18550 Application(s): ssl
+
+ Client signature algorithm list input order is now
+ honored again , it was accidently reversed by a
+ previous fix.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14771 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove less that 256 bit ECC from default supported ECC
+ pre TLS-1.3
+
+
+ OTP-15903 Application(s): ssl
+
+ Improved error checking and handling of ssl options.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18253 Application(s): ssl
+
+ With this change, TLS 1.3 server can be configured to
+ include client certificate in session ticket.
+
+
+ OTP-18254 Application(s): ssl
+ Related Id(s): PR-5982
+
+ With this change, it is possible to configure
+ encryption seed to be used with TLS1.3 stateless
+ tickets. This enables using tickets on different server
+ instances.
+
+
+ OTP-18312 Application(s): ssl
+
+ Debugging enhancements.
+
+
+ OTP-18335 Application(s): ssl
+
+ With this change, maybe keyword atom is not used as
+ function name in ssl code.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ OTP-18453 Application(s): ssl
+
+ Mitigate memory usage from large certificate chains by
+ lowering the maximum handshake size. This should not
+ effect the common cases, if needed it can be configured
+ to a higher value.
+
+
+ OTP-18455 Application(s): ssl
+ Related Id(s): GH-5899
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the client default verify option to verify_peer.
+ Note that this makes it mandatory to also supply
+ trusted CA certificates or explicitly set verify to
+ verify_none. This also applies when using the so called
+ anonymous test cipher suites defined in TLS versions
+ pre TLS-1.3.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ OTP-18459 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ OTP-18465 Application(s): ssl
+ Related Id(s): GH-7065
+
+ Refactors the (ssl application to use macros for TLS
+ and DTLS versions instead of hard-coded tuple numbers.
+ This change improves the maintainability of ssl
+
+
+ OTP-18507 Application(s): ssl
+
+ If the function ssl:renegotiate/1 is called on
+ connection that is running TLS-1.3 return an error
+ instead of hanging or timing out.
+
+
+ OTP-18531 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ If a user cancel alert with level warning is received
+ during handshake make it be handled the same regardless
+ of TLS version. If it is received in connection in
+ TLS-1.3 regard it as an error as it is inappropriate.
+
+ In TLS-1.3 all error alerts are considered FATAL
+ regardless of legacy alert type. But make sure legacy
+ type is printed in logs to not confuse users that are
+ expecting the same legacy type as sent by peer.
+
+
+ Full runtime dependencies of ssl-11.0: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18275 Application(s): stdlib
+ Related Id(s): PR-6045
+
+ All process calls in dets have been updated to use the
+ receive queue optimizations.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18486 Application(s): kernel, stdlib
+ Related Id(s): PR-6881
+
+ Fixed a bug where file:read(standard_io, ...)
+ unexpectedly returned eof in binary mode.
+
+
+ OTP-18548 Application(s): stdlib
+ Related Id(s): PR-6967
+
+ Fix return value 'undefined' of v(N) is treated as
+ missing command.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-15597 Application(s): stdlib
+ Related Id(s): PR-5831
+
+ Gen_server now caches external functions for use in
+ handle_call, handle_cast and handle_info.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten from by
+ moving more code to Erlang from the old linked-in
+ driver and implementing all the I/O primitives needed
+ in a NIF instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+
+ OTP-18150 Application(s): stdlib
+
+ Added codepoint category to unicode_util
+
+
+ OTP-18159 Application(s): stdlib
+ Related Id(s): PR-6904
+
+ Added the zip:zip_get_crc32/2 function to retrieve the
+ CRC32 checksum from an opened ZIP archive.
+
+
+ OTP-18176 Application(s): stdlib
+ Related Id(s): PR-6118
+
+ Add the new options post_process_args and detached to
+ peer:start function.
+
+
+ OTP-18221 Application(s): stdlib
+ Related Id(s): PR-6197
+
+ The re:replace/3,4 functions now accept as the
+ replacement argument.
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ *** HIGHLIGHT ***
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are more
+ than three times faster than in Erlang/OTP 25.
+
+
+ OTP-18236 Application(s): stdlib
+ Related Id(s): PR-6256
+
+ Improved implementation of timer:apply_interval/4
+ reducing load on the timer server, and introduction of
+ the new function timer:apply_repeatedly/4.
+ timer:apply_repeatedly/4 is similar to
+ timer:apply_interval/4, but timer:apply_repeatedly/4
+ prevents parallel execution of triggered apply
+ operations which timer:apply_interval/4 does not.
+
+
+ OTP-18247 Application(s): stdlib
+ Related Id(s): PR-6280, PR-6711
+
+ The base64 module now supports encoding and decoding
+ with an alternate URL safe alphabet, and an option for
+ accepting or adding missing = padding characters.
+
+
+ OTP-18272 Application(s): stdlib
+ Related Id(s): PR-6279
+
+ Add shell:whereis/0 which can be used to locate the
+ current shell process.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18279 Application(s): stdlib
+ Related Id(s): PR-6234
+
+ New function ets:lookup_element/4 with a Default
+ argument returned if the key did not exist in the
+ table. The old ets:lookup_element/3 raises a badarg
+ exception which can be both inconveniente and slower.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18287 Application(s): stdlib
+ Related Id(s): PR-5955
+
+ peer nodes using standard_io connections now include
+ standard error from the node in the io stream from the
+ started node.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18301 Application(s): stdlib
+ Related Id(s): PR-6350
+
+ Improve type specification of
+ unicode:characters_to_list().
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ *** HIGHLIGHT ***
+
+ In the lists, the zip family of functions now takes
+ options to allow handling lists of different lengths.
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\^? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18354 Application(s): stdlib
+ Related Id(s): PR-6297
+
+ The binary:encode_hex/2 function has been added to
+ allow the encoded hexadecimal digits to be in either
+ lower or upper case.
+
+
+ OTP-18355 Application(s): stdlib
+ Related Id(s): PR-6507
+
+ Variants of timer:tc() with user specified time unit
+ have been introduced.
+
+
+ OTP-18361 Application(s): stdlib
+ Related Id(s): PR-6536
+
+ New function math:tau/0. Returns 2*math:pi().
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18385 Application(s): stdlib
+ Related Id(s): PR-6698
+
+ Optimized gen_server:multi_call().
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18423 Application(s): stdlib
+ Related Id(s): com/erlang/backlog/issues/142,
+ https://github
+
+ Make gen_server fail "silently" with a new return value
+ for init/1.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18474 Application(s): stdlib
+ Related Id(s): PR-6895
+
+ Static supervisors are very idle processes after they
+ have started so they will now be hibernated after start
+ to improve resource management.
+
+
+ OTP-18494 Application(s): stdlib
+ Related Id(s): PR-6924
+
+ Support has been added in ms_transform for the actions
+ caller_line/0, current_stacktrace/0, and
+ current_stacktrace/1.
+
+
+ OTP-18495 Application(s): stdlib
+ Related Id(s): PR-6943
+
+ *** HIGHLIGHT ***
+
+ The family of enumeration functions in module lists has
+ been extended with enumerate/3 that allows a step value
+ to be supplied.
+
+
+ OTP-18500 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ Update Unicode to version 15.0.0.
+
+
+ OTP-18511 Application(s): otp, stdlib
+ Related Id(s): PR-7017
+
+ The regular expression library powering the re module
+ is likely to be changed in Erlang/OTP 27. See Upcoming
+ Potential Incompatibilities.
+
+
+ OTP-18515 Application(s): stdlib
+ Related Id(s): GH-6990
+
+ Improved the performance of sets:subtract/2 when
+ subtracting a small number of elements.
+
+
+ OTP-18518 Application(s): stdlib
+ Related Id(s): GH-7015
+
+ The linter will no longer raise warnings for
+ underspecified opaque types.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ OTP-18537 Application(s): stdlib
+ Related Id(s): PR-7081
+
+ The by gen_statem previously used call proxy process
+ that was used for preventing late replies from reaching
+ the client at timeout or connection loss has been
+ removed. It is no longer needed since process aliases
+ take care of this, are used, and supported by all
+ Erlang nodes that an OTP 26 Erlang node can communicate
+ with.
+
+
+ Full runtime dependencies of stdlib-5.0: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ Full runtime dependencies of syntax_tools-3.1: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of tftp-1.1: erts-6.0, kernel-6.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18487 Application(s): runtime_tools, tools
+ Related Id(s): PR-6829
+
+ The instrument module has been moved from tools to
+ runtime_tools.
+
+
+ Full runtime dependencies of tools-3.6: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.3 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of wx-2.3: erts-12.0, kernel-8.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.0.1.README.txt b/release-notes/OTP-26.0.1.README.txt
new file mode 100644
index 0000000..f7a56ee
--- /dev/null
+++ b/release-notes/OTP-26.0.1.README.txt
@@ -0,0 +1,318 @@
+Patch Package: OTP 26.0.1
+Git Tag: OTP-26.0.1
+Date: 2023-06-08
+Trouble Report Id: OTP-18576, OTP-18578, OTP-18581, OTP-18583,
+ OTP-18584, OTP-18585, OTP-18587, OTP-18588,
+ OTP-18593, OTP-18595, OTP-18596, OTP-18597,
+ OTP-18600, OTP-18601, OTP-18602, OTP-18603,
+ OTP-18604, OTP-18617, OTP-18619, OTP-18621,
+ OTP-18632
+Seq num: ERIERL-944, GH-7213, GH-7247, GH-7248,
+ GH-7251, GH-7252, GH-7259, GH-7264, GH-7282,
+ GH-7288, GH-7297, GH-7301, GH-7303, GH-7338,
+ GH-7339
+System: OTP
+Release: 26
+Application: compiler-8.3.1, erts-14.0.1, inets-9.0.1,
+ kernel-9.0.1, ssl-11.0.1, stdlib-5.0.1,
+ xmerl-1.3.32
+Predecessor: OTP 26.0
+
+ Check out the git tag OTP-26.0.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.3.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.3.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18576 Application(s): compiler
+
+ Fixed a bug where a failing bsl expression in a guard
+ threw an exception instead of causing the guard to
+ fail.
+
+
+ OTP-18581 Application(s): compiler
+ Related Id(s): GH-7251
+
+ Fixed a bug that would case the validator to reject
+ legal code.
+
+
+ OTP-18583 Application(s): compiler
+ Related Id(s): GH-7259
+
+ The compiler could re-order clauses matching binaries
+ so that the incorrect clause would match. That could
+ only happen for code that used the option
+ {error_location,line} or for code without line or
+ column number information (e.g. generated by a parse
+ transform).
+
+
+ OTP-18593 Application(s): compiler
+ Related Id(s): GH-7252
+
+ Complex guard expression using the or operator and
+ guard BIFs that can fail could sometimes be miscompiled
+ so that the guard would succeed even if a call to a
+ guard BIF failed.
+
+
+ OTP-18600 Application(s): compiler
+ Related Id(s): GH-7248
+
+ With optimizations disabled, a try/catch construct
+ could return an incorrect value.
+
+
+ OTP-18601 Application(s): compiler
+
+ In rare circumstance, a combination of binary
+ construction and binary_part/3 would cause the compiler
+ to generate unsafe code that would crash the runtime
+ system.
+
+
+ OTP-18617 Application(s): compiler
+ Related Id(s): GH-7338
+
+ The compiler could be very slow when compiling guards
+ with multiple guard tests separated with 'or' or ';'.
+
+
+ OTP-18619 Application(s): compiler
+ Related Id(s): GH-7339
+
+ Complex guard expressions using 'or' and map updates
+ could succeed even if the map update failed.
+
+
+ Full runtime dependencies of compiler-8.3.1: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.0.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.0.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18585 Application(s): erts
+ Related Id(s): OTP-18029
+
+ Build of the socket nif failed on Solaris 11.
+
+
+ OTP-18587 Application(s): erts
+
+ Fixed two reduction-counting bugs relating to binaries.
+
+
+ OTP-18597 Application(s): erts
+
+ Constructing a binary segment not aligned with a byte
+ boundary, with a size not fitting in 31 bits, and with
+ a value not fitting in a 64-bit word could crash the
+ runtime system.
+
+
+ OTP-18602 Application(s): erts
+ Related Id(s): GH-7282
+
+ When a binary construction failed because of bad size
+ for a segment, the error information was not always
+ correct.
+
+
+ OTP-18621 Application(s): erts
+ Related Id(s): GH-7288
+
+ Fixed a crash when calling a fun that was defined in a
+ module that had been upgraded.
+
+
+ Full runtime dependencies of erts-14.0.1: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- inets-9.0.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-9.0.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18604 Application(s): inets
+ Related Id(s): GH-7303, PR-7306
+
+ Do not make the default ssl options by calling
+ httpc:ssl_verify_host_options(true) if ssl options are
+ supplied by the user.
+
+
+ Full runtime dependencies of inets-9.0.1: erts-14.0, kernel-9.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-5.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-9.0.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18578 Application(s): kernel, stdlib
+ Related Id(s): GH-7213
+
+ The POSIX error exdev was sometimes incorrectly
+ described as "cross domain link" in some error
+ messages.
+
+
+ OTP-18584 Application(s): kernel
+ Related Id(s): #7238
+
+ Corrected the socket send function description (send
+ with Timeout = nowait). The send function(s) could not
+ return {ok, {RestData, SelectInfo}}
+
+
+ Full runtime dependencies of kernel-9.0.1: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.0.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-11.0.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18588 Application(s): ssl
+ Related Id(s): GH-7264, PR-7277
+
+ Make sure that selection of client certificates handle
+ both TLS-1.3 and TLS-1.2 names correctly. Could cause
+ valid client certificate to not be selected, and an
+ empty client certificate message to be sent to server.
+
+
+ OTP-18596 Application(s): ssl
+ Related Id(s): GH-7247
+
+ Improved ssl:format_error/1 to handle more error
+ tuples.
+
+
+ OTP-18603 Application(s): ssl
+ Related Id(s): GH-7297
+
+ Fixed hanging ssl:connect when ssl application is not
+ started.
+
+
+ OTP-18632 Application(s): ssl
+ Related Id(s): GH-7301, PR-7300
+
+ Correct handling of retransmission timers, current
+ behavior could cause unwanted delays.
+
+
+ Full runtime dependencies of ssl-11.0.1: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.0.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-5.0.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18578 Application(s): kernel, stdlib
+ Related Id(s): GH-7213
+
+ The POSIX error exdev was sometimes incorrectly
+ described as "cross domain link" in some error
+ messages.
+
+
+ Full runtime dependencies of stdlib-5.0.1: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.32 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.32 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18595 Application(s): xmerl
+ Related Id(s): ERIERL-944
+
+ New options to xmerl_scan and xmerl_sax_parser so one
+ can limit the behaviour of the parsers to avoid some
+ XML security issues.
+
+ xmerl_scan gets one new option:
+
+ -- {allow_entities, Boolean} -- Gives the possibility
+ to disallow entities by setting this option to false
+ (true is default)
+
+ xmerl_sax_parser gets the following options:
+
+ -- disallow_entities -- Don't allow entities in
+ document
+
+ -- {entity_recurse_limit, N} -- Set a limit on entity
+ recursion depth (default is 3)
+
+ -- {external_entities, AllowedType} -- Specify which
+ types of external entities that are allowed, this also
+ affect external DTD's. The types are all(default), file
+ and none
+
+ -- {fail_undeclared_ref, Boolean} -- Sets the behavior
+ for undeclared references due to an external file is
+ not parsed (true is default)
+
+ The old option skip_external_dtd is still valid and the
+ same as {external_entities, none} and
+ {fail_undeclared_ref, false} but just affects DTD's and
+ not other external references.
+
+
+ Full runtime dependencies of xmerl-1.3.32: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.0.2.README.txt b/release-notes/OTP-26.0.2.README.txt
new file mode 100644
index 0000000..f9c95dd
--- /dev/null
+++ b/release-notes/OTP-26.0.2.README.txt
@@ -0,0 +1,355 @@
+Patch Package: OTP 26.0.2
+Git Tag: OTP-26.0.2
+Date: 2023-06-29
+Trouble Report Id: OTP-18580, OTP-18618, OTP-18624, OTP-18625,
+ OTP-18626, OTP-18630, OTP-18634, OTP-18635,
+ OTP-18636, OTP-18637, OTP-18640, OTP-18643,
+ OTP-18646, OTP-18649, OTP-18650, OTP-18651,
+ OTP-18652, OTP-18653, OTP-18656, OTP-18657,
+ OTP-18659, OTP-18663
+Seq num: ERIERL-932, GH-6881, GH-7029, GH-7230,
+ GH-7261, GH-7286, GH-7296, GH-7308, GH-7324,
+ GH-7354, GH-7356, GH-7368, GH-7370, GH-7390,
+ GH-7433
+System: OTP
+Release: 26
+Application: compiler-8.3.2, erts-14.0.2, kernel-9.0.2,
+ ssh-5.0.1, ssl-11.0.2, stdlib-5.0.2
+Predecessor: OTP 26.0.1
+
+ Check out the git tag OTP-26.0.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.3.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.3.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18625 Application(s): compiler
+ Related Id(s): GH-7354
+
+ Fixed a type handling bug that would cause an internal
+ consistence failure for correct code.
+
+
+ OTP-18626 Application(s): compiler
+ Related Id(s): GH-7356
+
+ Fixed a bug that could cause the stack trace of throw
+ exceptions to be erroneously optimized out.
+
+
+ OTP-18634 Application(s): compiler
+ Related Id(s): GH-7370
+
+ Complex guard expression using 'or' were not always
+ fully evaluated, making guards that were supposed to
+ fail succeed.
+
+
+ Full runtime dependencies of compiler-8.3.2: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.0.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.0.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18630 Application(s): erts
+ Related Id(s): GH-7029, PR-7275
+
+ Fix using the IME (Input Method Editor) to enter text
+ in cmd.exe and powershell.exe on Windows.
+
+
+ OTP-18635 Application(s): erts, kernel
+ Related Id(s): #7328
+
+ Multiple socket:accept calls issue. When making
+ multiple accept calls, only the last call is active.
+
+
+ OTP-18636 Application(s): erts, kernel
+ Related Id(s): GH-7308, PR-7352
+
+ Fix the shell to ignore terminal delay when the
+ terminal capabilities report that they should be used.
+
+
+ OTP-18637 Application(s): erts, kernel
+ Related Id(s): GH-7324, PR-7359
+
+ Fix "oldshell" to echo characters while typing on
+ Windows.
+
+
+ OTP-18646 Application(s): erts, kernel
+
+ On Windows, a call to the function socket:close, when
+ there are waiting active calls to read, write or accept
+ functions, could hang.
+
+
+ OTP-18649 Application(s): erts, kernel
+ Related Id(s): GH-7261, PR-7400
+
+ Fix issues when reading or configuring standard_io on
+ Windows when erl.exe is started using -noshell flag.
+
+
+ OTP-18659 Application(s): erts, stdlib
+ Related Id(s): PR-7426
+
+ The following functions are now much faster when given
+ a long list or binary:
+
+ -- erlang:list_to_integer/1
+
+ -- erlang:binary_to_integer/1
+
+ -- erlang:binary_to_integer/2
+
+ -- erlang:list_to_integer/2
+
+ -- string:to_integer/1
+
+
+ OTP-18663 Application(s): erts
+ Related Id(s): GH-7433, PR-7437
+
+ On AArch64 (ARM64), equality and non-equality tests
+ with literal bitstrings could succeed when they should
+ fail and vice versa.
+
+
+ Full runtime dependencies of erts-14.0.2: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.0.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-9.0.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18580 Application(s): kernel, stdlib
+ Related Id(s): PR-7242
+
+ Fix bug where when you entered Alt+Enter in the
+ terminal, the cursor would move to the last line,
+ instead of moving to the next line.
+
+
+ OTP-18624 Application(s): kernel
+ Related Id(s): GH-7296
+
+ Fix so that the shell does not crash on startup when
+ termcap is not available.
+
+
+ OTP-18635 Application(s): erts, kernel
+ Related Id(s): #7328
+
+ Multiple socket:accept calls issue. When making
+ multiple accept calls, only the last call is active.
+
+
+ OTP-18636 Application(s): erts, kernel
+ Related Id(s): GH-7308, PR-7352
+
+ Fix the shell to ignore terminal delay when the
+ terminal capabilities report that they should be used.
+
+
+ OTP-18637 Application(s): erts, kernel
+ Related Id(s): GH-7324, PR-7359
+
+ Fix "oldshell" to echo characters while typing on
+ Windows.
+
+
+ OTP-18640 Application(s): kernel, stdlib
+ Related Id(s): GH-6881, GH-7286, GH-7368, PR-7384
+
+ Fix eof handling when reading from stdin when erlang is
+ started using -noshell.
+
+
+ OTP-18646 Application(s): erts, kernel
+
+ On Windows, a call to the function socket:close, when
+ there are waiting active calls to read, write or accept
+ functions, could hang.
+
+
+ OTP-18649 Application(s): erts, kernel
+ Related Id(s): GH-7261, PR-7400
+
+ Fix issues when reading or configuring standard_io on
+ Windows when erl.exe is started using -noshell flag.
+
+
+ OTP-18650 Application(s): kernel
+
+ gen_udp:connect with inet_backend = socket fails when
+ the Address is a hostname (string or atom).
+
+
+ OTP-18651 Application(s): kernel
+ Related Id(s): PR-7242
+
+ Fixed problem which would cause shell to crash if
+ particular escape sequence was written to stdout.
+
+
+ OTP-18652 Application(s): kernel, stdlib
+ Related Id(s): PR-7242
+
+ Fixed problem where output would disappear if it was
+ received after a prompt was written in the shell.
+
+
+ OTP-18656 Application(s): kernel
+ Related Id(s): GH-7390, PR-7404
+
+ Fix a crash where the location of erts could not be
+ found in rebar3 dev builds.
+
+
+ OTP-18657 Application(s): kernel
+ Related Id(s): GH-7230, PR-7384
+
+ Introduce the KERNEL application parameter
+ standard_io_encoding that can be used to set the
+ default encoding for standard_io. This option needs to
+ be set to latin1 if the application wants to treat all
+ input data as bytes rather than utf-8 encoded
+ characters.
+
+
+ Full runtime dependencies of kernel-9.0.2: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.0.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-5.0.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18653 Application(s): ssh
+ Related Id(s): PR-7242
+
+ Added multiline editing support to ssh clients
+ connected through OTP ssh daemon.
+
+
+ Full runtime dependencies of ssh-5.0.1: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.0.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-11.0.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18643 Application(s): ssl
+ Related Id(s): ERIERL-932
+
+ Added keylog information to all protocol versions in
+ ssl:connection_information/2.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18618 Application(s): ssl
+ Related Id(s): ERIERL-932
+
+ Add RFC-6083 considerations for DTLS to enable gen_sctp
+ based callback for the transport.
+
+
+ Full runtime dependencies of ssl-11.0.2: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.0.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-5.0.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18580 Application(s): kernel, stdlib
+ Related Id(s): PR-7242
+
+ Fix bug where when you entered Alt+Enter in the
+ terminal, the cursor would move to the last line,
+ instead of moving to the next line.
+
+
+ OTP-18640 Application(s): kernel, stdlib
+ Related Id(s): GH-6881, GH-7286, GH-7368, PR-7384
+
+ Fix eof handling when reading from stdin when erlang is
+ started using -noshell.
+
+
+ OTP-18652 Application(s): kernel, stdlib
+ Related Id(s): PR-7242
+
+ Fixed problem where output would disappear if it was
+ received after a prompt was written in the shell.
+
+
+ OTP-18659 Application(s): erts, stdlib
+ Related Id(s): PR-7426
+
+ The following functions are now much faster when given
+ a long list or binary:
+
+ -- erlang:list_to_integer/1
+
+ -- erlang:binary_to_integer/1
+
+ -- erlang:binary_to_integer/2
+
+ -- erlang:list_to_integer/2
+
+ -- string:to_integer/1
+
+
+ Full runtime dependencies of stdlib-5.0.2: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.0.README.txt b/release-notes/OTP-26.0.README.txt
new file mode 100644
index 0000000..db7946b
--- /dev/null
+++ b/release-notes/OTP-26.0.README.txt
@@ -0,0 +1,3962 @@
+Inital Release: OTP 26.0
+Git Tag: OTP-26.0
+Date: 2023-05-16
+Trouble Report Id: OTP-14771, OTP-14835, OTP-15597, OTP-15903,
+ OTP-16607, OTP-17771, OTP-17932, OTP-18016,
+ OTP-18029, OTP-18053, OTP-18126, OTP-18131,
+ OTP-18135, OTP-18137, OTP-18140, OTP-18141,
+ OTP-18159, OTP-18167, OTP-18168, OTP-18176,
+ OTP-18185, OTP-18188, OTP-18204, OTP-18206,
+ OTP-18209, OTP-18210, OTP-18211, OTP-18221,
+ OTP-18225, OTP-18226, OTP-18227, OTP-18228,
+ OTP-18230, OTP-18231, OTP-18235, OTP-18236,
+ OTP-18237, OTP-18238, OTP-18246, OTP-18247,
+ OTP-18248, OTP-18253, OTP-18254, OTP-18259,
+ OTP-18261, OTP-18271, OTP-18272, OTP-18274,
+ OTP-18275, OTP-18276, OTP-18277, OTP-18278,
+ OTP-18279, OTP-18282, OTP-18285, OTP-18286,
+ OTP-18287, OTP-18297, OTP-18300, OTP-18301,
+ OTP-18303, OTP-18305, OTP-18309, OTP-18310,
+ OTP-18312, OTP-18318, OTP-18327, OTP-18331,
+ OTP-18334, OTP-18335, OTP-18337, OTP-18338,
+ OTP-18340, OTP-18342, OTP-18344, OTP-18350,
+ OTP-18354, OTP-18355, OTP-18359, OTP-18360,
+ OTP-18361, OTP-18364, OTP-18367, OTP-18369,
+ OTP-18377, OTP-18385, OTP-18389, OTP-18405,
+ OTP-18410, OTP-18413, OTP-18414, OTP-18419,
+ OTP-18423, OTP-18424, OTP-18425, OTP-18430,
+ OTP-18431, OTP-18435, OTP-18438, OTP-18439,
+ OTP-18440, OTP-18441, OTP-18442, OTP-18444,
+ OTP-18445, OTP-18447, OTP-18448, OTP-18451,
+ OTP-18452, OTP-18453, OTP-18455, OTP-18456,
+ OTP-18459, OTP-18465, OTP-18466, OTP-18471,
+ OTP-18474, OTP-18476, OTP-18477, OTP-18478,
+ OTP-18483, OTP-18484, OTP-18485, OTP-18486,
+ OTP-18487, OTP-18488, OTP-18490, OTP-18491,
+ OTP-18492, OTP-18493, OTP-18494, OTP-18495,
+ OTP-18498, OTP-18499, OTP-18500, OTP-18501,
+ OTP-18502, OTP-18505, OTP-18507, OTP-18510,
+ OTP-18511, OTP-18515, OTP-18517, OTP-18518,
+ OTP-18520, OTP-18521, OTP-18522, OTP-18523,
+ OTP-18524, OTP-18526, OTP-18528, OTP-18530,
+ OTP-18531, OTP-18533, OTP-18534, OTP-18536,
+ OTP-18537, OTP-18538, OTP-18539, OTP-18540,
+ OTP-18541, OTP-18542, OTP-18543, OTP-18544,
+ OTP-18546, OTP-18547, OTP-18548, OTP-18549,
+ OTP-18551, OTP-18552, OTP-18558, OTP-18561,
+ OTP-18562, OTP-18564, OTP-18566, OTP-18567,
+ OTP-18569, OTP-18571, OTP-18572, OTP-18574,
+ OTP-18575
+Seq num: ERIERL-737, ERIERL-870, GH-3150, GH-3390,
+ GH-4225, GH-4343, GH-4965, GH-5276, GH-5325,
+ GH-5333, GH-5639, GH-5695, GH-5877, GH-5889,
+ GH-5899, GH-6014, GH-6085, GH-6098, GH-6117,
+ GH-6132, GH-6139, GH-6156, GH-6221, GH-6333,
+ GH-6339, GH-6348, GH-6353, GH-6380, GH-6455,
+ GH-6461, GH-6477, GH-6508, GH-6544, GH-6606,
+ GH-6672, GH-6679, GH-6706, GH-6850, GH-6903,
+ GH-6942, GH-6990, GH-7015, GH-7031, GH-7045,
+ GH-7065, GH-7070, GH-7116, GH-7153
+System: OTP
+Release: 26
+Application: asn1-5.1, common_test-1.25, compiler-8.3,
+ crypto-5.2, dialyzer-5.1, diameter-2.3,
+ erl_docgen-1.5, erl_interface-5.4, erts-14.0,
+ et-1.7, ftp-1.2, inets-9.0, jinterface-1.14,
+ kernel-9.0, megaco-4.4.4, mnesia-4.22,
+ observer-2.15, odbc-2.14.1, os_mon-2.9,
+ parsetools-2.5, public_key-1.14, reltool-1.0,
+ runtime_tools-2.0, sasl-4.2.1, snmp-5.14,
+ ssh-5.0, ssl-11.0, stdlib-5.0,
+ syntax_tools-3.1, tftp-1.1, tools-3.6, wx-2.3
+Predecessor: OTP
+
+ Check out the git tag OTP-26.0, and build a full OTP system including
+ documentation.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-15903 Application(s): ssl
+
+ Improved error checking and handling of ssl options.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The TTY/terminal subsystem has been rewritten by moving
+ more code to Erlang from the old linked-in driver and
+ implementing all the I/O primitives needed in a NIF
+ instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+ -- Standard I/O now always defaults to unicode mode if
+ supported. Previously the default was latin1 if the
+ runtime system had been started with -oldshell or
+ -noshell (for example in an escript). To send raw bytes
+ over standard out, one now explicitly has to specify
+ io:setopts(standard_io, [{encoding, latin1}]).
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ Add support for socket on Windows.
+
+ -- Pre release status.
+
+ -- Error codes not finalized.
+
+ -- No explicit support for Windows specific options
+ (socket options, flags for read and write).
+
+ -- New async api for Windows (completion). See the
+ Asynchronous calls chapter in the (Socket Usage) Users
+ Guide.
+
+ -- To ensure platform independence, gen_tcp and gen_udp
+ is *intended* to be used (not yet updated).
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are more
+ than three times faster than in Erlang/OTP 25.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ In the lists module, the zip family of functions now
+ takes options to allow handling lists of different
+ lengths.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18459 Application(s): ssl
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ OTP-18491 Application(s): parsetools
+ Related Id(s): PR-6882
+
+ Leex has been extended with optional column number
+ support.
+
+
+ OTP-18495 Application(s): stdlib
+ Related Id(s): PR-6943
+
+ The family of enumeration functions in module lists has
+ been extended with enumerate/3 that allows a step value
+ to be supplied.
+
+
+ OTP-18498 Application(s): erts
+
+ Reintroduced the optimization that turned anonymous
+ functions without free variables into literals
+ (OTP-15195). This optimization was lost during
+ refactoring in OTP 24.
+
+ Alongside this fix, we plan to remove the "fun creator
+ pid" feature in OTP 27. See Upcoming Potential
+ Incompatibilities for more details.
+
+
+ OTP-18500 Application(s): stdlib
+
+ Update Unicode to version 15.0.0.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-14771 Application(s): ssl
+
+ Remove less that 256 bit ECC from default supported ECC
+ pre TLS-1.3
+
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ The TTY/terminal subsystem has been rewritten by moving
+ more code to Erlang from the old linked-in driver and
+ implementing all the I/O primitives needed in a NIF
+ instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+ -- Standard I/O now always defaults to unicode mode if
+ supported. Previously the default was latin1 if the
+ runtime system had been started with -oldshell or
+ -noshell (for example in an escript). To send raw bytes
+ over standard out, one now explicitly has to specify
+ io:setopts(standard_io, [{encoding, latin1}]).
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18210 Application(s): kernel
+ Related Id(s): GH-5877, PR-5878
+
+ Fixed a bug where duplicate keys were allowed in the
+ .app file of an application. Duplicate keys are now
+ rejected and the application will not start if they
+ exist.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ OTP-18439 Application(s): dialyzer
+ Related Id(s): GH-5695, GH-6942, PR-6822
+
+ Dialyzer has enabled (by default) warnings about
+ unknown types and functions.
+
+ Prior to this change, Dialyzer had warnings about
+ unknown types and functions disabled (by default).
+
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested
+ by the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the -Wunknown
+ function is enabled by default:
+
+ dialyzer moduler.erl -Wunknown -Wmissing_return
+
+ dialyzer moduler.erl -Wmissing_return
+
+ Dialyzer has a new flag, -Wno_unknown. Its purpose is
+ to suppress warnings about unknown functions and types.
+
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: dialyzer module.erl
+ -Wno_unknown
+
+
+ OTP-18455 Application(s): ssl
+ Related Id(s): GH-5899
+
+ Change the client default verify option to verify_peer.
+ Note that this makes it mandatory to also supply
+ trusted CA certificates or explicitly set verify to
+ verify_none. This also applies when using the so called
+ anonymous test cipher suites defined in TLS versions
+ pre TLS-1.3.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18488 Application(s): reltool
+ Related Id(s): PR-6836
+
+ Support for the experimental code archives feature has
+ been removed from reltool.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ OTP-18505 Application(s): erts
+ Related Id(s): PR-6991
+
+ The default encoding of atoms by term_to_binary and
+ term_to_iovec have changed from Latin1 to UTF-8. The
+ old encoding can still be obtained with options
+ {minor_version, 1}.
+
+ Apart from encoding code points between 128 and 255
+ with two bytes (UTF-8) instead of one, most atoms will
+ occupy one less byte as the length field use only one
+ byte instead of two if possible.
+
+
+ OTP-18530 Application(s): inets
+
+ IP display string will now always be in lower case,
+ effects ipv6 addresses.
+
+
+ OTP-18531 Application(s): ssl
+
+ If a user cancel alert with level warning is received
+ during handshake make it be handled the same regardless
+ of TLS version. If it is received in connection in
+ TLS-1.3 regard it as an error as it is inappropriate.
+
+ In TLS-1.3 all error alerts are considered FATAL
+ regardless of legacy alert type. But make sure legacy
+ type is printed in logs to not confuse users that are
+ expecting the same legacy type as sent by peer.
+
+
+ OTP-18536 Application(s): inets
+
+ Removed deprecated functions
+
+
+ OTP-18549 Application(s): erts, runtime_tools
+ Related Id(s): PR-7105
+
+ Removed the experimental erts_alloc_config module. It
+ no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It
+ has since OTP 25 been deprecated and scheduled for
+ removal in OTP 26.
+
+
+ OTP-18551 Application(s): kernel
+ Related Id(s): PR-7106
+
+ Removed code:is_module_native/1 since HiPE has been
+ removed. It has since OTP 24 been deprecated and
+ scheduled for removal in OTP 26.
+
+ Removed code:rehash/0 since the code path feature no
+ longer is present. It has since OTP 19 been deprecated
+ and has since OTP 24 been scheduled for removal in OTP
+ 26.
+
+
+ OTP-18552 Application(s): erts
+ Related Id(s): PR-6973
+
+ ERTS internal thread names have been changed. All
+ threads created by ERTS now have a prefix erts_
+ followed by a type name potentially followed by an
+ integer index. For example, normal schedulers are now
+ named erts_sched_<IX>, dirty CPU schedulers
+ erts_dcpus_<IX>, and dirty IO schedulers
+ erts_dios_<IX>. NIF and driver thread names are
+ truncated at 15 characters regardless of whether the
+ underlying platform support more characters or not.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-26.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18364 Application(s): otp
+
+ Starting from Erlang/OTP 24, it has been possible to
+ write expressions such as A = catch Expr without
+ parentheses around the catch expression, but it was not
+ mentioned in the documentation. It now is.
+
+
+ OTP-18538 Application(s): megaco, otp
+ Related Id(s): GH-7031, PR-7078
+
+ Removed configure option --enable-sanitizers. It was
+ untested and broken. Address sanitizer for the emulator
+ has better support by the asan build target.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on Windows as many more checks are
+ cached.
+
+
+ OTP-18209 Application(s): otp
+ Related Id(s): PR-5881
+
+ Fix the make target release, release_docs, install and
+ install-docs now work when the target path contains
+ whitespace and/or unicode characters.
+
+
+ OTP-18492 Application(s): otp
+ Related Id(s): GH-6706
+
+ The documentation for the bit syntax has been updated
+ to correct some factual errors and omissions.
+
+
+ OTP-18511 Application(s): otp, stdlib
+ Related Id(s): PR-7017
+
+ The regular expression library powering the re module
+ is likely to be changed in Erlang/OTP 27. See Upcoming
+ Potential Incompatibilities.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18534 Application(s): asn1
+ Related Id(s): ERIERL-737, PR-7039
+
+ The ASN.1 compiler used to reject correctly specified
+ RELATIVE-OID values containing other RELATIVE-OID
+ values. This is now corrected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18441 Application(s): asn1
+
+ Minor code improvements.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of asn1-5.1: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.25 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18377 Application(s): common_test
+ Related Id(s): PR-6437
+
+ This change improves Common Test docs (CT hook example
+ code) and adds Emacs skeleton with hook code.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18259 Application(s): common_test
+ Related Id(s): PR-5924
+
+ Updated common_test with a more robust way to fetch old
+ releases, while ignoring the current release.
+
+
+ OTP-18340 Application(s): common_test
+
+ - re-write the XML ct module documentation into erlang
+ types to make Dialyzer able to catch more precise
+ errors
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ Full runtime dependencies of common_test-1.25: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18389 Application(s): compiler, dialyzer
+ Related Id(s): GH-6508, GH-7116, PR-6864
+
+ The compiler would silently accept singleton (unbound)
+ type variables in a union type. Starting from
+ Erlang/OTP 26, the compiler will generate a warning for
+ this example. The warning can be disabled using the
+ nowarn_singleton_typevar option. In Erlang/OTP 27, the
+ warning will become an error.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\^? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18502 Application(s): compiler
+
+ The compiler will now inline calls to maps:get/3.
+
+
+ OTP-18574 Application(s): compiler, erts
+
+ In Erlang/OTP 27, 0.0 will no longer be considered to
+ be exactly equal to -0.0. See Upcoming Potential
+ Incompatibilities.
+
+
+ Full runtime dependencies of compiler-8.3: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18571 Application(s): crypto
+
+ Fix cmac_update aes_128_cbc for LibreSSL.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18204 Application(s): crypto
+ Related Id(s): PR-6203
+
+ Add support for SHAKE128 and SHAKE256.
+
+
+ OTP-18206 Application(s): crypto
+ Related Id(s): PR-6167
+
+ Make the -DOPENSSL_API_COMPAT flag work without
+ warnings.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of crypto-5.2: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18237 Application(s): dialyzer
+ Related Id(s): GH-6221, PR-6243
+
+ When checking behaviors, Dialyzer could generate false
+ warning that a callback function did not have the
+ correct type according to the spec in the behavior
+ definition.
+
+
+ OTP-18276 Application(s): dialyzer
+ Related Id(s): GH-6333
+
+ In a spec, list(none()) used to mean none(). It has now
+ been corrected to mean the empty list.
+
+
+ OTP-18389 Application(s): compiler, dialyzer
+ Related Id(s): GH-6508, GH-7116, PR-6864
+
+ The compiler would silently accept singleton (unbound)
+ type variables in a union type. Starting from
+ Erlang/OTP 26, the compiler will generate a warning for
+ this example. The warning can be disabled using the
+ nowarn_singleton_typevar option. In Erlang/OTP 27, the
+ warning will become an error.
+
+
+ OTP-18485 Application(s): dialyzer
+ Related Id(s): GH-6850, PR-6854
+
+ Fixed a bug that prevented the --plts option from being
+ used together with --add-to-plt.
+
+
+ OTP-18562 Application(s): dialyzer
+
+ Fixed a crash when analyzing code that contained
+ illegal bitstring segment sizes.
+
+
+ OTP-18564 Application(s): dialyzer
+ Related Id(s): GH-7153
+
+ Fixed a crash when formatting certain warnings that
+ contained multi-byte unicode characters.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18188 Application(s): dialyzer
+ Related Id(s): PR-5997
+
+ *** HIGHLIGHT ***
+
+ Dialyzer has a new incremental mode that be invoked by
+ giving the --incremental option when running Dialyzer.
+ This new incremental mode is likely to become the
+ default in a future release.
+
+ Incremental mode primarily differs from the previous,
+ "classic", ways of running Dialyzer, in that its model
+ is optimised around the common use case of regularly
+ analysing a single codebase, tweaking the code,
+ analysing it again, and so on, without explicit
+ reference to the building and checking of a PLT.
+
+ In this mode the PLT file acts much more like a true
+ cache, where users provide a codebase and a set of
+ files they care about, and Dialyzer does the legwork in
+ terms of deciding how to most efficiently report all of
+ the relevant warnings given the cached results it may
+ already have in the PLT (and if a PLT doesn't exist,
+ incremental mode will create one).
+
+
+ OTP-18238 Application(s): dialyzer
+ Related Id(s): PR-6271
+
+ Dialyzer now produces clearer error messages for
+ contract violations.
+
+
+ OTP-18282 Application(s): dialyzer
+ Related Id(s): GH-6132, PR-6335
+
+ The name of a built-in type can now be reused as the
+ name of type locally. That is useful when an OTP
+ release introduces a new built-in type; having the
+ possibility to redefine built-in types locally can make
+ it easier to maintain code that works in multiple OTP
+ releases.
+
+
+ OTP-18310 Application(s): dialyzer
+
+ There is new option -no_spec to ignore all specs. It is
+ useful for debugging when one suspects that some specs
+ could be incorrect.
+
+
+ OTP-18342 Application(s): dialyzer
+ Related Id(s): GH-6117, PR-6654
+
+ Dialyzer's overloaded domain warning is now disabled by
+ default, and can be enabled with the flag
+ -Woverlapping_contract.
+
+ Dialyzer used to issue a warning for overloaded domains
+ stating "such contracts are currently unsupported and
+ are simply ignored".
+
+ These contracts are not "ignored" but rather, Dialyzer
+ takes the union of the overloaded domains. This means
+ that we lose the dependency from each corresponding
+ input to output type. Because of this, the warning is
+ really about not being able to establish a dependency
+ between the input and output types of each respective
+ overloaded function specification.
+
+
+ OTP-18439 Application(s): dialyzer
+ Related Id(s): GH-5695, GH-6942, PR-6822
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Dialyzer has enabled (by default) warnings about
+ unknown types and functions.
+
+ Prior to this change, Dialyzer had warnings about
+ unknown types and functions disabled (by default).
+
+ This default value has been overwritten; Dialyzer now
+ warns about unknown types and functions (as requested
+ by the community in GH-5695). Thus, the following two
+ examples are equivalent, i.e., passing the -Wunknown
+ function is enabled by default:
+
+ dialyzer moduler.erl -Wunknown -Wmissing_return
+
+ dialyzer moduler.erl -Wmissing_return
+
+ Dialyzer has a new flag, -Wno_unknown. Its purpose is
+ to suppress warnings about unknown functions and types.
+
+ Users who wish to suppress these warnings can invoke
+ Dialyzer using this flag. Example: dialyzer module.erl
+ -Wno_unknown
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ OTP-18558 Application(s): dialyzer, stdlib
+ Related Id(s): PR-6852
+
+ Added the argparse module for simplified argument
+ handling in escripts and similar.
+
+
+ Full runtime dependencies of dialyzer-5.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-5.0, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.3 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of diameter-2.3: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18338 Application(s): erl_docgen
+ Related Id(s): PR-6408
+
+ New XML tag <change>. Like a <note> box, but with a
+ different (steel blue) color and label. Intended to
+ contain talk about semantic differences between OTP
+ releases.
+
+
+ OTP-18501 Application(s): erl_docgen
+ Related Id(s): PR-6987
+
+ Add "since" attribute to XML taglist/tag elements to
+ document OTP version when a particular option/feature
+ was introduced. The version is shown out in the right
+ margin, similar to "since" versions for functions.
+
+
+ Full runtime dependencies of erl_docgen-1.5: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.4 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18016 Application(s): erts
+
+ If a local fun was called while reloading the *exact
+ same* module that defined said fun, there was a small
+ window in which the call would land in code that was
+ yet to be fully loaded.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18274 Application(s): erts
+ Related Id(s): PR-6048
+
+ Fix so that -fno-omit-frame-pointer is applied to all
+ of the Erlang VM when using the JIT so that tools, such
+ as perf, can crawl the process stacks.
+
+
+ OTP-18277 Application(s): erts
+ Related Id(s): PR-6306
+
+ Compilation server now support unicode paths in
+ compilation server for filesystems that are encoded
+ with unicode.
+
+
+ OTP-18498 Application(s): erts
+
+ *** HIGHLIGHT ***
+
+ Reintroduced the optimization that turned anonymous
+ functions without free variables into literals
+ (OTP-15195). This optimization was lost during
+ refactoring in OTP 24.
+
+ Alongside this fix, we plan to remove the "fun creator
+ pid" feature in OTP 27. See Upcoming Potential
+ Incompatibilities for more details.
+
+
+ OTP-18561 Application(s): erts
+
+ Fixed a crash during tracing on certain platforms that
+ cannot use the machine stack for Erlang code (mainly
+ OpenBSD and Linux with musl).
+
+
+ --- Improvements and New Features ---
+
+ OTP-17771 Application(s): erts
+ Related Id(s): GH-5325, PR-6370
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The enif_set_option() function has been introduced into
+ the NIF API. It can be used in order to set the
+ ERL_NIF_OPT_DELAY_HALT and/or ERL_NIF_OPT_ON_HALT
+ options with which one can synchronize halt of the
+ runtime system with flushing enabled and execution of
+ NIFs. Halt of the runtime system without flushing
+ enabled, now terminates the runtime system without
+ execution of atexit/on_exit handlers that may have been
+ installed into the runtime system which might be
+ considered a potential incompatibility.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The TTY/terminal subsystem has been rewritten by moving
+ more code to Erlang from the old linked-in driver and
+ implementing all the I/O primitives needed in a NIF
+ instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+ -- Standard I/O now always defaults to unicode mode if
+ supported. Previously the default was latin1 if the
+ runtime system had been started with -oldshell or
+ -noshell (for example in an escript). To send raw bytes
+ over standard out, one now explicitly has to specify
+ io:setopts(standard_io, [{encoding, latin1}]).
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ Add support for socket on Windows.
+
+ -- Pre release status.
+
+ -- Error codes not finalized.
+
+ -- No explicit support for Windows specific options
+ (socket options, flags for read and write).
+
+ -- New async api for Windows (completion). See the
+ Asynchronous calls chapter in the (Socket Usage) Users
+ Guide.
+
+ -- To ensure platform independence, gen_tcp and gen_udp
+ is *intended* to be used (not yet updated).
+
+
+ OTP-18053 Application(s): erts, otp
+ Related Id(s): PR-6101
+
+ Updated configure cache for Windows. This makes
+ configure run faster on Windows as many more checks are
+ cached.
+
+
+ OTP-18126 Application(s): compiler, erts
+ Related Id(s): PR-6033
+
+ Optimized record updates.
+
+
+ OTP-18131 Application(s): erts
+
+ Optimized internal hash routines.
+
+
+ OTP-18135 Application(s): erts
+ Related Id(s): GH-4965, PR-6046
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced when OTP 25 was released, multi time warp
+ mode is now enabled by default. This assumes that all
+ code executing on the system is time warp safe.
+
+ If you have old code in the system that is not time
+ warp safe, you now explicitly need to start the system
+ in no time warp mode (or singe time warp mode if it is
+ partially time warp safe) in order to avoid problems.
+ When starting the system in no time warp mode, the
+ system behaves as it did prior to the introduction of
+ the extended time functionality introduced in OTP 18.
+
+ If you have code that is not time warp safe, you are
+ strongly encouraged to change this so that you can use
+ multi time warp mode. Compared to no time warp mode,
+ multi time warp mode improves scalability and
+ performance as well as accuracy and precision of time
+ measurements.
+
+
+ OTP-18137 Application(s): compiler, erts
+ Related Id(s): PR-6259, PR-6404, PR-6576, PR-6804
+
+ *** HIGHLIGHT ***
+
+ There are several new optimization for binary syntax in
+ the JIT:
+
+ -- Creation and matching of binaries with segments of
+ fixed sizes have been optimized.
+
+ -- Creation and matching of UTF-8 segments have been
+ optimized.
+
+ -- Appending to binaries has been optimized.
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18141 Application(s): erts
+ Related Id(s): OTP-18140, PR-6073
+
+ Optimization of process aliases made possible now that
+ support for version 4 node container types in the
+ external term format is mandatory.
+
+
+ OTP-18185 Application(s): compiler, erts
+ Related Id(s): GH-6139
+
+ *** HIGHLIGHT ***
+
+ The compiler and JIT now generate better code for
+ creation of small maps where all keys are literals
+ known at compile time.
+
+
+ OTP-18227 Application(s): erts
+ Related Id(s): PR-6254
+
+ When erl -eval fails to execute a command, an error
+ description is printed to standard_error.
+
+
+ OTP-18334 Application(s): erts
+ Related Id(s): PR-6434
+
+ *** HIGHLIGHT ***
+
+ Support for UTF-8 atoms and strings in the NIF
+ interface including new functions enif_make_new_atom,
+ enif_make_new_atom_len and enif_get_string_length.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18360 Application(s): erts
+ Related Id(s): PR-6497
+
+ erlang:display/1 will now print large maps in a more
+ readable way (similar to how small maps are printed).
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18369 Application(s): erts
+
+ Fail enif_init_resource_type and friends by returning
+ NULL if not called during load/upgrade. Old behavior
+ was undefined.
+
+
+ OTP-18410 Application(s): erts
+ Related Id(s): GH-5889, PR-6345
+
+ New option include_shared_binaries for the
+ max_heap_size process limit. If set to true, large
+ binaries (> 64 bytes), which may be referred by several
+ processes, are included in the memory sum compared
+ against the max_heap_size limit.
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18424 Application(s): erts
+ Related Id(s): PR-6716
+
+ Reduced memory usage of file:read_file_info/1,2
+
+
+ OTP-18425 Application(s): erts
+ Related Id(s): GH-5333, PR-6628
+
+ Add new function current_stacktrace for trace match
+ specifications used by erlang:trace_pattern/3.
+
+ This new option puts the current stacktrace of the
+ caller into the trace message sent to the trace
+ receiver.
+
+
+ OTP-18435 Application(s): erts
+ Related Id(s): PR-6827
+
+ *** HIGHLIGHT ***
+
+ The amount of significant bits in node local process
+ identifiers and port identifiers has been extended from
+ 28 bits to 60 bits on 64-bit runtime systems. This
+ makes these identifiers large enough to in practice
+ never having to be reused during the life time of a
+ node.
+
+
+ OTP-18440 Application(s): erts
+ Related Id(s): PR-6351
+
+ *** HIGHLIGHT ***
+
+ New trace feature call_memory. Similar to call_time
+ tracing, but instead of measure accumulated time in
+ traced functions it measures accumulated heap space
+ consumed by traced functions. It can be used to compare
+ how much different functions are contributing to
+ garbage collection being triggered.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18477 Application(s): erts
+ Related Id(s): PR-7006
+
+ Introduced the local option of term_to_binary/2 and
+ term_to_iovec/2.
+
+
+ OTP-18483 Application(s): erts
+ Related Id(s): PR-6888
+
+ Document the commonly used practice to create and store
+ static atoms at NIF load time in callbacks load or
+ upgrade.
+
+
+ OTP-18493 Application(s): erts
+ Related Id(s): PR-6272
+
+ Optimize ets:lookup_element for uncompressed tables by
+ using a more efficient method to copy the term from ETS
+ to the heap of the calling process.
+
+
+ OTP-18505 Application(s): erts
+ Related Id(s): PR-6991
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The default encoding of atoms by term_to_binary and
+ term_to_iovec have changed from Latin1 to UTF-8. The
+ old encoding can still be obtained with options
+ {minor_version, 1}.
+
+ Apart from encoding code points between 128 and 255
+ with two bytes (UTF-8) instead of one, most atoms will
+ occupy one less byte as the length field use only one
+ byte instead of two if possible.
+
+
+ OTP-18517 Application(s): erts
+
+ The version of zlib included in the Erlang/OTP source
+ code is now 1.2.13.
+
+
+ OTP-18520 Application(s): erts
+ Related Id(s): GH-6455
+
+ gen_tcp:send/*, gen_udp:send/* and gen_sctp:send/* have
+ been optimized to use the infamous receive reference
+ optimization, so now sending should not have bad
+ performance when the calling process has a large
+ message queue.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ OTP-18523 Application(s): erts
+ Related Id(s): PR-7004
+
+ Optimize maps:merge/2 memory consumption for small maps
+ (<33 keys) by reusing key tuples or entire maps if the
+ result map has the same number of keys as any of the
+ argument maps.
+
+
+ OTP-18524 Application(s): erts
+ Related Id(s): OTP-18523, PR-7004
+
+ Optimize maps:merge/2 memory consumption further for
+ small maps by mutating 2nd map to use literal key tuple
+ of 1st map if both have the same keys.
+
+
+ OTP-18526 Application(s): erts
+ Related Id(s): GH-7045
+
+ ceil/1, floor/1, is_bitstring/1, is_boolean/1,
+ is_function/2, and tuple_size/1 can now be used in
+ match specifications.
+
+
+ OTP-18540 Application(s): erts, kernel
+ Related Id(s): PR-6900
+
+ Allow IPv6 addresses as host in http packets decoded by
+ erlang:decode_packet/3 and gen_tcp packet option. The
+ IPv6 address should be enclosed within [] according to
+ RFC2732.
+
+
+ OTP-18549 Application(s): erts, runtime_tools
+ Related Id(s): PR-7105
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the experimental erts_alloc_config module. It
+ no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It
+ has since OTP 25 been deprecated and scheduled for
+ removal in OTP 26.
+
+
+ OTP-18552 Application(s): erts
+ Related Id(s): PR-6973
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ ERTS internal thread names have been changed. All
+ threads created by ERTS now have a prefix erts_
+ followed by a type name potentially followed by an
+ integer index. For example, normal schedulers are now
+ named erts_sched_<IX>, dirty CPU schedulers
+ erts_dcpus_<IX>, and dirty IO schedulers
+ erts_dios_<IX>. NIF and driver thread names are
+ truncated at 15 characters regardless of whether the
+ underlying platform support more characters or not.
+
+
+ OTP-18569 Application(s): erts
+
+ Further robustify implementation of large maps (> 32
+ keys). Keys that happen to have same internal 32-bit
+ hash values are now put in collision nodes which are
+ traversed with linear search. This removes the demand
+ for the internal hash function when salted to
+ eventually produce different hashes for all possible
+ pairs of unequal terms.
+
+
+ OTP-18574 Application(s): compiler, erts
+
+ In Erlang/OTP 27, 0.0 will no longer be considered to
+ be exactly equal to -0.0. See Upcoming Potential
+ Incompatibilities.
+
+
+ Full runtime dependencies of erts-14.0: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- et-1.7 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ Full runtime dependencies of et-1.7: erts-9.0, kernel-5.3,
+ runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.2 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18359 Application(s): ftp
+ Related Id(s): PR-6545
+
+ Fixes the documentation for the ftp module and updates
+ the typing of ftp functions that return errors.
+
+ The documentation has been improved and the types of
+ the functions are now read from source code, instead of
+ being hard-coded in XML.
+
+ Functions returning errors of the form {error, Reason
+ :: 'ehost' | ...} are now similar to other modules,
+ i.e., {error, Reason :: term()}. If one wants to
+ understand the error, one must call the function
+ ftp:formaterror({error, Reason}).
+
+
+ --- Improvements and New Features ---
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18541 Application(s): ftp
+
+ Remove deprecated functions in OTP-26
+
+
+ Full runtime dependencies of ftp-1.2: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-9.0 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18476 Application(s): inets
+ Related Id(s): GH-6380
+
+ Correct timing related pipelining/keepalive queue bug,
+ that could result in unexpected "socket_remotly_closed"
+ errors.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18167 Application(s): inets
+
+ By default ssl connections will use options from
+ ssl_default_options(true)
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ OTP-18530 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ IP display string will now always be in lower case,
+ effects ipv6 addresses.
+
+
+ OTP-18536 Application(s): inets
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed deprecated functions
+
+
+ OTP-18544 Application(s): inets
+ Related Id(s): GH-5276
+
+ Update the code in the inets example directory to
+ reflect the latest implementation
+
+
+ Full runtime dependencies of inets-9.0: erts-14.0, kernel-9.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-5.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- jinterface-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18210 Application(s): kernel
+ Related Id(s): GH-5877, PR-5878
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Fixed a bug where duplicate keys were allowed in the
+ .app file of an application. Duplicate keys are now
+ rejected and the application will not start if they
+ exist.
+
+
+ OTP-18225 Application(s): kernel
+ Related Id(s): PR-6036
+
+ Fix inconsistent handling in logger_formatter of the
+ branched values in conditional branches. For example
+ using msg in a conditional branch would not be
+ formatted as it should before this fix.
+
+
+ OTP-18226 Application(s): kernel
+ Related Id(s): PR-6253
+
+ Fix the logger_std_h handler to log to standard_error
+ if logging to standard_io fails for any reason.
+
+
+ OTP-18248 Application(s): erts, kernel
+ Related Id(s): GH-6085, PR-6227
+
+ Fix the TLS distribution to work when starting Erlang
+ in embedded mode and a connection is done before kernel
+ is fully started.
+
+
+ OTP-18271 Application(s): erts, kernel
+ Related Id(s): PR-6279
+
+ erl -remsh has been improved to provide better error
+ reasons and work when using a shell without terminal
+ support (that is an "oldshell").
+
+
+ OTP-18286 Application(s): kernel
+ Related Id(s): PR-5955
+
+ Fix logging of log events generated before kernel is
+ started to not fail if the code for formatting those
+ log messaged have not yet been loaded.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18486 Application(s): kernel, stdlib
+ Related Id(s): PR-6881
+
+ Fixed a bug where file:read(standard_io, ...)
+ unexpectedly returned eof in binary mode.
+
+
+ OTP-18528 Application(s): kernel
+ Related Id(s): PR-7009
+
+ Return type for seq_trace:get_token/1 fixed.
+
+
+ OTP-18543 Application(s): kernel
+ Related Id(s): GH-6353
+
+ Looking up, connecting to and sending to a host with an
+ empty name is now handled by trying to look up the
+ address of the root domain, which fails. Previously
+ some of these operations caused an internal exception,
+ which contradicted type specifications.
+
+
+ OTP-18547 Application(s): kernel
+ Related Id(s): PR-7092
+
+ Replaced a regex with a special case handling of ANSI
+ Select Graphic Rendition escape characters, to speed up
+ io output that make use of these escape sequences.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The TTY/terminal subsystem has been rewritten by moving
+ more code to Erlang from the old linked-in driver and
+ implementing all the I/O primitives needed in a NIF
+ instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+ -- Standard I/O now always defaults to unicode mode if
+ supported. Previously the default was latin1 if the
+ runtime system had been started with -oldshell or
+ -noshell (for example in an escript). To send raw bytes
+ over standard out, one now explicitly has to specify
+ io:setopts(standard_io, [{encoding, latin1}]).
+
+
+ OTP-18029 Application(s): erts, kernel
+
+ *** HIGHLIGHT ***
+
+ Add support for socket on Windows.
+
+ -- Pre release status.
+
+ -- Error codes not finalized.
+
+ -- No explicit support for Windows specific options
+ (socket options, flags for read and write).
+
+ -- New async api for Windows (completion). See the
+ Asynchronous calls chapter in the (Socket Usage) Users
+ Guide.
+
+ -- To ensure platform independence, gen_tcp and gen_udp
+ is *intended* to be used (not yet updated).
+
+
+ OTP-18140 Application(s): erl_interface, erts, jinterface,
+ kernel
+ Related Id(s): PR-6072
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ As announced since the release of OTP 24, support for:
+
+ -- version 4 node container types in the external term
+ format are now mandatory. That is, references
+ supporting up to 5 32-bit integer identifiers, and
+ process and port identifiers with support for 64-bit
+ data storage. The distribution flag DFLAG_V4_NC is
+ therefor now also mandatory. OTP has since OTP 24
+ supported this. Also note that the external format
+ produced by term_to_binary() and term_to_iovec() will
+ unconditionally produce pids, ports, and references
+ supporting this larger format.
+
+ -- the new link protocol introduced in OTP 23.3 is now
+ mandatory. The distribution flag DFLAG_UNLINK_ID is
+ therefor now also mandatory.
+
+ Due to the above, OTP 26 nodes will refuse to connect
+ to OTP nodes from releases prior to OTP 24.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18261 Application(s): kernel
+ Related Id(s): PR-5924
+
+ Add code:get_doc/2 which adds support to fetch
+ documentation skeletons of functions using debug_info
+ chunks instead of eep48 doc chunks.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18305 Application(s): kernel
+ Related Id(s): PR-5831
+
+ gen_server optimized by caching callback functions
+
+
+ OTP-18327 Application(s): kernel
+ Related Id(s): PR-6433
+
+ Prepare the pg communication protocol for upgrade. The
+ plan is for OTP-28 nodes to be able to use an upgraded
+ pg protocol while still being able to talk with OTP 26
+ nodes.
+
+
+ OTP-18331 Application(s): kernel
+ Related Id(s): ERIERL-870
+
+ New disk_log log type rotate, where the log files are
+ compressed upon rotation.
+
+
+ OTP-18344 Application(s): erts, kernel
+ Related Id(s): GH-6461, OTP-18324, PR-6481, PR-6522,
+ PR-6944
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The following inet:setopts/2 options have been
+ introduced:
+
+ -- reuseport -- Reuse of local port. Load balancing may
+ or may not be provided depending on underlying OS.
+
+ -- reuseport_lb -- Reuse of local port. Load balancing
+ provided.
+
+ -- exclusiveaddruse -- Exclusive address/port usage on
+ Windows. This socket option is Windows specific and
+ will silently be ignored on other systems.
+
+ The behavior of setting reuseaddr on Windows have
+ changed in a *backwards incompatible* way. The
+ underlying SO_REUSEADDR socket option is now only set
+ if both the reusaddr and the reuseport inet options
+ have been set. This since the underlying SO_REUSEADDR
+ socket option on Windows behaves similar to how BSD
+ behaves if both the underlying socket options
+ SO_REUSEADDR and SO_REUSEPORT have been set. See the
+ documentation of the reuseaddr option for more
+ information.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18419 Application(s): kernel
+
+ The function file:pid2name/1 is deprecated and will be
+ removed in Erlang/OTP 27.
+
+
+ OTP-18442 Application(s): kernel
+ Related Id(s): GH-6606, PR-6786
+
+ The modules Erlang DNS resolver inet_res and helper
+ modules have been updated for RFC6891; to handle OPT RR
+ with DNSSEC OK (DO) bit.
+
+
+ OTP-18444 Application(s): kernel
+ Related Id(s): PR-6035
+
+ Introduced application:get_supervisor/1.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18448 Application(s): kernel
+ Related Id(s): PR-6736
+
+ Reduce contention on the code_server by doing the code
+ preparation on the client.
+
+
+ OTP-18451 Application(s): kernel
+ Related Id(s): PR-6737
+
+ Added a mode to ensure_all_loaded, to start children
+ application and their dependencies concurrently.
+
+
+ OTP-18452 Application(s): kernel
+ Related Id(s): PR-6729
+
+ Cache OTP boot code paths, to limit how many folders
+ that are being accessed during a module lookup. Can be
+ disabled with -cache_boot_path false. OTP boot code
+ paths consists of ERL_LIB environment variables. The
+ various otp/*/ebin folders. And the {path, ...} clauses
+ in the init script.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ OTP-18466 Application(s): kernel
+ Related Id(s): PR-6832
+
+ Add cache attribute to code path apis.
+
+ Added an optional cache/nocache argument to all
+ code:add_path*, code:set_path*, and code:replace_path*
+ functions. These functions will then avoid doing
+ file-accesses if they are cached. Cache can be cleared
+ with code:clear_cache/0. Added code:del_paths/1 to make
+ it easier to clear multiple paths.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18484 Application(s): kernel
+ Related Id(s): PR-6844
+
+ Improvements to code:ensure_modules_loaded/1:
+ Previously it would prepare modules and then abandon
+ references to said modules if they had on_load
+ callbacks. This pull request makes it so they keep the
+ references around and then serially load them without
+ having to fetch the object code and prepare them again.
+
+
+ OTP-18510 Application(s): kernel
+ Related Id(s): GH-6098, PR-6982
+
+ The internal DNS resolver has been updated to handle
+ DNS LOC RR:s (RFC 1876). This is an undocumented
+ module, although still used by power users. See the
+ source code.
+
+
+ OTP-18521 Application(s): kernel
+ Related Id(s): PR-7025
+
+ Reduced memory consumption in global when informing
+ other nodes about lost connections.
+
+
+ OTP-18533 Application(s): kernel
+ Related Id(s): PR-7061
+
+ The net_kernel, global, and global_group servers now
+ have fully asynchronous distributed signaling enabled
+ all the time which prevents them from ever getting
+ blocked on send of distributed signals.
+
+ Documentation about blocking distributed signals has
+ also been improved.
+
+
+ OTP-18540 Application(s): erts, kernel
+ Related Id(s): PR-6900
+
+ Allow IPv6 addresses as host in http packets decoded by
+ erlang:decode_packet/3 and gen_tcp packet option. The
+ IPv6 address should be enclosed within [] according to
+ RFC2732.
+
+
+ OTP-18542 Application(s): kernel
+
+ Remove deprecated functions in OTP-26
+
+
+ OTP-18551 Application(s): kernel
+ Related Id(s): PR-7106
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed code:is_module_native/1 since HiPE has been
+ removed. It has since OTP 24 been deprecated and
+ scheduled for removal in OTP 26.
+
+ Removed code:rehash/0 since the code path feature no
+ longer is present. It has since OTP 19 been deprecated
+ and has since OTP 24 been scheduled for removal in OTP
+ 26.
+
+
+ OTP-18575 Application(s): kernel, stdlib
+ Related Id(s): PR-7169
+
+ Added support for multiple line expressions and
+ navigation in the shell. Added new keybindings:
+
+ -- navigate up (ctrl+up)/(alt+up)
+
+ -- navigate down (ctrl+down)/(alt+down)
+
+ -- insert newline in middle of line (alt+enter)
+
+ -- navigate top (alt+<)/(alt+shift+up)
+
+ -- navigate bottom (alt+>)/(alt+shift+down)
+
+ -- clear current expression (alt+c)
+
+ -- cancel search (alt+c)
+
+ -- opening editor on mac (option+o)/(alt+o)
+
+ Modifies the prompt for new lines to make it clearer
+ that the prompt has entered multi-line mode. Supports
+ terminal with small window size, recommend not go lower
+ than 7 rows and 40 columns. Modifies the search prompt
+ to support multi-line statements. Redraw the prompt
+ after continuing from JCL menu.
+
+
+ Full runtime dependencies of kernel-9.0: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.4.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18538 Application(s): megaco, otp
+ Related Id(s): GH-7031, PR-7078
+
+ Removed configure option --enable-sanitizers. It was
+ untested and broken. Address sanitizer for the emulator
+ has better support by the asan build target.
+
+
+ Full runtime dependencies of megaco-4.4.4: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.22 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18309 Application(s): mnesia
+ Related Id(s): PR-6377
+
+ Added debug statistics for active transactions.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of mnesia-4.22: erts-9.0, kernel-5.3,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.15 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18430 Application(s): observer
+ Related Id(s): PR-6397
+
+ Added start/1, start_and_wait functions/1|2 functions.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ Full runtime dependencies of observer-2.15: erts-14.0, et-1.5,
+ kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.14.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18539 Application(s): odbc
+
+ Allow larger column sizes than 8001 in case DB supports
+ it.
+
+
+ Full runtime dependencies of odbc-2.14.1: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.9 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18246 Application(s): os_mon
+ Related Id(s): GH-6156, PR-6284
+
+ Fix internal os_mon_sysinfo:get_disk_info/1 function to
+ not crash when run on Windows with multiple drives.
+
+
+ OTP-18546 Application(s): os_mon
+ Related Id(s): GH-7070, PR-7071
+
+ Fixed a memory leak when calling cpu_sup:util/0,1 on
+ FreeBSD.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18303 Application(s): os_mon
+ Related Id(s): PR-6384
+
+ The disksup:get_disk_info/0 and disksup:get_disk_info/1
+ functions have been introduced. These can be used in
+ order to immediately fetch information about current
+ disk usage.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18566 Application(s): os_mon
+ Related Id(s): PR-7080
+
+ Support for cpu_sup:util() on OpenBSD.
+
+
+ Full runtime dependencies of os_mon-2.9: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- parsetools-2.5 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18491 Application(s): parsetools
+ Related Id(s): PR-6882
+
+ *** HIGHLIGHT ***
+
+ Leex has been extended with optional column number
+ support.
+
+
+ Full runtime dependencies of parsetools-2.5: erts-6.0, kernel-3.0,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.14 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ Full runtime dependencies of public_key-1.14: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- reltool-1.0 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18230 Application(s): reltool
+ Related Id(s): PR-5936
+
+ Add possibility to strip specific chunks from beam
+ files included in a release. Before this change it was
+ only possible to strip all chunks from the beam files.
+
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18488 Application(s): reltool
+ Related Id(s): PR-6836
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Support for the experimental code archives feature has
+ been removed from reltool.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of reltool-1.0: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0, stdlib-5.0, tools-2.6.14, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-2.0 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18499 Application(s): runtime_tools
+ Related Id(s): PR-6946
+
+ Fixed the type specification for
+ instrument:carriers/0,1
+
+
+ --- Improvements and New Features ---
+
+ OTP-18211 Application(s): runtime_tools
+ Related Id(s): PR-6143
+
+ Add dbg:tracer(file, Filename) as a convenient way to
+ trace to a file in clean text.
+
+
+ OTP-18447 Application(s): asn1, crypto, erts, kernel,
+ public_key, runtime_tools
+
+ Handling of on_load modules during boot has been
+ improved by adding an extra step in the boot order for
+ embedded mode that runs all on_load handlers, instead
+ of relying on explicit invocation of them, later, when
+ the kernel supervision tree starts.
+
+ This is mostly a code improvement and OTP internal
+ simplification to avoid future bugs and to simplify
+ code maintenance.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18487 Application(s): runtime_tools, tools
+ Related Id(s): PR-6829
+
+ The instrument module has been moved from tools to
+ runtime_tools.
+
+
+ OTP-18549 Application(s): erts, runtime_tools
+ Related Id(s): PR-7105
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Removed the experimental erts_alloc_config module. It
+ no longer produced good configurations and cannot be
+ fixed in a reasonably backwards compatible manner. It
+ has since OTP 25 been deprecated and scheduled for
+ removal in OTP 26.
+
+
+ Full runtime dependencies of runtime_tools-2.0: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- sasl-4.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18300 Application(s): sasl
+ Related Id(s): PR-6389
+
+ Improved error message from systools:make_script, when
+ .app parameters contain duplicates. The parameters that
+ will be checked are modules, applications and
+ registered.
+
+
+ Full runtime dependencies of sasl-4.2.1: erts-10.2, kernel-6.0,
+ stdlib-4.0, tools-2.6.14
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.14 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of snmp-5.14: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.0 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18231 Application(s): ssh
+ Related Id(s): OTP-17932, PR-6144
+
+ The ssh_cli has been updated to work with the changes
+ introduced in the new Erlang shell implementation.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of ssh-5.0: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.0 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-14771 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Remove less that 256 bit ECC from default supported ECC
+ pre TLS-1.3
+
+
+ OTP-15903 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Improved error checking and handling of ssl options.
+
+
+ OTP-18168 Application(s): ssl
+ Related Id(s): GH-6014, PR-6019
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change, stateless tickets generated by server
+ with anti_replay option enabled can be used for
+ creating ClientHello throughout ticket lifetime.
+ Without this change, usability was limited to
+ WindowSize number of seconds configured for anti_replay
+ option.
+
+
+ OTP-18235 Application(s): kernel, ssl
+ Related Id(s): PR-5840, PR-6104
+
+ *** HIGHLIGHT ***
+
+ Support for Kernel TLS (kTLS), has been added to the
+ SSL application, for TLS distribution (-proto_dist
+ inet_tls), the SSL option {ktls, true}. Using this for
+ general SSL sockets is uncomfortable, undocumented and
+ not recommended since it requires very platform
+ dependent raw options.
+
+ This, for now, only works for some not too old Linux
+ distributions. Roughly, a kernel 5.2.0 or later with
+ support for UserLand Protocols and the kernel module
+ tls is required.
+
+
+ OTP-18253 Application(s): ssl
+
+ With this change, TLS 1.3 server can be configured to
+ include client certificate in session ticket.
+
+
+ OTP-18254 Application(s): ssl
+ Related Id(s): PR-5982
+
+ With this change, it is possible to configure
+ encryption seed to be used with TLS1.3 stateless
+ tickets. This enables using tickets on different server
+ instances.
+
+
+ OTP-18312 Application(s): ssl
+
+ Debugging enhancements.
+
+
+ OTP-18335 Application(s): ssl
+
+ With this change, maybe keyword atom is not used as
+ function name in ssl code.
+
+
+ OTP-18405 Application(s): crypto, diameter, kernel, ssl
+ Related Id(s): GH-6672, PR-6700, PR-6702, PR-6768,
+ PR-6769, PR-6812, PR-6814
+
+ Replace size/1 with either tuple_size/1 or byte_size/1
+
+ The size/1 BIF is not optimized by the JIT, and its use
+ can result in worse types for Dialyzer.
+
+ When one knows that the value being tested must be a
+ tuple, tuple_size/1 should always be preferred.
+
+ When one knows that the value being tested must be a
+ binary, byte_size/1 should be preferred. However,
+ byte_size/1 also accepts a bitstring (rounding up size
+ to a whole number of bytes), so one must make sure that
+ the call to byte_size/ is preceded by a call to
+ is_binary/1 to ensure that bitstrings are rejected.
+ Note that the compiler removes redundant calls to
+ is_binary/1, so if one is not sure whether previous
+ code had made sure that the argument is a binary, it
+ does not harm to add an is_binary/1 test immediately
+ before the call to byte_size/1.
+
+
+ OTP-18438 Application(s): ssl
+ Related Id(s): GH-6679
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ For security reasons remove support for SHA1 and DSA
+ algorithms from default values.
+
+
+ OTP-18453 Application(s): ssl
+
+ Mitigate memory usage from large certificate chains by
+ lowering the maximum handshake size. This should not
+ effect the common cases, if needed it can be configured
+ to a higher value.
+
+
+ OTP-18455 Application(s): ssl
+ Related Id(s): GH-5899
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Change the client default verify option to verify_peer.
+ Note that this makes it mandatory to also supply
+ trusted CA certificates or explicitly set verify to
+ verify_none. This also applies when using the so called
+ anonymous test cipher suites defined in TLS versions
+ pre TLS-1.3.
+
+
+ OTP-18456 Application(s): kernel, ssl
+
+ Erlang distribution code in Kernel and SSL has been
+ refactored a bit to facilitate debugging and
+ re-usability, which shouldn't have any noticeable
+ effects on behaviour or performance.
+
+
+ OTP-18459 Application(s): ssl
+
+ *** HIGHLIGHT ***
+
+ Add encoding and decoding of use_srtp hello extension
+ to facilitate for DTLS users to implement SRTP
+ functionality.
+
+
+ OTP-18465 Application(s): ssl
+ Related Id(s): GH-7065
+
+ Refactors the (ssl application to use macros for TLS
+ and DTLS versions instead of hard-coded tuple numbers.
+ This change improves the maintainability of ssl
+
+
+ OTP-18507 Application(s): ssl
+
+ If the function ssl:renegotiate/1 is called on
+ connection that is running TLS-1.3 return an error
+ instead of hanging or timing out.
+
+
+ OTP-18531 Application(s): ssl
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ If a user cancel alert with level warning is received
+ during handshake make it be handled the same regardless
+ of TLS version. If it is received in connection in
+ TLS-1.3 regard it as an error as it is inappropriate.
+
+ In TLS-1.3 all error alerts are considered FATAL
+ regardless of legacy alert type. But make sure legacy
+ type is printed in logs to not confuse users that are
+ expecting the same legacy type as sent by peer.
+
+
+ OTP-18567 Application(s): ssl
+
+ Make fail_if_no_peer_cert default true if verify_peer
+ is set on the server, otherwise the server will accept
+ the connection if verify_peer is set and the user have
+ forgot to set the fail_if_no_peer_cert and the client
+ did not send a certificate.
+
+
+ OTP-18572 Application(s): ssl
+
+ To make it easier to configure signature algorithms
+ with algorithms that are moved from the default add the
+ API function signature_algs/2 that lists possible
+ values. Also make sha224 a non default value.
+
+
+ Full runtime dependencies of ssl-11.0: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.0 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18275 Application(s): stdlib
+ Related Id(s): PR-6045
+
+ All process calls in dets have been updated to use the
+ receive queue optimizations.
+
+
+ OTP-18471 Application(s): kernel, stdlib
+ Related Id(s): GH-6339, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ proc_lib:start*/* has become synchronous when the
+ started process fails. This requires that a failing
+ process use a new function proc_lib:init_fail/2,3, or
+ exits, to indicate failure. All OTP behaviours have
+ been fixed to do this.
+
+ All these start functions now consume the 'EXIT'
+ message from a process link for all error returns.
+ Previously it was only the start_link/* functions that
+ did this, and only when the started function exited,
+ not when it used init_ack/1,2 or init_fail/2,3 to
+ create the return value.
+
+
+ OTP-18486 Application(s): kernel, stdlib
+ Related Id(s): PR-6881
+
+ Fixed a bug where file:read(standard_io, ...)
+ unexpectedly returned eof in binary mode.
+
+
+ OTP-18548 Application(s): stdlib
+ Related Id(s): PR-6967
+
+ In the shell, v(N) would fail to retrieve the command
+ if the command's return value was undefined.
+
+
+ --- Improvements and New Features ---
+
+ OTP-14835 Application(s): kernel, stdlib
+ Related Id(s): PR-5924
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell has been improved to support the
+ following features:
+
+ -- Auto-complete variables, record names, record field
+ names, map keys, function parameter types and
+ filenames.
+
+ -- Open external editor in the shell (with C-o) to edit
+ the current expression in an editor.
+
+ -- Support defining records (with types), functions and
+ function typespecs, and custom types in the shell.
+
+ -- Do not save pager commands, and input to io:getline
+ in history.
+
+
+ OTP-15597 Application(s): stdlib
+ Related Id(s): PR-5831
+
+ Gen_server now caches external functions for use in
+ handle_call, handle_cast and handle_info.
+
+
+ OTP-17932 Application(s): erts, kernel, stdlib
+ Related Id(s): GH-3150, GH-3390, GH-4225, GH-4343,
+ PR-6144
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The TTY/terminal subsystem has been rewritten by moving
+ more code to Erlang from the old linked-in driver and
+ implementing all the I/O primitives needed in a NIF
+ instead.
+
+ On Unix platforms the user should not notice a lot of
+ difference, besides better handling of unicode
+ characters and fixing of some long standing bugs.
+
+ Windows users will notice that erl.exe has the same
+ functionality as a normal Unix shell and that werl.exe
+ has been removed and replaced with a symlink to
+ erl.exe. This makes the Windows Erlang terminal
+ experience identical to that of Unix.
+
+ The re-write brings with it a number of bug fixes and
+ feature additions:
+
+ -- The TTY is now reset when Erlang exits, fixing zsh
+ to not break when terminating an Erlang session.
+
+ -- standard_error now uses the same unicode mode as
+ standard_io.
+
+ -- Hitting backspace when searching the shell history
+ with an empty search string no longer breaks the shell.
+
+ -- Tab expansion now works on remote nodes started
+ using the JCL interface.
+
+ -- It is now possible to configure the shell slogan and
+ the session slogans (that is the texts that appear when
+ you start an Erlang shell). See the kernel
+ documentation for more details.
+
+ -- Added shell:start_interactive for starting the
+ interactive shell from a non-interactive Erlang session
+ (for example an escript).
+
+ -- On Windows, when starting in detached mode the
+ standard handler are now set to nul devices instead of
+ being unset.
+
+ -- Standard I/O now always defaults to unicode mode if
+ supported. Previously the default was latin1 if the
+ runtime system had been started with -oldshell or
+ -noshell (for example in an escript). To send raw bytes
+ over standard out, one now explicitly has to specify
+ io:setopts(standard_io, [{encoding, latin1}]).
+
+
+ OTP-18159 Application(s): stdlib
+ Related Id(s): PR-6904
+
+ Added the zip:zip_get_crc32/2 function to retrieve the
+ CRC32 checksum from an opened ZIP archive.
+
+
+ OTP-18176 Application(s): stdlib
+ Related Id(s): PR-6118
+
+ Added the options post_process_args and detached to the
+ peer:start function.
+
+
+ OTP-18221 Application(s): stdlib
+ Related Id(s): PR-6197
+
+ The re:replace/3,4 functions now accept a fun as the
+ replacement argument.
+
+
+ OTP-18228 Application(s): stdlib
+ Related Id(s): GH-5639
+
+ *** HIGHLIGHT ***
+
+ The performance of the base64 module has been
+ significantly improved. For example, on an x86_64
+ system with the JIT both encode and decode are more
+ than three times faster than in Erlang/OTP 25.
+
+
+ OTP-18236 Application(s): stdlib
+ Related Id(s): PR-6256
+
+ Improved implementation of timer:apply_interval/4
+ reducing load on the timer server, and introduction of
+ the new function timer:apply_repeatedly/4.
+ timer:apply_repeatedly/4 is similar to
+ timer:apply_interval/4, but timer:apply_repeatedly/4
+ prevents parallel execution of triggered apply
+ operations which timer:apply_interval/4 does not.
+
+
+ OTP-18247 Application(s): stdlib
+ Related Id(s): PR-6280, PR-6711
+
+ The base64 module now supports encoding and decoding
+ with an alternate URL safe alphabet, and an option for
+ accepting or adding missing = padding characters.
+
+
+ OTP-18272 Application(s): stdlib
+ Related Id(s): PR-6279
+
+ Add shell:whereis/0 which can be used to locate the
+ current shell process.
+
+
+ OTP-18278 Application(s): kernel, stdlib
+ Related Id(s): PR-6260
+
+ *** HIGHLIGHT ***
+
+ The Erlang shell's auto-completion when typing tab has
+ been changed to happen after the editing current line
+ instead of before it.
+
+ This behaviour can be configured using a the
+ shell_expand_location STDLIB configuration parameter.
+
+
+ OTP-18279 Application(s): stdlib
+ Related Id(s): PR-6234
+
+ New function ets:lookup_element/4 with a Default
+ argument returned if the key did not exist in the
+ table. The old ets:lookup_element/3 raises a badarg
+ exception which can be both inconvenient and slower.
+
+
+ OTP-18285 Application(s): kernel, ssh, stdlib
+ Related Id(s): PR-6262
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Typing Ctrl+L in a shell now clears the screen and
+ redraws the current line instead of only redrawing the
+ current line. To only redraw the current line, you must
+ now type Alt+L. This brings the behaviour of Ctrl+L
+ closer to how bash and other shells work.
+
+
+ OTP-18287 Application(s): stdlib
+ Related Id(s): PR-5955
+
+ peer nodes using standard_io connections now include
+ standard error from the node in the io stream from the
+ started node.
+
+
+ OTP-18297 Application(s): compiler, stdlib
+ Related Id(s): GH-6348
+
+ *** HIGHLIGHT ***
+
+ A limitation in the binary syntax has been removed. It
+ is now possible to match binary patterns in parallel.
+ Example: <<A:8>> = <<B:4,C:4>> = Bin
+
+
+ OTP-18301 Application(s): stdlib
+ Related Id(s): PR-6350
+
+ Improve type specification of
+ unicode:characters_to_list().
+
+
+ OTP-18318 Application(s): stdlib
+ Related Id(s): PR-6347
+
+ *** HIGHLIGHT ***
+
+ In the lists module, the zip family of functions now
+ takes options to allow handling lists of different
+ lengths.
+
+
+ OTP-18337 Application(s): compiler, stdlib
+ Related Id(s): GH-6477, PR-6503
+
+ It is documented that $\^X is the ASCII code for
+ Control X, where X is an uppercase or lowercase letter.
+ However, this notation would work for any character X,
+ even then it didn't make sense.
+
+ In Erlang/OTP 26, it is now documented that the
+ following characters are also allowed to follow the \^
+ characters: @, [, \, ], ^, _, and ?. Attempt to use
+ other characters will be rejected with a compiler
+ error.
+
+ The value for $\^? is now 127 (instead of 31 as in
+ earlier releases).
+
+
+ OTP-18354 Application(s): stdlib
+ Related Id(s): PR-6297
+
+ The binary:encode_hex/2 function has been added to
+ allow the encoded hexadecimal digits to be in either
+ lower or upper case.
+
+
+ OTP-18355 Application(s): stdlib
+ Related Id(s): PR-6507
+
+ Variants of timer:tc() with user specified time unit
+ have been introduced.
+
+
+ OTP-18361 Application(s): stdlib
+ Related Id(s): PR-6536
+
+ New function math:tau/0. Returns 2*math:pi().
+
+
+ OTP-18367 Application(s): compiler, erts, stdlib
+ Related Id(s): GH-6544
+
+ *** HIGHLIGHT ***
+
+ The BIFs min/2 and max/2 are now allowed to be used in
+ guards and match specs.
+
+
+ OTP-18385 Application(s): stdlib
+ Related Id(s): PR-6698
+
+ Optimized gen_server:multi_call().
+
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18414 Application(s): erts, stdlib
+ Related Id(s): PR-6151
+
+ *** HIGHLIGHT ***
+
+ Some map operations have been optimized by changing the
+ internal sort order of atom keys. This changes the
+ (undocumented) order of how atom keys in small maps are
+ printed and returned by maps:to_list/1 and maps:next/1.
+ The new order is unpredictable and may change between
+ different invocations of the Erlang VM.
+
+ For applications where order is important, there is a
+ new function maps:iterator/2 for creating iterators
+ that return the map elements in a deterministic order.
+ There are also new modifiers k and K for the format
+ string for io:format() to support printing map elements
+ ordered.
+
+
+ OTP-18423 Application(s): stdlib
+ Related Id(s): com/erlang/backlog/issues/142,
+ https://github
+
+ Make gen_server fail "silently" with a new return value
+ for init/1.
+
+
+ OTP-18431 Application(s): compiler, stdlib
+ Related Id(s): PR-6739
+
+ *** HIGHLIGHT ***
+
+ Improved the selective receive optimization, which can
+ now be enabled for references returned from other
+ functions.
+
+ This greatly improves the performance of
+ gen_server:send_request/3, gen_server:wait_response/2,
+ and similar functions.
+
+
+ OTP-18445 Application(s): erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ It is no longer necessary to enable a feature in the
+ runtime system in order to load modules that are using
+ it. It is sufficient to enable the feature in the
+ compiler when compiling it.
+
+ That means that to use feature maybe_expr in Erlang/OTP
+ 26, it is sufficient to enable it during compilation.
+
+ In Erlang/OTP 27, feature maybe_expr will be enabled by
+ default, but it will be possible to disable it.
+
+
+ OTP-18474 Application(s): stdlib
+ Related Id(s): PR-6895
+
+ Static supervisors are very idle processes after they
+ have started so they will now be hibernated after start
+ to improve resource management.
+
+
+ OTP-18478 Application(s): common_test, compiler, dialyzer,
+ diameter, et, ftp, inets, kernel, observer,
+ runtime_tools, ssh, stdlib
+ Related Id(s): GH-6903
+
+ Deprecates dbg:stop_clear/0 because it is simply a
+ function alias to dbg:stop/0
+
+
+ OTP-18494 Application(s): stdlib
+ Related Id(s): PR-6924
+
+ Support has been added in ms_transform for the actions
+ caller_line/0, current_stacktrace/0, and
+ current_stacktrace/1.
+
+
+ OTP-18495 Application(s): stdlib
+ Related Id(s): PR-6943
+
+ *** HIGHLIGHT ***
+
+ The family of enumeration functions in module lists has
+ been extended with enumerate/3 that allows a step value
+ to be supplied.
+
+
+ OTP-18500 Application(s): stdlib
+
+ *** HIGHLIGHT ***
+
+ Update Unicode to version 15.0.0.
+
+
+ OTP-18511 Application(s): otp, stdlib
+ Related Id(s): PR-7017
+
+ The regular expression library powering the re module
+ is likely to be changed in Erlang/OTP 27. See Upcoming
+ Potential Incompatibilities.
+
+
+ OTP-18515 Application(s): stdlib
+ Related Id(s): GH-6990
+
+ Improved the performance of sets:subtract/2 when
+ subtracting a small number of elements.
+
+
+ OTP-18518 Application(s): stdlib
+ Related Id(s): GH-7015
+
+ The linter will no longer raise warnings for
+ underspecified opaque types.
+
+
+ OTP-18522 Application(s): dialyzer, erts, stdlib
+
+ *** HIGHLIGHT ***
+
+ Added the new built-in type dynamic() introduced in
+ EEP-61, improving support for gradual type checkers.
+
+
+ OTP-18537 Application(s): stdlib
+ Related Id(s): PR-7081
+
+ The by gen_statem previously used call proxy process
+ that was used for preventing late replies from reaching
+ the client at timeout or connection loss has been
+ removed. It is no longer needed since process aliases
+ take care of this, are used, and supported by all
+ Erlang nodes that an OTP 26 Erlang node can communicate
+ with.
+
+
+ OTP-18558 Application(s): dialyzer, stdlib
+ Related Id(s): PR-6852
+
+ Added the argparse module for simplified argument
+ handling in escripts and similar.
+
+
+ OTP-18575 Application(s): kernel, stdlib
+ Related Id(s): PR-7169
+
+ Added support for multiple line expressions and
+ navigation in the shell. Added new keybindings:
+
+ -- navigate up (ctrl+up)/(alt+up)
+
+ -- navigate down (ctrl+down)/(alt+down)
+
+ -- insert newline in middle of line (alt+enter)
+
+ -- navigate top (alt+<)/(alt+shift+up)
+
+ -- navigate bottom (alt+>)/(alt+shift+down)
+
+ -- clear current expression (alt+c)
+
+ -- cancel search (alt+c)
+
+ -- opening editor on mac (option+o)/(alt+o)
+
+ Modifies the prompt for new lines to make it clearer
+ that the prompt has entered multi-line mode. Supports
+ terminal with small window size, recommend not go lower
+ than 7 rows and 40 columns. Modifies the search prompt
+ to support multi-line statements. Redraw the prompt
+ after continuing from JCL menu.
+
+
+ Full runtime dependencies of stdlib-5.0: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- syntax_tools-3.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ Full runtime dependencies of syntax_tools-3.1: compiler-7.0,
+ erts-9.0, kernel-5.0, stdlib-4.0
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of tftp-1.1: erts-6.0, kernel-6.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- tools-3.6 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18413 Application(s): compiler, erts, stdlib, syntax_tools,
+ tools
+ Related Id(s): EEP-58, PR-6727
+
+ *** HIGHLIGHT ***
+
+ Map comprehensions as suggested in EEP 58 has now been
+ implemented.
+
+
+ OTP-18487 Application(s): runtime_tools, tools
+ Related Id(s): PR-6829
+
+ The instrument module has been moved from tools to
+ runtime_tools.
+
+
+ Full runtime dependencies of tools-3.6: compiler-5.0, erts-11.0,
+ erts-9.1, kernel-5.4, runtime_tools-1.8.14, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.3 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Improvements and New Features ---
+
+ OTP-18350 Application(s): inets, observer, os_mon, reltool, wx
+
+ Runtime dependencies have been updated.
+
+
+ OTP-18490 Application(s): diameter, inets, mnesia, reltool,
+ snmp, ssh, tftp, wx
+ Related Id(s): GH-6339, OTP-18471, PR-6843
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ The implementation has been fixed to use
+ proc_lib:init_fail/2,3 where appropriate, instead of
+ proc_lib:init_ack/1,2.
+
+
+ Full runtime dependencies of wx-2.3: erts-12.0, kernel-8.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.1.1.README.txt b/release-notes/OTP-26.1.1.README.txt
new file mode 100644
index 0000000..3918bfa
--- /dev/null
+++ b/release-notes/OTP-26.1.1.README.txt
@@ -0,0 +1,80 @@
+Patch Package: OTP 26.1.1
+Git Tag: OTP-26.1.1
+Date: 2023-09-28
+Trouble Report Id: OTP-18768, OTP-18770, OTP-18773
+Seq num: GH-7667
+System: OTP
+Release: 26
+Application: compiler-8.4.1, stdlib-5.1.1, wx-2.3.1
+Predecessor: OTP 26.1
+
+ Check out the git tag OTP-26.1.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- compiler-8.4.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.4.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18770 Application(s): compiler
+ Related Id(s): GH-7667, PR-7672
+
+ The compiler could become extremely slow for modules
+ containing huge functions.
+
+
+ Full runtime dependencies of compiler-8.4.1: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.1.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-5.1.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18773 Application(s): stdlib
+ Related Id(s): PR-7691
+
+ Garbage collect the shell process when reducing the
+ amount of saved history and results.
+
+
+ Full runtime dependencies of stdlib-5.1.1: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.3.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.3.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18768 Application(s): wx
+ Related Id(s): PR-7670
+
+ The wx application would fail to build on macOS with
+ Xcode 15.
+
+
+ Full runtime dependencies of wx-2.3.1: erts-12.0, kernel-8.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.1.2.README.txt b/release-notes/OTP-26.1.2.README.txt
new file mode 100644
index 0000000..9de2b37
--- /dev/null
+++ b/release-notes/OTP-26.1.2.README.txt
@@ -0,0 +1,101 @@
+Patch Package: OTP 26.1.2
+Git Tag: OTP-26.1.2
+Date: 2023-10-12
+Trouble Report Id: OTP-18790, OTP-18797, OTP-18803
+Seq num: GH-7683
+System: OTP
+Release: 26
+Application: erts-14.1.1, xmerl-1.3.33
+Predecessor: OTP 26.1.1
+
+ Check out the git tag OTP-26.1.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-26.1.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18803 Application(s): otp, xmerl
+
+ The xmerl version 1.3.32 was released in OTP 26.0.1,
+ but the incorrect version number of 1.3.31.1 was used
+ for it. This incorrect version number continued to
+ appear in OTP 26.0.2, OTP 26.1, and OTP 26.1.1. The
+ actual xmerl code in these OTP versions however
+ corresponds to xmerl version 1.3.32.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.1.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.1.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18790 Application(s): erts
+ Related Id(s): PR-7742
+
+ If the external term format encoding of an argument
+ list part of a distributed spawn operation was faulty,
+ the newly spawned remote process could misbehave. The
+ misbehavior included hanging or interpret an incoming
+ message as an argument list to use. This was very
+ unlikely to happen unless using an alternate
+ implementation of the distribution protocol which made
+ a faulty encoding of the argument list. The child
+ process will now detect this error and terminate before
+ executing the user specified code.
+
+
+ OTP-18797 Application(s): erts
+ Related Id(s): GH-7683, PR-7712
+
+ Fix bugs where if the body of a matchspec would return
+ a map with a variable ('$1', '$_' etc) as one of the
+ keys or values and the variable was not an immidiate,
+ the term would not be copied to the receiving processes
+ heap. This would later corrupt the term in the table as
+ the GC could place move markers in it, which in turn
+ would cause the VM to crash.
+
+ Bug has been present for since OTP 17.0.
+
+
+ Full runtime dependencies of erts-14.1.1: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.33 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.33 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18803 Application(s): otp, xmerl
+
+ The xmerl version 1.3.32 was released in OTP 26.0.1,
+ but the incorrect version number of 1.3.31.1 was used
+ for it. This incorrect version number continued to
+ appear in OTP 26.0.2, OTP 26.1, and OTP 26.1.1. The
+ actual xmerl code in these OTP versions however
+ corresponds to xmerl version 1.3.32.
+
+
+ Full runtime dependencies of xmerl-1.3.33: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.1.README.txt b/release-notes/OTP-26.1.README.txt
new file mode 100644
index 0000000..fea80a6
--- /dev/null
+++ b/release-notes/OTP-26.1.README.txt
@@ -0,0 +1,1212 @@
+Patch Package: OTP 26.1
+Git Tag: OTP-26.1
+Date: 2023-09-20
+Trouble Report Id: OTP-14480, OTP-18579, OTP-18582, OTP-18586,
+ OTP-18592, OTP-18598, OTP-18599, OTP-18605,
+ OTP-18611, OTP-18614, OTP-18615, OTP-18616,
+ OTP-18623, OTP-18627, OTP-18628, OTP-18629,
+ OTP-18631, OTP-18633, OTP-18638, OTP-18644,
+ OTP-18645, OTP-18647, OTP-18654, OTP-18655,
+ OTP-18660, OTP-18661, OTP-18662, OTP-18664,
+ OTP-18666, OTP-18669, OTP-18670, OTP-18672,
+ OTP-18674, OTP-18675, OTP-18676, OTP-18677,
+ OTP-18678, OTP-18679, OTP-18681, OTP-18683,
+ OTP-18685, OTP-18686, OTP-18687, OTP-18688,
+ OTP-18689, OTP-18690, OTP-18691, OTP-18692,
+ OTP-18693, OTP-18694, OTP-18696, OTP-18697,
+ OTP-18698, OTP-18700, OTP-18701, OTP-18702,
+ OTP-18704, OTP-18705, OTP-18706, OTP-18707,
+ OTP-18708, OTP-18710, OTP-18711, OTP-18712,
+ OTP-18718, OTP-18719, OTP-18721, OTP-18722,
+ OTP-18723, OTP-18724, OTP-18725, OTP-18729,
+ OTP-18731, OTP-18732, OTP-18733, OTP-18734,
+ OTP-18736, OTP-18737, OTP-18738, OTP-18740,
+ OTP-18745, OTP-18746, OTP-18747, OTP-18748,
+ OTP-18752, OTP-18753, OTP-18754, OTP-18755,
+ OTP-18757, OTP-18758, OTP-18759, OTP-18763
+Seq num: ERIERL-43, ERIERL-957, ERIERL-959,
+ ERIERL-962, ERIERL-963, ERIERL-965,
+ ERIERL-979, GH-6074, GH-6339, GH-6394,
+ GH-6460, GH-6461, GH-7119, GH-7162, GH-7258,
+ GH-7280, GH-7292, GH-7298, GH-7317, GH-7325,
+ GH-7336, GH-7344, GH-7381, GH-7401, GH-7409,
+ GH-7410, GH-7413, GH-7417, GH-7431, GH-7436,
+ GH-7444, GH-7459, GH-7467, GH-7468, GH-7469,
+ GH-7477, GH-7482, GH-7488, GH-7492, GH-7504,
+ GH-7506, GH-7507, GH-7510, GH-7517, GH-7524,
+ GH-7546, GH-7566, GH-7569, GH-7577, GH-7584,
+ GH-7605, GH-7606, GH-7655
+System: OTP
+Release: 26
+Application: asn1-5.2, common_test-1.25.1, compiler-8.4,
+ crypto-5.3, debugger-5.3.2, dialyzer-5.1.1,
+ erl_docgen-1.5.1, erts-14.1, inets-9.0.2,
+ kernel-9.1, megaco-4.5, mnesia-4.22.1,
+ observer-2.15.1, public_key-1.14.1,
+ snmp-5.15, ssl-11.0.3, stdlib-5.1
+Predecessor: OTP 26.0.2
+
+ Check out the git tag OTP-26.1, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- HIGHLIGHTS ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18746 Application(s): stdlib
+ Related Id(s): PR-7313, PR-7456
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A warning for (accidental use of) Triple-Quoted Strings
+ has been implemented as per EEP 64.
+
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18696 Application(s): stdlib
+
+ Pattern matching and equivalence (=:=, =/=) comparisons
+ on 0.0 will now raise a warning, as it will no longer
+ be considered equivalent to -0.0 in OTP 27.
+
+ If a match on 0.0 specifically is desired (distinct
+ from -0.0), the warning can be suppressed by writing
+ +0.0 instead.
+
+ The arithmetic comparison operators are unaffected,
+ including arithmetic equality (==).
+
+
+ OTP-18746 Application(s): stdlib
+ Related Id(s): PR-7313, PR-7456
+
+ *** HIGHLIGHT ***
+
+ A warning for (accidental use of) Triple-Quoted Strings
+ has been implemented as per EEP 64.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18729 Application(s): asn1
+ Related Id(s): PR-7575
+
+ The ASN.1 compiler would ignore a constraint such as
+ (SIZE (1..4), ...), causing incorrect behavior of the
+ encoding and decoding function for the PER and UPER
+ backends. Corrected to handle the constraint in the
+ same way as (SIZE (1..4, ...)).
+
+
+ --- Improvements and New Features ---
+
+ OTP-18748 Application(s): asn1
+ Related Id(s): ERIERL-957, PR-7637
+
+ The JER backend has been internally refactored in a way
+ that is compatible for applications that use the
+ documented API. However, for a group of ASN.1 modules
+ that depend on each other (for example,
+ S1AP-PDU-Descriptions, S1AP-Contents, and so on), all
+ modules in the group must be recompiled if on of the
+ group members is recompiled.
+
+
+ Full runtime dependencies of asn1-5.2: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.25.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.25.1 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-14480 Application(s): common_test
+ Related Id(s): ERIERL-43, OTP-11894, PR-7455
+
+ With this change, ct_hooks manual refers to CTH
+ execution order section in user guide.
+
+
+ OTP-18579 Application(s): common_test
+ Related Id(s): GH-7119
+
+ With this change, Config data from pre_end_per_testcase
+ hook is delivered to post_end_per_testcase callback in
+ case of testcase timetrap or linked process crash.
+
+
+ OTP-18615 Application(s): common_test
+ Related Id(s): PR-7234
+
+ With this change, remaining references to not supported
+ vts tool in ct_run are removed (mainly relates to docs
+ and ct_run help message).
+
+
+ OTP-18664 Application(s): common_test
+ Related Id(s): ERIERL-959
+
+ With this change, prompt search functionality in
+ ct_telnet handles unicode input.
+
+
+ OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
+ stdlib
+ Related Id(s): GH-7459, PR-7473
+
+ Expanded the documentation about how to use the
+ standard_io, standard_error and user I/O devices.
+
+ Added the types io:standard_io/0, io:standard:error/0
+ and io:user/0.
+
+
+ Full runtime dependencies of common_test-1.25.1: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.4 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.4 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18605 Application(s): compiler, stdlib
+ Related Id(s): GH-7298, GH-7317
+
+ The compiler could run forever when compiling a call to
+ is_record/3 with a huge positive tuple size. The call
+ is_record(A, a, 0) would crash the compiler when used
+ in a function body. When used in a guard the compiler
+ would emit incorrect code that would accept {a> as a
+ record.
+
+
+ OTP-18629 Application(s): compiler, dialyzer
+ Related Id(s): GH-7325
+
+ Fixed a bug that caused dialyzer to crash when
+ analyzing bogus code that contained the literal atom
+ undefined in segment sizes.
+
+
+ OTP-18662 Application(s): compiler
+ Related Id(s): GH-7409, PR-7416
+
+ The compiler would crash when compiling some modules
+ that contained a call to erlang:load_nif/2.
+
+
+ OTP-18678 Application(s): compiler
+ Related Id(s): GH-7488
+
+ Fixed a bug that caused the compiler to crash on legal
+ code.
+
+
+ OTP-18689 Application(s): compiler
+ Related Id(s): GH-7504, PR-7518
+
+ The compiler could crash when attempting to compile a
+ call to is_list/1 in a complex expression.
+
+
+ OTP-18692 Application(s): compiler
+ Related Id(s): GH-7517, PR-7519
+
+ A complex guard expression using the or operator could
+ succeed when it was supposed to fail.
+
+
+ OTP-18701 Application(s): compiler
+ Related Id(s): GH-7477, PR-7532
+
+ Compiling nested try/catch and catch expression could
+ result in an internal compiler error.
+
+
+ OTP-18719 Application(s): compiler
+ Related Id(s): GH-7468, PR-7562
+
+ Using the bnot operator in a complex expression could
+ cause the compiler to terminate with an internal
+ consistency failure diagnostic.
+
+
+ OTP-18721 Application(s): compiler
+ Related Id(s): PR-7527
+
+ Fixed a bug that caused the compiler to crash in a
+ binary optimization pass.
+
+
+ OTP-18725 Application(s): compiler
+ Related Id(s): GH-7467
+
+ The compiler could terminate with an internal error
+ when attempting to compile a binary pattern that could
+ not possibly match.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18691 Application(s): compiler
+ Related Id(s): PR-7448
+
+ Fixed various performance issues related to the alias
+ optimization pass.
+
+
+ Full runtime dependencies of compiler-8.4: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.3 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18670 Application(s): crypto
+ Related Id(s): GH-7436, PR-7450
+
+ Fix VM crash caused by crypto being purged and reloaded
+ (by init:restart for example) on OS with musl libc
+ (such as Alpine linux).
+
+
+ OTP-18758 Application(s): crypto
+ Related Id(s): PR-7209
+
+ Improved understanding of LibreSSL versions. Support
+ chacha20 and chacha20_poly1305 for LibreSSL 3.7.
+ Reflect removal of support for the DSS/DSA algorithm
+ which was done in LibreSSL 2.6.1.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18666 Application(s): crypto
+ Related Id(s): PR-7392
+
+ FIPS supported by crypto for OpenSSL 3.0.* and 3.1.*.
+
+
+ Full runtime dependencies of crypto-5.3: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.3.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18644 Application(s): debugger
+ Related Id(s): GH-7336
+
+ The call int:no_break(Module) did not remove any
+ breakpoints.
+
+
+ OTP-18740 Application(s): debugger
+ Related Id(s): GH-7410, PR-7599
+
+ The maybe expression is now supported in the Debugger.
+
+
+ Full runtime dependencies of debugger-5.3.2: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.1.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-5.1.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18629 Application(s): compiler, dialyzer
+ Related Id(s): GH-7325
+
+ Fixed a bug that caused dialyzer to crash when
+ analyzing bogus code that contained the literal atom
+ undefined in segment sizes.
+
+
+ OTP-18738 Application(s): dialyzer
+ Related Id(s): GH-7584
+
+ Dialyzer could crash when attempting to analyze a
+ module that defined a type called product/.
+
+
+ Full runtime dependencies of dialyzer-5.1.1: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-5.0, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.5.1 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.5.1 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
+ stdlib
+ Related Id(s): GH-7459, PR-7473
+
+ Expanded the documentation about how to use the
+ standard_io, standard_error and user I/O devices.
+
+ Added the types io:standard_io/0, io:standard:error/0
+ and io:user/0.
+
+
+ Full runtime dependencies of erl_docgen-1.5.1: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18592 Application(s): erts
+
+ maps:put with existing key and identical value was not
+ optimized as a no-op correctly if having the same
+ 32-bit hash as another key in the map. In practice very
+ rare and harmless.
+
+
+ OTP-18623 Application(s): erts, kernel
+ Related Id(s): GH-7344
+
+ Fixed an issue with truncated crash slogans on failed
+ emulator start.
+
+
+ OTP-18645 Application(s): erts
+ Related Id(s): GH-7401
+
+ Fixed a bug where the emulator was unable to determine
+ the current cgroup CPU quota.
+
+
+ OTP-18647 Application(s): erts
+ Related Id(s): PR-7595
+
+ A process optimized for parallel signal delivery could
+ under some circumstances lose wakeup information. That
+ is, the processes was not woken up to take care of the
+ signal, so the signal would not be taken care of until
+ the process was woken by another signal. Only processes
+ configured with message_queue_data set to off_heap
+ utilize this optimization.
+
+
+ OTP-18669 Application(s): erts, kernel
+ Related Id(s): OTP-18029
+
+ Function socket:close/1 could cause a VM crash on
+ Windows.
+
+
+ OTP-18672 Application(s): erts
+ Related Id(s): GH-7469
+
+ Fixed a bug in the ARM JIT where it could accidentally
+ add garbage trailing bits when creating bitstrings
+ whose size wasn't an even multiple of 8 bits.
+
+
+ OTP-18674 Application(s): erts
+ Related Id(s): PR-7472
+
+ Fix erlang:system_info/1 documentation to show correct
+ types.
+
+
+ OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
+ stdlib
+ Related Id(s): GH-7459, PR-7473
+
+ Expanded the documentation about how to use the
+ standard_io, standard_error and user I/O devices.
+
+ Added the types io:standard_io/0, io:standard:error/0
+ and io:user/0.
+
+
+ OTP-18702 Application(s): erts
+ Related Id(s): GH-7381
+
+ Fix compilation with GNU termcap.
+
+
+ OTP-18706 Application(s): erts
+ Related Id(s): ERIERL-979, GH-7413, PR-7595
+
+ Delivery time of message signals to a process not
+ executing any receive expressions could become very
+ long, potentially infinite. For example, a process
+ checking for messages using process_info(self(),
+ message_queue_len) or process_info(self(), messages)
+ and avoiding to execute a receive expression matching
+ on messages could be very slow in detecting new
+ messages. Note that you are still discouraged from
+ using process_info() this way. A process that wants to
+ check if there are messages available to handle should
+ execute a receive expression matching on messages.
+
+
+ OTP-18724 Application(s): erts
+ Related Id(s): GH-7566, PR-7567
+
+ On AArch64 (ARM64), when calculating both the quotient
+ and remainder with a divisor begin a power two, the
+ remainder could be incorrectly calculated.
+
+
+ OTP-18732 Application(s): erts
+ Related Id(s): GH-7444, PR-7458
+
+ Fix bug causing "magic" references in a compressed ETS
+ table to not keep the referred object alive. The
+ symptom would be the referred object being garbage
+ collected prematurely and the reference appearing
+ stale, not referring to anything. Examples of such
+ magically referred objects are atomics and NIF
+ resources.
+
+
+ OTP-18733 Application(s): erts
+ Related Id(s): GH-7292
+
+ Matching out short bitstrings with a fixed size not
+ divisible by 8 could could lead to the runtime system
+ terminating with an "Overrun heap and stack" error.
+
+
+ OTP-18737 Application(s): erts
+ Related Id(s): PR-7595
+
+ A constant flow of incoming non-message signals could
+ prevent a process needing to execute dirty from doing
+ so.
+
+
+ OTP-18745 Application(s): erts
+ Related Id(s): GH-7492, PR-7616
+
+ A BEAM file usually contains a chunk with the tag
+ "Type" containing type information that can be used by
+ the JIT. The beam_lib:strip/1 takes care to preserve
+ that chunk, but a build/release tool that does
+ customized stripping could accidentally remove the
+ chunk. Loading a BEAM file without the "Type" chunk
+ could cause incorrect behavior of the loaded code.
+
+
+ OTP-18747 Application(s): erts, kernel
+ Related Id(s): GH-7605
+
+ gen_udp:recv/* for Unix Domain Socket in binary mode
+ and passive mode has been fixed to not crash.
+
+
+ OTP-18752 Application(s): erts
+ Related Id(s): PR-7633
+
+ The cleanup operation of not yet delivered signals to a
+ terminated process yielded excessively.
+
+
+ OTP-18753 Application(s): erts
+ Related Id(s): PR-7634
+
+ Fixed minor hashing issue with the local option of
+ term_to_binary()/term_to_iovec().
+
+
+ --- Improvements and New Features ---
+
+ OTP-18586 Application(s): erts, kernel
+ Related Id(s): OTP-18029
+
+ Update gen_tcp_socket and gen_udp_socket to handle
+ 'completion' (socket on Windows).
+
+
+ OTP-18611 Application(s): erts, kernel
+ Related Id(s): #5024, OTP-18029
+
+ Add support for Unix Domain Sockets (only for STREAM
+ sockets) on Windows for 'socket'.
+
+
+ OTP-18638 Application(s): erts
+
+ In Erlang/OTP 27, by default escripts will be compiled
+ before being executed. That means that the compiler
+ application must be installed. It is possible to force
+ the escript to be interpreted by adding the directive
+ -mode(interpret). to the escript file.
+
+ In Erlang/OTP 28, support for interpreting an escript
+ will be removed.
+
+
+ OTP-18660 Application(s): erts, kernel
+
+ Add basic support for socket ioctl on Windows.
+
+
+ OTP-18661 Application(s): erts
+ Related Id(s): PR-6112
+
+ Removed erts/etc/darwin/Info.plist, as it is no longer
+ necessary after macos 10.12
+
+
+ OTP-18686 Application(s): erts, kernel
+
+ Add support for (Windows) socket option
+ exclusiveaddruse.
+
+
+ OTP-18687 Application(s): erts, kernel
+
+ [socket] Add support for the 'nopush' option.
+
+
+ OTP-18693 Application(s): erts, kernel
+
+ Add support for socket option 'BSP STATE'.
+
+
+ OTP-18698 Application(s): erts, kernel
+
+ Add tcp socket options 'keepcnt', 'keepidle' and
+ 'keepintvl'.
+
+
+ OTP-18710 Application(s): erts, kernel
+
+ Add support for misc (Windows) socket options
+ ('max_msg_size' and 'maxdg').
+
+
+ Full runtime dependencies of erts-14.1: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- inets-9.0.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-9.0.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18582 Application(s): inets
+ Related Id(s): GH-6074, PR-6892
+
+ With this change, re_write httpd works as expected and
+ does not return error.
+
+
+ OTP-18688 Application(s): inets
+ Related Id(s): ERIERL-962
+
+ Fixed a bug so httpd does not crash when stopped at the
+ wrong time during TLS connection negotiation, or any
+ other theoretically as slow connection setup.
+
+
+ OTP-18694 Application(s): inets
+ Related Id(s): GH-7482
+
+ Enhance error handling and avoid that the HTTP client
+ hangs on headers provided on the wrong format.
+
+
+ OTP-18704 Application(s): inets
+ Related Id(s): ERIERL-962, OTP-18688, PR-7513
+
+ With this change, error report generated by httpd
+ during connection setup contains socket type
+ information.
+
+
+ OTP-18708 Application(s): inets
+ Related Id(s): ERIERL-962, OTP-18688
+
+ Stop and restart of the httpd server in the Inets
+ application has been refactored to a more synchronous
+ and OTP supervisor friendly approach.
+
+ This should increase stability and for example avoid a
+ supervisor report from httpd_connection_sup about
+ killed child process(es) in some cases when stopping or
+ restarting httpd.
+
+
+ Full runtime dependencies of inets-9.0.2: erts-14.0, kernel-9.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-5.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-9.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18623 Application(s): erts, kernel
+ Related Id(s): GH-7344
+
+ Fixed an issue with truncated crash slogans on failed
+ emulator start.
+
+
+ OTP-18628 Application(s): kernel
+ Related Id(s): GH-7280
+
+ Fix shell:start_interactive function specification.
+
+
+ OTP-18654 Application(s): kernel
+ Related Id(s): PR-7404
+
+ Fix code:get_doc/1 to return missing, when it can't
+ find erts instead of crashing.
+
+
+ OTP-18669 Application(s): erts, kernel
+ Related Id(s): OTP-18029
+
+ Function socket:close/1 could cause a VM crash on
+ Windows.
+
+
+ OTP-18675 Application(s): kernel, stdlib
+ Related Id(s): GH-7459, PR-7473
+
+ Fix deadlock when erl.exe is used as part of a pipe on
+ Windows and trying to set the encoding of the
+ standard_io device.
+
+
+ OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
+ stdlib
+ Related Id(s): GH-7459, PR-7473
+
+ Expanded the documentation about how to use the
+ standard_io, standard_error and user I/O devices.
+
+ Added the types io:standard_io/0, io:standard:error/0
+ and io:user/0.
+
+
+ OTP-18677 Application(s): kernel
+ Related Id(s): GH-7417, PR-7418
+
+ Fix logger's overload protection mechanism to only
+ fetch memory used by messages when needed.
+
+
+ OTP-18685 Application(s): kernel
+
+ Fixed a number of socket-related issues causing
+ incompatibilities with gen_tcp and gen_udp
+ respectively.
+
+
+ OTP-18707 Application(s): kernel
+ Related Id(s): #7530
+
+ gen_tcp:connect with socket address and socket (inet-)
+ backend fails because of missing callback function.
+
+
+ OTP-18731 Application(s): kernel
+ Related Id(s): GH-7577, PR-7578
+
+ The DNS RR cache used by `inet_res` has been fixed to
+ preserve insert order, which is beneficial when the DNS
+ server returns RRs in some specific order for e.g load
+ balancing purposes.
+
+
+ OTP-18734 Application(s): kernel
+ Related Id(s): GH-6461, GH-7569, OTP-18344, PR-6522
+
+ The options `reuseport`, `reuseport_lb` and
+ `exclusiveaddruse` were accidentally not allowed for
+ e.g `gen_udp:open/1,2`, which has now been corrected.
+
+
+ OTP-18747 Application(s): erts, kernel
+ Related Id(s): GH-7605
+
+ gen_udp:recv/* for Unix Domain Socket in binary mode
+ and passive mode has been fixed to not crash.
+
+
+ OTP-18757 Application(s): kernel
+ Related Id(s): PR-7631
+
+ Fixed issue where cursor would not be placed at the end
+ of the expression when navigating shell history.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18586 Application(s): erts, kernel
+ Related Id(s): OTP-18029
+
+ Update gen_tcp_socket and gen_udp_socket to handle
+ 'completion' (socket on Windows).
+
+
+ OTP-18611 Application(s): erts, kernel
+ Related Id(s): #5024, OTP-18029
+
+ Add support for Unix Domain Sockets (only for STREAM
+ sockets) on Windows for 'socket'.
+
+
+ OTP-18660 Application(s): erts, kernel
+
+ Add basic support for socket ioctl on Windows.
+
+
+ OTP-18681 Application(s): kernel
+
+ The file:location/0 type is now exported.
+
+
+ OTP-18686 Application(s): erts, kernel
+
+ Add support for (Windows) socket option
+ exclusiveaddruse.
+
+
+ OTP-18687 Application(s): erts, kernel
+
+ [socket] Add support for the 'nopush' option.
+
+
+ OTP-18693 Application(s): erts, kernel
+
+ Add support for socket option 'BSP STATE'.
+
+
+ OTP-18698 Application(s): erts, kernel
+
+ Add tcp socket options 'keepcnt', 'keepidle' and
+ 'keepintvl'.
+
+
+ OTP-18710 Application(s): erts, kernel
+
+ Add support for misc (Windows) socket options
+ ('max_msg_size' and 'maxdg').
+
+
+ OTP-18754 Application(s): kernel, stdlib
+ Related Id(s): PR-7604, PR-7647
+
+ The keyboard shortcuts for the shell are now
+ configurable.
+
+
+ OTP-18755 Application(s): kernel
+ Related Id(s): PR-7503
+
+ Optimized code_server to reduce repeated work when
+ loading the same module concurrently.
+
+
+ Full runtime dependencies of kernel-9.1: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- megaco-4.5 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The megaco-4.5 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18599 Application(s): megaco
+ Related Id(s): OTP-18029
+
+ Make megaco transports handle gen_tcp | gen_udp with
+ socket backend on Windows (completion).
+
+
+ Full runtime dependencies of megaco-4.5: asn1-3.0, debugger-4.0,
+ erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14, stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.22.1 ---------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.22.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18711 Application(s): mnesia
+ Related Id(s): ERIERL-963
+
+ Do not delete old backup file if the new backup fails.
+
+
+ Full runtime dependencies of mnesia-4.22.1: erts-9.0, kernel-5.3,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- observer-2.15.1 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The observer-2.15.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18722 Application(s): observer
+ Related Id(s): PR-7462
+
+ Closing the trace log window via the menu did not work.
+
+
+ Full runtime dependencies of observer-2.15.1: erts-14.0, et-1.5,
+ kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.14.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.14.1 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18718 Application(s): public_key
+ Related Id(s): GH-7546
+
+ Country name comparison shall be case insensitive
+
+
+ OTP-18723 Application(s): public_key
+ Related Id(s): GH-6394
+
+ Add check to disallow duplicate certs in a path
+
+
+ Full runtime dependencies of public_key-1.14.1: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- snmp-5.15 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The snmp-5.15 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18598 Application(s): snmp
+ Related Id(s): OTP-18029
+
+ Make snmp handle gen_udp with socket backend on Windows
+ (completion).
+
+
+ Full runtime dependencies of snmp-5.15: crypto-4.6, erts-12.0,
+ kernel-8.0, mnesia-4.12, runtime_tools-1.8.14, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.0.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-11.0.3 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18697 Application(s): ssl
+ Related Id(s): GH-7506
+
+ Avoid function clause error in ssl:getopts/2 by
+ handling that inet:getopts may return an empty list
+ during some circumstances, such as the socket being in
+ a closing state.
+
+
+ OTP-18700 Application(s): ssl
+ Related Id(s): GH-7507
+
+ The API function `ssl:recv/3` has been tightened to
+ disallow negative length, which has never been
+ documented to work, but was passed through and caused
+ strange errors.
+
+
+ OTP-18712 Application(s): ssl
+ Related Id(s): GH-7431
+
+ When a client initiated renegotiation was rejected and
+ the client socket was in active mode the expected error
+ message to the controlling process was not sent.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18631 Application(s): ssl
+
+ Add some guidance for signature algorithms
+ configuration in ssl applications users guide.
+
+
+ Full runtime dependencies of ssl-11.0.3: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-5.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18605 Application(s): compiler, stdlib
+ Related Id(s): GH-7298, GH-7317
+
+ The compiler could run forever when compiling a call to
+ is_record/3 with a huge positive tuple size. The call
+ is_record(A, a, 0) would crash the compiler when used
+ in a function body. When used in a guard the compiler
+ would emit incorrect code that would accept {a> as a
+ record.
+
+
+ OTP-18614 Application(s): stdlib
+ Related Id(s): GH-7162, PR-7237
+
+ Fix bug in ets:tab2file that could make it fail if
+ another Erlang process created the same file at the
+ same time.
+
+
+ OTP-18616 Application(s): stdlib
+ Related Id(s): GH-7258
+
+ An {else_clause,Value} exception will now be reported
+ nicely in the shell.
+
+
+ OTP-18627 Application(s): stdlib
+ Related Id(s): PR-7072
+
+ Correct return value for error case, so that it matches
+ the documented and intended return value {error,
+ {already_started, pid()} when local registered names
+ are used.
+
+
+ OTP-18633 Application(s): stdlib
+
+ sys:get_state/1,2 and sys:replace_state/2,3 has been
+ corrected to handle a state named error as a state
+ name, not as a failed system callback.
+
+ For the standard server behaviours this was an issue
+ only for gen_statem (and gen_fsm) when the state name
+ was error, and for gen_server if the complete state was
+ {error,_}.
+
+
+ OTP-18655 Application(s): stdlib
+ Related Id(s): GH-6460, PR-7208
+
+ Multiple problems were fixed in
+ filelib:safe_relative_path/2. If its second argument
+ was a path that contained symbolic links, an incorrect
+ result patch could be returned. Also, paths were
+ sometimes falsely considered unsafe.
+
+
+ OTP-18675 Application(s): kernel, stdlib
+ Related Id(s): GH-7459, PR-7473
+
+ Fix deadlock when erl.exe is used as part of a pipe on
+ Windows and trying to set the encoding of the
+ standard_io device.
+
+
+ OTP-18676 Application(s): common_test, erl_docgen, erts, kernel,
+ stdlib
+ Related Id(s): GH-7459, PR-7473
+
+ Expanded the documentation about how to use the
+ standard_io, standard_error and user I/O devices.
+
+ Added the types io:standard_io/0, io:standard:error/0
+ and io:user/0.
+
+
+ OTP-18683 Application(s): stdlib
+ Related Id(s): PR-7502
+
+ Fix h/2,3 to properly render multi-clause
+ documentation.
+
+
+ OTP-18759 Application(s): stdlib
+ Related Id(s): GH-7606
+
+ Timers created by timer:apply_after/4,
+ apply_interval/4, and apply_repeatedly/4 would silently
+ fail to do the apply if it was not possible to spawn a
+ process when the timer expired. This has now been
+ corrected, and if the spawn fails, the system will be
+ taken down producing a crash dump.
+
+
+ OTP-18763 Application(s): stdlib
+ Related Id(s): GH-7655
+
+ When an Erlang source file lacked a module definition,
+ there would be a spurious "module name must not be
+ empty" diagnostic for each spec in the file.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18679 Application(s): stdlib
+ Related Id(s): ERIERL-965
+
+ The argument descriptions for option types in argparse
+ have been made less ambiguous.
+
+
+ OTP-18690 Application(s): stdlib
+ Related Id(s): GH-7510, PR-7511
+
+ Clarified the documentation of normal shutdown reason
+ on gen_server:call/2,3
+
+
+ OTP-18696 Application(s): stdlib
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ Pattern matching and equivalence (=:=, =/=) comparisons
+ on 0.0 will now raise a warning, as it will no longer
+ be considered equivalent to -0.0 in OTP 27.
+
+ If a match on 0.0 specifically is desired (distinct
+ from -0.0), the warning can be suppressed by writing
+ +0.0 instead.
+
+ The arithmetic comparison operators are unaffected,
+ including arithmetic equality (==).
+
+
+ OTP-18705 Application(s): stdlib
+ Related Id(s): GH-6339, GH-7524, OTP-18471, PR-6843
+
+ The semantics of the gen_{server,statem,event}
+ behaviour's synchronous start behaviour introduced in
+ OTP-26.0 with OTP-18471, has been clarified in the
+ documentation.
+
+
+ OTP-18736 Application(s): stdlib
+ Related Id(s): PR-7564
+
+ Added functionality to set a custom multiline prompt.
+
+
+ OTP-18746 Application(s): stdlib
+ Related Id(s): PR-7313, PR-7456
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ A warning for (accidental use of) Triple-Quoted Strings
+ has been implemented as per EEP 64.
+
+
+ OTP-18754 Application(s): kernel, stdlib
+ Related Id(s): PR-7604, PR-7647
+
+ The keyboard shortcuts for the shell are now
+ configurable.
+
+
+ Full runtime dependencies of stdlib-5.1: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.2.1.README.txt b/release-notes/OTP-26.2.1.README.txt
new file mode 100644
index 0000000..cced400
--- /dev/null
+++ b/release-notes/OTP-26.2.1.README.txt
@@ -0,0 +1,101 @@
+Patch Package: OTP 26.2.1
+Git Tag: OTP-26.2.1
+Date: 2023-12-18
+Trouble Report Id: OTP-18897, OTP-18902, OTP-18903
+Seq num:
+System: OTP
+Release: 26
+Application: erts-14.2.1, ssh-5.1.1
+Predecessor: OTP 26.2
+
+ Check out the git tag OTP-26.2.1, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18897 Application(s): ssh
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-26.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18903 Application(s): otp
+
+ Updated copyright and license information.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.2.1 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.2.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18902 Application(s): erts
+
+ Removed unnecessary PCRE source tar-ball.
+
+
+ Full runtime dependencies of erts-14.2.1: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.1.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-5.1.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18897 Application(s): ssh
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change (being response to CVE-2023-48795),
+ ssh can negotiate "strict KEX" OpenSSH extension with
+ peers supporting it; also
+ '[email protected]' algorithm becomes a
+ less preferred cipher.
+
+ If strict KEX availability cannot be ensured on both
+ connection sides, affected encryption modes(CHACHA and
+ CBC) can be disabled with standard ssh configuration.
+ This will provide protection against vulnerability, but
+ at a cost of affecting interoperability. See
+ Configuring algorithms in SSH.
+
+
+ Full runtime dependencies of ssh-5.1.1: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.2.2.README.txt b/release-notes/OTP-26.2.2.README.txt
new file mode 100644
index 0000000..e73a91c
--- /dev/null
+++ b/release-notes/OTP-26.2.2.README.txt
@@ -0,0 +1,178 @@
+Patch Package: OTP 26.2.2
+Git Tag: OTP-26.2.2
+Date: 2024-02-08
+Trouble Report Id: OTP-18901, OTP-18911, OTP-18917, OTP-18931,
+ OTP-18932, OTP-18949, OTP-18957, OTP-18964
+Seq num: ERIERL-1023, GH-7978, GH-7987, GH-8051
+System: OTP
+Release: 26
+Application: common_test-1.26.1, erl_interface-5.5.1,
+ erts-14.2.2, kernel-9.2.1, ssh-5.1.2,
+ ssl-11.1.1
+Predecessor: OTP 26.2.1
+
+ Check out the git tag OTP-26.2.2, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- common_test-1.26.1 ----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.26.1 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18932 Application(s): common_test
+
+ Fix how CT finds Erlang/OTP releases for compatability
+ testing. This functionality is only used to test
+ Erlang/OTP.
+
+
+ Full runtime dependencies of common_test-1.26.1: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.5.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.5.1 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18931 Application(s): erl_interface, erts
+ Related Id(s): GH-7987, PR-7989
+
+ Fix bug where the system installed openssl/md5.h would
+ be confused with the vendored md5.h.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.2.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.2.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18911 Application(s): erts
+ Related Id(s): ERIERL-1023, PR-7983
+
+ 32-bit runtime systems on most Unix like platforms
+ could crash if a BIF timer was set with a huge timeout
+ of more than 68 years into the future. In order for the
+ crash to occur, the huge timer (at a later time than
+ when it was set) had to become the nearest active timer
+ set on the specific scheduler on which it was set. This
+ could not happen on a system with only one scheduler
+ since there would always be shorter timers in the
+ system.
+
+ Setting a timer larger than 49 days on Windows could
+ under rare circumstances cause the timeout to be
+ delayed.
+
+
+ OTP-18931 Application(s): erl_interface, erts
+ Related Id(s): GH-7987, PR-7989
+
+ Fix bug where the system installed openssl/md5.h would
+ be confused with the vendored md5.h.
+
+
+ OTP-18949 Application(s): erts
+
+ The JIT has now been disabled on x86 Macs to prevent
+ annoying the "verifying shm-xyz" popups introduced in
+ MacOS Sonoma.
+
+ ARM Macs are unaffected.
+
+
+ OTP-18957 Application(s): erts
+ Related Id(s): GH-8051, OTP-18841, PR-8088
+
+ Garbage collection of a process on a dirty scheduler
+ could collide with signal handling for that process
+ causing a crash of the runtime system. This bug was
+ introduced in OTP 25.3.2.8 and OTP 26.2.
+
+
+ Full runtime dependencies of erts-14.2.2: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.2.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-9.2.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18901 Application(s): kernel
+
+ Fix group (that is the shell) to properly handle when
+ an get_until callback function returned {done, eof, []}
+ when an eof was detected.
+
+
+ Full runtime dependencies of kernel-9.2.1: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.1.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-5.1.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18964 Application(s): ssh
+
+ With this change, Curve25519 and Curve448 KEX methods
+ become most preferred (related to RFC8731).
+
+
+ Full runtime dependencies of ssh-5.1.2: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.1.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-11.1.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18917 Application(s): ssl
+ Related Id(s): GH-7978
+
+ Legacy name handling could cause interop problems
+ between TLS-1.3/1.2 client and TLS-1.2 server.
+
+
+ Full runtime dependencies of ssl-11.1.1: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.2.3.README.txt b/release-notes/OTP-26.2.3.README.txt
new file mode 100644
index 0000000..295f620
--- /dev/null
+++ b/release-notes/OTP-26.2.3.README.txt
@@ -0,0 +1,436 @@
+Patch Package: OTP 26.2.3
+Git Tag: OTP-26.2.3
+Date: 2024-03-07
+Trouble Report Id: OTP-18890, OTP-18900, OTP-18906, OTP-18907,
+ OTP-18909, OTP-18910, OTP-18919, OTP-18921,
+ OTP-18924, OTP-18926, OTP-18935, OTP-18936,
+ OTP-18937, OTP-18940, OTP-18948, OTP-18952,
+ OTP-18953, OTP-18962, OTP-18971, OTP-18974,
+ OTP-18979, OTP-18982, OTP-18985, OTP-18986,
+ OTP-18988, OTP-18990, OTP-18991, OTP-18996,
+ OTP-19002, OTP-19003, OTP-19006, OTP-19007,
+ OTP-19008, OTP-19009, OTP-19011
+Seq num: ERIERL-1041, ERIERL-1049, GH-7911, GH-7924,
+ GH-7934, GH-7968, GH-8016, GH-8021, GH-8024,
+ GH-8044, GH-8079, GH-8119, GH-8158, GH-8187,
+ PR-7750, PR-7930, PR-7932, PR-7933, PR-7945,
+ PR-7984, PR-8025, PR-8046, PR-8075, PR-8173,
+ PR-8174, PR-8181, PR-8189, PR-8201
+System: OTP
+Release: 26
+Application: compiler-8.4.2, crypto-5.4.1, erts-14.2.3,
+ kernel-9.2.2, odbc-2.14.2, public_key-1.15.1,
+ ssh-5.1.3, ssl-11.1.2, stdlib-5.2.1, wx-2.4.1
+Predecessor: OTP 26.2.2
+
+ Check out the git tag OTP-26.2.3, and build a full OTP system
+ including documentation. Apply one or more applications from this
+ build as patches to your installation using the 'otp_patch_apply'
+ tool. For information on install requirements, see descriptions for
+ each application version below.
+
+ ---------------------------------------------------------------------
+ --- OTP-26.2.3 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18924 Application(s): otp
+
+ Quote uninstall path in registry when installing on
+ windows.
+
+
+ ---------------------------------------------------------------------
+ --- compiler-8.4.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The compiler-8.4.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-19003 Application(s): compiler
+ Related Id(s): GH-8187, PR-8189
+
+ In rare circumstances, an unsafe optimization could
+ cause the compiler to generate incorrect code for list
+ matching.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18936 Application(s): compiler
+
+ Fix the compilation server to restart if the
+ applications in its lib dir changes inbetween erlc
+ invokations.
+
+
+ Full runtime dependencies of compiler-8.4.2: crypto-5.1, erts-13.0,
+ kernel-8.4, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.4.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.4.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18921 Application(s): crypto
+
+ Fix compile error when OPENSSL_NO_DES is defined.
+
+
+ OTP-18996 Application(s): crypto
+ Related Id(s): PR-8173, PR-8174
+
+ The function crypto:pbkdf2_hmac will no longer block
+ the main schedulers. If the iteration count or block
+ size parameters are such that the function is likely to
+ take a long time to execute, the function will be
+ scheduled to run on a dirty CPU scheduler.
+
+
+ Full runtime dependencies of crypto-5.4.1: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.2.3 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.2.3 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18906 Application(s): erts
+ Related Id(s): PR-7930
+
+ Fixed compile warning in erl_nif.c for gcc-13.
+
+
+ OTP-18907 Application(s): erts
+ Related Id(s): PR-7932
+
+ Fix C++ compile error for macros enif_select_read and
+ friends.
+
+
+ OTP-18940 Application(s): erts
+ Related Id(s): GH-8024
+
+ Fixed a name clash on Solaris that prevented the JIT
+ from being built.
+
+
+ OTP-18952 Application(s): erts
+ Related Id(s): PR-8025
+
+ Fix termcap detection on solaris.
+
+
+ OTP-18971 Application(s): erts
+ Related Id(s): GH-8044
+
+ Fix heap corruption bug that could cause runaway memory
+ consumption due to circular offheap list at process
+ exit. Other symptoms may also be possible. Bug exists
+ since OTP 25.0.
+
+
+ OTP-18979 Application(s): erts
+
+ Do not clear tracing in old module instance if load
+ fails with 'not_purged'.
+
+
+ OTP-18982 Application(s): erts
+
+ When exceeding the `max_heap_size` limit in a garbage
+ collection initiated by some bit syntax operations, the
+ process would not always terminate immediately.
+
+
+ OTP-19006 Application(s): erts
+
+ The code server could be hanging if a module with
+ on_load function was loaded at the same time as another
+ module was purged using erlang:purge_module directly.
+
+
+ OTP-19008 Application(s): erts
+ Related Id(s): GH-8119, PR-8201
+
+ A process optimized for parallel signal delivery could
+ under some circumstances lose wakeup information. That
+ is, the processes was not woken up to take care of the
+ signal, so the signal would not be taken care of until
+ the process was woken by another signal. Only processes
+ configured with message_queue_data set to off_heap
+ utilize this optimization.
+
+
+ OTP-19009 Application(s): erts
+ Related Id(s): PR-8181
+
+ Fix segfault when generating crashdump containing a fun
+ places in persistent_term storage.
+
+
+ OTP-19011 Application(s): erts
+
+ By default the JIT is disabled on Intel Macs, because
+ of annoying poups on macOS Sonoma. It is now possible
+ to explicitly enable the JIT on Intel Macs. Here is
+ how: ./configure --enable-jit
+
+
+ Full runtime dependencies of erts-14.2.3: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.2.2 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-9.2.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18910 Application(s): kernel
+ Related Id(s): GH-7924, PR-7933
+
+ Fix performance bug when using io:fread to read from
+ standard_io. This regression was introduced in OTP
+ 26.0.
+
+
+ OTP-18948 Application(s): kernel
+ Related Id(s): PR-8046
+
+ A bug in the code server could cause it to crash in
+ some concurrent scenarios. This bug was introduced in
+ 26.1.
+
+
+ OTP-18990 Application(s): kernel
+ Related Id(s): GH-8158
+
+ Fixed gen_udp:open/2 type spec to include already
+ supported module socket address types.
+
+
+ OTP-19007 Application(s): kernel, ssh
+ Related Id(s): ERIERL-1049
+
+ Fix reading of password for ssh client when in
+ user_interactive mode.
+
+
+ Full runtime dependencies of kernel-9.2.2: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- odbc-2.14.2 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The odbc-2.14.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18926 Application(s): odbc
+
+ Use spec for API doc
+
+
+ Full runtime dependencies of odbc-2.14.2: erts-6.0, kernel-3.0,
+ stdlib-2.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.15.1 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.15.1 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18935 Application(s): public_key
+ Related Id(s): GH-8021
+
+ Hostname prefix with X number of dots should not be
+ accepted.
+
+
+ Full runtime dependencies of public_key-1.15.1: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.1.3 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-5.1.3 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18974 Application(s): ssh
+
+ With this change, acceptor_sup is not started for ssh
+ client as it is not needed in that role.
+
+
+ OTP-18986 Application(s): ssh
+
+ With this change, more secure algorithms are preferred
+ by ssh and documentation is updated to reflect that.
+
+
+ OTP-19002 Application(s): ssh
+ Related Id(s): ERIERL-1041
+
+ With this change, KEX strict terminal message is
+ emitted with debug verbosity.
+
+
+ OTP-19007 Application(s): kernel, ssh
+ Related Id(s): ERIERL-1049
+
+ Fix reading of password for ssh client when in
+ user_interactive mode.
+
+
+ Full runtime dependencies of ssh-5.1.3: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.1.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-11.1.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18890 Application(s): ssl
+ Related Id(s): GH-7911
+
+ ssl:prf/5, will start working instead of hanging in a
+ TLS-1.3 context if called appropriately. Note that the
+ implementation has changed and in OTP-27 a more
+ adequate API will be documented.
+
+
+ OTP-18909 Application(s): ssl
+ Related Id(s): GH-7968
+
+ Server name verification didn't work if a connection
+ was made with IP-address as a string.
+
+
+ OTP-18919 Application(s): ssl
+ Related Id(s): PR-7984
+
+ The fallback after "dh" ssl option was undefined was to
+ get "dh" from ssl options again. This is clearly wrong
+ and now changed to the documented fallback "dhfile" ssl
+ option.
+
+
+ OTP-18962 Application(s): ssl
+ Related Id(s): GH-8079
+
+ Correct default value selection for DTLS. Will only
+ affect users linked with really old version of
+ cryptolib library.
+
+
+ OTP-18991 Application(s): ssl
+
+ Adhere elliptic curves with RFC 8422 pre TLS-1.3, that
+ is Edwards curves are added to curves that can be used
+ for key exchange, and documentation and implementation
+ of eccs/0,1 are aligned.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18985 Application(s): ssl
+
+ Improve alert reason when ecdhe_rsa key_exchange does
+ not have any common curves to use
+
+
+ Full runtime dependencies of ssl-11.1.2: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.2.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-5.2.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18900 Application(s): stdlib
+ Related Id(s): GH-7934, PR-7945
+
+ The help texts shown by argparse will now display
+ sub-command arguments in the correct order.
+
+
+ OTP-18937 Application(s): stdlib
+
+ Clarified the argparse documentation regarding the
+ user-defined help template.
+
+
+ OTP-18953 Application(s): stdlib
+ Related Id(s): GH-8016, PR-8075
+
+ Fix shell expansion to not crash when expanding invalid
+ using invalid atoms.
+
+
+ Full runtime dependencies of stdlib-5.2.1: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.4.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.4.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18988 Application(s): wx
+ Related Id(s): PR-7750
+
+ Add option to silence wx depracation macros.
+
+
+ Full runtime dependencies of wx-2.4.1: erts-12.0, kernel-8.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-26.2.README.txt b/release-notes/OTP-26.2.README.txt
new file mode 100644
index 0000000..8a6328a
--- /dev/null
+++ b/release-notes/OTP-26.2.README.txt
@@ -0,0 +1,1134 @@
+Patch Package: OTP 26.2
+Git Tag: OTP-26.2
+Date: 2023-12-13
+Trouble Report Id: OTP-16607, OTP-17844, OTP-18728, OTP-18730,
+ OTP-18735, OTP-18739, OTP-18749, OTP-18751,
+ OTP-18760, OTP-18762, OTP-18764, OTP-18765,
+ OTP-18767, OTP-18771, OTP-18772, OTP-18775,
+ OTP-18776, OTP-18777, OTP-18782, OTP-18798,
+ OTP-18799, OTP-18800, OTP-18802, OTP-18810,
+ OTP-18811, OTP-18812, OTP-18814, OTP-18815,
+ OTP-18817, OTP-18818, OTP-18821, OTP-18822,
+ OTP-18823, OTP-18824, OTP-18826, OTP-18827,
+ OTP-18828, OTP-18829, OTP-18830, OTP-18832,
+ OTP-18833, OTP-18836, OTP-18838, OTP-18839,
+ OTP-18840, OTP-18841, OTP-18842, OTP-18843,
+ OTP-18844, OTP-18850, OTP-18853, OTP-18854,
+ OTP-18855, OTP-18857, OTP-18858, OTP-18861,
+ OTP-18866, OTP-18867, OTP-18868, OTP-18869,
+ OTP-18871, OTP-18872, OTP-18873, OTP-18877,
+ OTP-18880, OTP-18882, OTP-18883, OTP-18885,
+ OTP-18886, OTP-18888, OTP-18891, OTP-18893,
+ OTP-18895, OTP-18896, OTP-18899
+Seq num: ERIERL-738, ERIERL-994, ERIERL-997, GH-7515,
+ GH-7548, GH-7571, GH-7580, GH-7591, GH-7608,
+ GH-7621, GH-7625, GH-7676, GH-7685, GH-7735,
+ GH-7736, GH-7766, GH-7795, GH-7801, GH-7827,
+ GH-7832, GH-7834, GH-7838, GH-7875, GH-7890,
+ GH-7914
+System: OTP
+Release: 26
+Application: asn1-5.2.1, common_test-1.26, crypto-5.4,
+ debugger-5.3.3, dialyzer-5.1.2,
+ diameter-2.3.1, edoc-1.2.1, eldap-1.2.12,
+ erl_docgen-1.5.2, erl_interface-5.5,
+ erts-14.2, eunit-2.9, ftp-1.2.1, inets-9.1,
+ kernel-9.2, mnesia-4.23, os_mon-2.9.1,
+ public_key-1.15, runtime_tools-2.0.1,
+ ssh-5.1, ssl-11.1, stdlib-5.2, tftp-1.1.1,
+ wx-2.4, xmerl-1.3.34
+Predecessor: OTP 26.1.2
+
+ Check out the git tag OTP-26.2, and build a full OTP system including
+ documentation. Apply one or more applications from this build as
+ patches to your installation using the 'otp_patch_apply' tool. For
+ information on install requirements, see descriptions for each
+ application version below.
+
+ ---------------------------------------------------------------------
+ --- POTENTIAL INCOMPATIBILITIES -------------------------------------
+ ---------------------------------------------------------------------
+
+ OTP-18728 Application(s): common_test
+ Related Id(s): PR-7487, PR-7674
+
+ With this change, common_test returns an error when
+ suite with a badly defined group is executed.
+
+
+ ---------------------------------------------------------------------
+ --- OTP-26.2 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18840 Application(s): otp, stdlib
+ Related Id(s): PR-7629
+
+ The removal of the deprecated slave module, originally
+ planned for OTP 27, has been postponed to OTP 29.
+
+
+ OTP-18896 Application(s): otp
+
+ Updated copyright and license information.
+
+
+ ---------------------------------------------------------------------
+ --- asn1-5.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The asn1-5.2.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18844 Application(s): asn1
+
+ Fix benign warning from gcc 11 about mismatching call
+ to free().
+
+
+ Full runtime dependencies of asn1-5.2.1: erts-11.0, kernel-7.0,
+ stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- common_test-1.26 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The common_test-1.26 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18728 Application(s): common_test
+ Related Id(s): PR-7487, PR-7674
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+ With this change, common_test returns an error when
+ suite with a badly defined group is executed.
+
+
+ OTP-18760 Application(s): common_test
+
+ With this change, stylesheet option is applied to all
+ HTML report pages.
+
+
+ OTP-18799 Application(s): common_test, erl_docgen, xmerl
+ Related Id(s): PR-7695
+
+ Update all <tt> html tags to be <code> instead.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18858 Application(s): common_test
+ Related Id(s): PR-7825
+
+ This change fixes docs, so that historically deprecated
+ ?config macro is no longer recommended to be used.
+
+
+ Full runtime dependencies of common_test-1.26: compiler-6.0,
+ crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0, kernel-8.4,
+ observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+ stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+
+ ---------------------------------------------------------------------
+ --- crypto-5.4 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The crypto-5.4 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18895 Application(s): crypto, erl_interface, os_mon,
+ runtime_tools
+
+ Fixed some benign compile warnings on Windows.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18832 Application(s): crypto
+ Related Id(s): PR-7763
+
+ Enable engine support for OpenSSL versions 3.
+
+
+ Full runtime dependencies of crypto-5.4: erts-9.0, kernel-5.3,
+ stdlib-3.9
+
+
+ ---------------------------------------------------------------------
+ --- debugger-5.3.3 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The debugger-5.3.3 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18888 Application(s): debugger
+ Related Id(s): GH-7914
+
+ Map comprehensions now work in the Debugger.
+
+
+ Full runtime dependencies of debugger-5.3.3: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-3.15, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- dialyzer-5.1.2 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The dialyzer-5.1.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18767 Application(s): dialyzer
+ Related Id(s): PR-7657
+
+ Fix dialyzer --output flag to work. This option was
+ accidentally removed in OTP 26.0.
+
+
+ OTP-18772 Application(s): dialyzer
+ Related Id(s): GH-7676
+
+ Fixed a crash in contract checking relating to opaque
+ types.
+
+
+ Full runtime dependencies of dialyzer-5.1.2: compiler-8.0, erts-12.0,
+ kernel-8.0, stdlib-5.0, syntax_tools-2.0, wx-2.0
+
+
+ ---------------------------------------------------------------------
+ --- diameter-2.3.1 --------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The diameter-2.3.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ Full runtime dependencies of diameter-2.3.1: erts-10.0, kernel-3.2,
+ ssl-9.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- edoc-1.2.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The edoc-1.2.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18782 Application(s): edoc
+ Related Id(s): PR-7643
+
+ Emit <code> instead of <tt>.
+
+
+ Full runtime dependencies of edoc-1.2.1: erts-6.0, inets-5.10,
+ kernel-3.0, stdlib-3.15, syntax_tools-2.0, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- eldap-1.2.12 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eldap-1.2.12 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18810 Application(s): eldap
+
+ Add missing dependency to asn1 application
+
+
+ Full runtime dependencies of eldap-1.2.12: asn1-3.0, erts-6.0,
+ kernel-3.0, ssl-5.3.4, stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- erl_docgen-1.5.2 ------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_docgen-1.5.2 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18775 Application(s): erl_docgen
+ Related Id(s): PR-7663
+
+ Fix erl_docgen dtd to only allow a single
+ datatype_title within a datatypes block.
+
+
+ OTP-18776 Application(s): erl_docgen
+ Related Id(s): PR-7663
+
+ Fix so that EEP-48 doc chunks include the module
+ summary and generates equiv tags in the correct order.
+
+ The function/type group title is now also included in
+ the entry metadata.
+
+
+ OTP-18799 Application(s): common_test, erl_docgen, xmerl
+ Related Id(s): PR-7695
+
+ Update all <tt> html tags to be <code> instead.
+
+
+ Full runtime dependencies of erl_docgen-1.5.2: edoc-1.0, erts-11.0,
+ kernel-8.0, stdlib-3.15, xmerl-1.3.7
+
+
+ ---------------------------------------------------------------------
+ --- erl_interface-5.5 -----------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erl_interface-5.5 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18895 Application(s): crypto, erl_interface, os_mon,
+ runtime_tools
+
+ Fixed some benign compile warnings on Windows.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18764 Application(s): erl_interface
+ Related Id(s): PR-7602
+
+ Add support to encode maps with ei_x_format.
+
+
+ OTP-18877 Application(s): erl_interface, erts
+
+ Replaced old md5 implementation with an implementation
+ from OpenSSL.
+
+
+ --- Known Bugs and Problems ---
+
+ OTP-16607 Application(s): erl_interface
+ Related Id(s): OTP-16608
+
+ The ei API for decoding/encoding terms is not fully
+ 64-bit compatible since terms that have a
+ representation on the external term format larger than
+ 2 GB cannot be handled.
+
+
+ ---------------------------------------------------------------------
+ --- erts-14.2 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The erts-14.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18751 Application(s): erts
+ Related Id(s): GH-7548, GH-7621
+
+ Fix erl.exe to to restore the console to its original
+ state when exiting. This bug was introduced in OTP 26.0
+ and only happens when erl.exe is run in cmd.exe.
+
+
+ OTP-18802 Application(s): erts
+
+ Fix faulty debug assert when page size is larger than
+ 16kb, like on PowerPC. Did crash debug VM directly at
+ start.
+
+
+ OTP-18811 Application(s): erts
+ Related Id(s): ERIERL-994
+
+ zlib will no longer randomly return garbage (negative)
+ Adler32 checksums.
+
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ OTP-18838 Application(s): erts
+ Related Id(s): GH-7801, PR-7822
+
+ A process with message_queue_data configured as
+ off_heap could end up in an inconsistent state when
+ being receive traced, inspected using process_info/2
+ with the message_queue_len item, or inspected using the
+ break menu (CTRL-C). When it ended up in this
+ inconsistent state, it was not enqueued into a run
+ queue even though it was set in a runnable state.This
+ also effected signals being sent to the process after
+ it had gotten into this inconsistent state, in such a
+ way that it was from this point not possible to
+ communicate with it.
+
+
+ OTP-18839 Application(s): erts
+ Related Id(s): GH-7801, PR-7822
+
+ A race occurring when a process was selected for dirty
+ execution simultaneously as it was scheduled for
+ handling a signal could cause the process to end up in
+ an inconsistent state. When it ended up in this
+ inconsistent state, it was not enqueued into a run
+ queue even though it was set in a runnable state. This
+ also effected signals being sent to the process after
+ it had gotten into this inconsistent state, in such a
+ way that it was from this point not possible to
+ communicate with it.
+
+
+ OTP-18841 Application(s): erts
+ Related Id(s): GH-7801, OTP-18737, PR-7822
+
+ When a process had to to wait in the run queue for a
+ long time before being selected for dirty execution, it
+ could not receive signals. This caused inspection of
+ such a process, for example using process_info/2, to
+ take a long time.
+
+ This issue was introduced in OTP 25.3.2.6 and 26.1 when
+ fixing an issue where a constant flow of signals
+ prevented a process from being able to execute dirty.
+
+
+ OTP-18842 Application(s): erts
+
+ Fixed a bug in the JIT that miscompiled large
+ select_val instructions.
+
+
+ OTP-18871 Application(s): erts
+ Related Id(s): GH-7838
+
+ Fix bug on Windows where large writes to standard_io
+ could cause duplicate data to be written.
+
+
+ OTP-18880 Application(s): erts
+ Related Id(s): GH-7736, PR-7761
+
+ The struct ip_mreqn field imr_ifindex had got an
+ incorrect byte order conversion that has been
+ corrected.
+
+
+ OTP-18885 Application(s): erts
+ Related Id(s): GH-7834, GH-7890, PR-7915
+
+ On OTP 24 and OTP 25, incoming distributed messages
+ larger than 64 KiB sent using an alias leaked memory if
+ the alias had been removed prior to entering the node.
+ This issue was not present on OTP 26.
+
+ Incoming distributed messages larger than 64 KiB sent
+ using an alias which had been removed on the receiving
+ node could crash the node. This crash was quite
+ unlikely on OTP 24 and OTP 25, but very likely on OTP
+ 26.
+
+ 'DOWN' signals with exit reason larger than 64 KiB
+ directed towards a process on a node with a not
+ matching creation leaked memory on the receiving node.
+ Such signals should however be very rare.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18762 Application(s): erts, kernel
+
+ Add Windows support for DGRAM socket connect.
+
+
+ OTP-18765 Application(s): erts
+ Related Id(s): PR-7707
+
+ process_info/2 now supports lookup of values for
+ specific keys in the process dictionary. For example,
+ {{dictionary, Key}, Value} = process_info(Pid,
+ {dictionary, Key}).
+
+
+ OTP-18830 Application(s): erts
+ Related Id(s): PR-7823
+
+ Removed unnecessary regexp library used when generating
+ yielding BIFs.
+
+
+ OTP-18872 Application(s): erts
+ Related Id(s): GH-7832
+
+ Fix tty restore when +Bc is used.
+
+
+ OTP-18877 Application(s): erl_interface, erts
+
+ Replaced old md5 implementation with an implementation
+ from OpenSSL.
+
+
+ OTP-18899 Application(s): erts
+
+ Removed unused makewhatis script.
+
+
+ Full runtime dependencies of erts-14.2: kernel-9.0, sasl-3.3,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- eunit-2.9 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The eunit-2.9 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18771 Application(s): eunit
+ Related Id(s): PR-7635
+
+ With this change, EUnit timetraps can be scaled with
+ the use of scale_timeouts option.
+
+
+ Full runtime dependencies of eunit-2.9: erts-9.0, kernel-5.3,
+ stdlib-3.4
+
+
+ ---------------------------------------------------------------------
+ --- ftp-1.2.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ftp-1.2.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ Full runtime dependencies of ftp-1.2.1: erts-7.0, kernel-6.0,
+ runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- inets-9.1 -------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The inets-9.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ OTP-18855 Application(s): inets
+
+ Correct IP protocol handling so that redirects always
+ uses correct IP-family options and not fails.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18735 Application(s): inets
+ Related Id(s): GH-7580, PR-7596
+
+ inets app starts ssl by default
+
+
+ OTP-18882 Application(s): inets
+
+ Avoid httpd returning 500 internal server error when
+ unable to open a file. 404 or 503 will be returned
+ instead.
+
+
+ OTP-18891 Application(s): inets
+ Related Id(s): GH-7827, PR-7843
+
+ Properly handle documented option mime_type, for
+ backwards compatibility fallback to undocumented option
+ default_type if mime_type is not set.
+
+
+ Full runtime dependencies of inets-9.1: erts-14.0, kernel-9.0,
+ mnesia-4.12, public_key-1.13, runtime_tools-1.8.14, ssl-9.0,
+ stdlib-5.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- kernel-9.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The kernel-9.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18749 Application(s): kernel
+ Related Id(s): GH-7608
+
+ For inet_backend = socket, an unexpected receive error
+ such as etimedout caused the receiving state machine
+ server to crash. This bug has now been fixed.
+
+
+ OTP-18800 Application(s): kernel
+ Related Id(s): GH-7591, PR-7714
+
+ Fix bug where reading using file from a unicode enabled
+ standard_io, standard_error or any other group backed
+ device would result in incorrect values being returned
+ or a crash.
+
+ Now instead a no_translation error is returned to the
+ caller when unicode data is read using file. See Using
+ Unicode in the STDLIB User's Guide for more details on
+ how to correctly read from standard_io.
+
+
+ OTP-18812 Application(s): kernel
+ Related Id(s): ERIERL-997
+
+ The native resolver interface module has gotten a
+ rewrite of its ETS table handling to minimize term
+ copying, and also to move the handling of client
+ time-outs to the clients, which helps the native
+ resolver name server from digging itself into a tar pit
+ when heavily loaded.
+
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ OTP-18833 Application(s): kernel
+ Related Id(s): GH-7625, PR-7659
+
+ Fix bug in pg if a client process both monitored a
+ group/scope and joined a group. The termination of such
+ process resulted in crash of the pg server process.
+
+
+ OTP-18873 Application(s): kernel
+ Related Id(s): PR-7831
+
+ Fix crash when using file:consult and the underlying
+ file read returns an error while reading.
+
+
+ OTP-18883 Application(s): kernel
+ Related Id(s): #7764
+
+ Corrected gen_tcp_socket listen option handling.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18762 Application(s): erts, kernel
+
+ Add Windows support for DGRAM socket connect.
+
+
+ OTP-18818 Application(s): kernel
+ Related Id(s): #7337
+
+ Document the, previously opaque, types select_tag() and
+ completion_tag().
+
+
+ Full runtime dependencies of kernel-9.2: crypto-5.0, erts-14.0,
+ sasl-3.0, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- mnesia-4.23 -----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The mnesia-4.23 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18798 Application(s): mnesia
+
+ Document mnesia:foldl/4 and mnesia:foldr/4.
+
+
+ OTP-18850 Application(s): mnesia
+
+ mnesia:add_table_copy/3 no longer fails with reason
+ system_limit when the node is starting.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18843 Application(s): mnesia
+ Related Id(s): GH-7766
+
+ Restore recreate of disc_only tables could crash if
+ they had an index.
+
+
+ Full runtime dependencies of mnesia-4.23: erts-9.0, kernel-5.3,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- os_mon-2.9.1 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The os_mon-2.9.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18895 Application(s): crypto, erl_interface, os_mon,
+ runtime_tools
+
+ Fixed some benign compile warnings on Windows.
+
+
+ Full runtime dependencies of os_mon-2.9.1: erts-14.0, kernel-9.0,
+ sasl-4.2.1, stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- public_key-1.15 -------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The public_key-1.15 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18739 Application(s): public_key, ssl
+
+ ssl application will validate id-kp-serverAuth and
+ id-kp-clientAuth extended key usage only in end entity
+ certificates. public_key application will disallow
+ "anyExtendedKeyUsage" for CA certificates that includes
+ the extended key usage extension and marks it critical.
+
+
+ OTP-18854 Application(s): public_key
+
+ Modernize ECC handling so that crypto FIPS support
+ works as expected.
+
+
+ --- Improvements and New Features ---
+
+ OTP-17844 Application(s): public_key
+ Related Id(s): ERIERL-738
+
+ Support certificate policies in path_validation - as
+ described by RFC 5280.
+
+
+ OTP-18814 Application(s): public_key
+ Related Id(s): PR-7435
+
+ Add more search paths for cacerts on Illumos.
+
+
+ OTP-18867 Application(s): public_key
+ Related Id(s): GH-7515
+
+ Make it possible to handle invalid date formats in the
+ verify_fun for pkix_path_validation/3
+
+
+ Full runtime dependencies of public_key-1.15: asn1-3.0, crypto-4.6,
+ erts-6.0, kernel-3.0, stdlib-3.5
+
+
+ ---------------------------------------------------------------------
+ --- runtime_tools-2.0.1 ---------------------------------------------
+ ---------------------------------------------------------------------
+
+ The runtime_tools-2.0.1 application can be applied independently of
+ other applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18868 Application(s): runtime_tools
+ Related Id(s): GH-7735
+
+ Fixed issue with fetching port information for observer
+ could crash if port had died.
+
+
+ OTP-18895 Application(s): crypto, erl_interface, os_mon,
+ runtime_tools
+
+ Fixed some benign compile warnings on Windows.
+
+
+ Full runtime dependencies of runtime_tools-2.0.1: erts-11.0,
+ kernel-8.1, mnesia-4.12, stdlib-3.13
+
+
+ ---------------------------------------------------------------------
+ --- ssh-5.1 ---------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssh-5.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ OTP-18861 Application(s): ssh
+ Related Id(s): PR-7627
+
+ Avoid outputting ansi escape sequences to dumb ssh
+ clients.
+
+
+ OTP-18869 Application(s): ssh
+ Related Id(s): GH-7571, PR-7849
+
+ With this change, connection handler does not execute
+ socket operations until it becomes socket owner.
+ Previously errors could occur if connection handler
+ tried to work with socket whose owner exited.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18730 Application(s): ssh
+ Related Id(s): PR-7499
+
+ With this change, reverse search works with ssh shell
+ and non dumb terminals.
+
+
+ Full runtime dependencies of ssh-5.1: crypto-5.0, erts-14.0,
+ kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1, stdlib-5.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- ssl-11.1 --------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The ssl-11.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18739 Application(s): public_key, ssl
+
+ ssl application will validate id-kp-serverAuth and
+ id-kp-clientAuth extended key usage only in end entity
+ certificates. public_key application will disallow
+ "anyExtendedKeyUsage" for CA certificates that includes
+ the extended key usage extension and marks it critical.
+
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ OTP-18817 Application(s): ssl
+
+ Correct handling of TLS-1.3 legacy scheme names, could
+ cause interop failures for TLS-1.2 clients.
+
+
+ OTP-18886 Application(s): ssl
+
+ Add missing export for connection_info() API type.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18836 Application(s): ssl
+ Related Id(s): GH-7795
+
+ Fixed server name indication which was not handled
+ properly.
+
+
+ OTP-18853 Application(s): ssl
+ Related Id(s): PR-7841
+
+ Align documentation and implementation
+
+
+ OTP-18893 Application(s): ssl
+ Related Id(s): PR-7920, PR-7921
+
+ Improve connection setup by optimizing certificate
+ lookup.
+
+
+ Full runtime dependencies of ssl-11.1: crypto-5.0, erts-14.0,
+ inets-5.10.7, kernel-9.0, public_key-1.11.3, runtime_tools-1.15.1,
+ stdlib-4.1
+
+
+ ---------------------------------------------------------------------
+ --- stdlib-5.2 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The stdlib-5.2 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18777 Application(s): stdlib
+ Related Id(s): PR-7663
+
+ Make shell_docs correctly trim the newline at the end
+ of code blocks.
+
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ OTP-18822 Application(s): stdlib
+ Related Id(s): PR-7796
+
+ Fixed a bug where autocompletion could crash the shell
+ when trying to expand a nested tuple.
+
+
+ OTP-18823 Application(s): stdlib
+
+ Removed auto closing feature, in autocompletion, for
+ function arguments, tuples, records and maps, since
+ this could interfere with autocompletion of atoms.
+
+
+ OTP-18824 Application(s): stdlib
+
+ Fixed a bug where autocompletion string formatting
+ would remove suggestions that had the same name but
+ different case.
+
+
+ OTP-18826 Application(s): stdlib
+ Related Id(s): PR-7797
+
+ Fix so that ctrl+h, ctrl+backspace in the shell only
+ removes one character instead of a whole word.
+
+
+ OTP-18827 Application(s): stdlib
+ Related Id(s): PR-7797
+
+ Fix so that its possible to override the default
+ keyboard shortcuts for the shell.
+
+
+ OTP-18828 Application(s): stdlib
+ Related Id(s): PR-7799
+
+ Allow shell local func v(), in a restricted shell
+
+
+ OTP-18829 Application(s): stdlib
+ Related Id(s): PR-7799
+
+ Report syntax error when writing an invalid attribute
+ like '1> -hej.'
+
+
+ OTP-18866 Application(s): stdlib
+ Related Id(s): GH-7875, PR-7878
+
+ When attempting to match part of a record in the key of
+ a map generator, the entire record would be matched.
+
+
+ --- Improvements and New Features ---
+
+ OTP-18821 Application(s): stdlib
+ Related Id(s): OTP-18746
+
+ The warning for accidental use of a future
+ triple-quoted string delimiter has been upgraded to
+ instead warn for adjacent strings without intervening
+ white space, which effectively is the same at a string
+ start, but also covers the same situation at a string
+ end.
+
+
+ OTP-18840 Application(s): otp, stdlib
+ Related Id(s): PR-7629
+
+ The removal of the deprecated slave module, originally
+ planned for OTP 27, has been postponed to OTP 29.
+
+
+ OTP-18857 Application(s): stdlib, wx
+ Related Id(s): GH-7685
+
+ Guards have been added to gen_*:start* API functions to
+ catch bad arguments earlier. Before this change, in
+ some cases, a bad argument could tag along and cause
+ the server to fail later, right after start.
+
+
+ Full runtime dependencies of stdlib-5.2: compiler-5.0, crypto-4.5,
+ erts-13.1, kernel-9.0, sasl-3.0
+
+
+ ---------------------------------------------------------------------
+ --- tftp-1.1.1 ------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The tftp-1.1.1 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18815 Application(s): diameter, erts, ftp, inets, kernel,
+ otp, ssh, ssl, stdlib, tftp
+ Related Id(s): PR-7780
+
+ Replaced unintentional Erlang Public License 1.1
+ headers in some files with the intended Apache License
+ 2.0 header.
+
+
+ Full runtime dependencies of tftp-1.1.1: erts-6.0, kernel-6.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- wx-2.4 ----------------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The wx-2.4 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Improvements and New Features ---
+
+ OTP-18857 Application(s): stdlib, wx
+ Related Id(s): GH-7685
+
+ Guards have been added to gen_*:start* API functions to
+ catch bad arguments earlier. Before this change, in
+ some cases, a bad argument could tag along and cause
+ the server to fail later, right after start.
+
+
+ Full runtime dependencies of wx-2.4: erts-12.0, kernel-8.0,
+ stdlib-5.0
+
+
+ ---------------------------------------------------------------------
+ --- xmerl-1.3.34 ----------------------------------------------------
+ ---------------------------------------------------------------------
+
+ The xmerl-1.3.34 application can be applied independently of other
+ applications on a full OTP 26 installation.
+
+ --- Fixed Bugs and Malfunctions ---
+
+ OTP-18799 Application(s): common_test, erl_docgen, xmerl
+ Related Id(s): PR-7695
+
+ Update all <tt> html tags to be <code> instead.
+
+
+ Full runtime dependencies of xmerl-1.3.34: erts-6.0, kernel-3.0,
+ stdlib-2.5
+
+
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+ ---------------------------------------------------------------------
+
diff --git a/release-notes/OTP-27.0-rc1.README.txt b/release-notes/OTP-27.0-rc1.README.txt
new file mode 100644
index 0000000..017c55b
--- /dev/null
+++ b/release-notes/OTP-27.0-rc1.README.txt
@@ -0,0 +1,2307 @@
+Inital Release: OTP 27.0
+Git Tag: OTP-27.0
+Date: 2024-02-14
+Trouble Report Id: OTP-16607, OTP-18568, OTP-18577, OTP-18589,
+ OTP-18590, OTP-18594, OTP-18606, OTP-18608,
+ OTP-18609, OTP-18622, OTP-18639, OTP-18641,
+ OTP-18642, OTP-18648, OTP-18658, OTP-18667,
+ OTP-18668, OTP-18671, OTP-18673, OTP-18680,
+ OTP-18682, OTP-18684, OTP-18699, OTP-18703,
+ OTP-18709, OTP-18713, OTP-18714, OTP-18715,
+ OTP-18716, OTP-18717, OTP-18727, OTP-18741,
+ OTP-18742, OTP-18743, OTP-18744, OTP-18750,
+ OTP-18756, OTP-18761, OTP-18766, OTP-18774,
+ OTP-18778, OTP-18779, OTP-18781, OTP-18783,
+ OTP-18784, OTP-18785, OTP-18786, OTP-18787,
+ OTP-18788, OTP-18789, OTP-18793, OTP-18794,
+ OTP-18795, OTP-18796, OTP-18801, OTP-18804,
+ OTP-18805, OTP-18806, OTP-18807, OTP-18808,
+ OTP-18809, OTP-18813, OTP-18816, OTP-18819,
+ OTP-18820, OTP-18825, OTP-18831, OTP-18834,
+ OTP-18835, OTP-18846, OTP-18847, OTP-18848,
+ OTP-18849, OTP-18852, OTP-18856, OTP-18859,
+ OTP-18860, OTP-18865, OTP-18870, OTP-18874,
+ OTP-18875, OTP-18876, OTP-18878, OTP-18879,
+ OTP-18881, OTP-18887, OTP-18892, OTP-18894,
+ OTP-18898, OTP-18904, OTP-18908, OTP-18912,
+ OTP-18913, OTP-18914, OTP-18916, OTP-18918,
+ OTP-18920, OTP-18922, OTP-18923, OTP-18927,
+ OTP-18928, OTP-18929, OTP-18930, OTP-18934,
+ OTP-18941, OTP-18942, OTP-18944, OTP-18945,
+ OTP-18946, OTP-18947, OTP-18950, OTP-18951,
+ OTP-18954, OTP-18955, OTP-18959, OTP-18961,
+ OTP-18963, OTP-18967, OTP-18972, OTP-18973,
+ OTP-18976, OTP-18977, OTP-18978, OTP-18980
+Seq num: #312, 7809, BL-322, ERIERL-43, ERIERL-964,
+ ERIERL-967, ERIERL-985, GH-4992, GH-6152,
+ GH-6692, GH-6985, GH-7183, GH-7232, GH-7266,
+ GH-7295, GH-7397, GH-7432, GH-7493, GH-7494,
+ GH-7706, GH-7718, GH-8061, OTP-16448,
+ OTP-16608, OTP-16875, OTP-17734, OTP-18746,
+ OTP-18750, PR-6510, PR-6639, PR-6791,
+ PR-6985, PR-7110, PR-7125, PR-7174, PR-7202,
+ PR-7220, PR-7236, PR-7243, PR-7267, PR-7274,
+ PR-7299, PR-7313, PR-7316, PR-7348, PR-7380,
+ PR-7383, PR-7388, PR-7398, PR-7419, PR-7428,
+ PR-7441, PR-7443, PR-7451, PR-7465, PR-7470,
+ PR-7474, PR-7475, PR-7481, PR-7491, PR-7496,
+ PR-7528, PR-7534, PR-7535, PR-7538, PR-7556,
+ PR-7585, PR-7590, PR-7592, PR-7607, PR-7628,
+ PR-7639, PR-7649, PR-7651, PR-7675, PR-7684,
+ PR-7697, PR-7699, PR-7700, PR-7701, PR-7702,
+ PR-7703, PR-7711, PR-7720, PR-7726, PR-7728,
+ PR-7732, PR-7738, PR-7739, PR-7740, PR-7745,
+ PR-7779, PR-7781, PR-7782, PR-7790, PR-7809,
+ PR-7816, PR-7824, PR-7844, PR-7845, PR-7846,
+ PR-7847, PR-7856, PR-7857, PR-7869, PR-7879,
+ PR-7891, PR-7898, PR-7917, PR-7918, PR-7936,
+ PR-7942, PR-7952, PR-7957, PR-7960, PR-7963,
+ PR-7973, PR-7981, PR-7993, PR-8003, PR-8004,
+ PR-8006, PR-8026, PR-8042, PR-8063, PR-8067,
+ PR-8069, PR-8076, PR-8086, PR-8090, PR-8092
+System: OTP
+Release: 27
+Application: asn1-5.3, common_test-1.27, compiler-8.5,
+ crypto-5.5, debugger-5.4, dialyzer-5.2,
+ diameter-2.4, edoc-1.3, eldap-1.3,
+ erl_interface-5.6, erts-14.3, et-1.8,
+ eunit-2.10, ftp-1.3, inets-9.2,
+ jinterface-1.15, kernel-9.3, megaco-4.6,
+ mnesia-4.24, observer-2.16, odbc-2.15,
+ os_mon-2.10, parsetools-2.6, public_key-1.16,
+ reltool-1.1, runtime_tools-2.1, sasl-4.3,
+ snmp-5.16, ssh-5.2, ssl-11.2, stdlib-6.0,
+ syntax_tools-3.2, tftp-1.2, tools-4.0,
+ wx-2.5, xmerl-1.4
+Predecessor: OTP
+
+Check out the git tag OTP-27.0, and build a full OTP system including
+documentation.
+
+# HIGHLIGHTS
+
+- The functions `is_equal/2`, `map/2`, and `filtermap/2` have been added to the
+ modules `sets`, `ordsets`, and `gb_sets`.
+
+ Own Id: OTP-18622
+ Related Id(s): GH-7183, GH-7232
+
+- The compiler now emits nicer error message for function head mismatches. For
+ example, given:
+
+ a() -> ok;
+ a(_) -> error.
+
+ Erlang/OTP 26 and earlier would emit a diagnostic similar to:
+
+ t.erl:6:1: head mismatch
+ % 6| a(_) -> error.
+ % | ^
+
+ while in Erlang/OTP 27 the diagnostic is similar to:
+
+ t.erl:6:1: head mismatch: function a with arities 0 and 1 is regarded as two distinct functions. Is the number of arguments incorrect or is the semicolon in a/0 unwanted?
+ % 6| a(_) -> error.
+ % | ^
+
+ Own Id: OTP-18648
+ Related Id(s): PR-7383
+
+- The compiler will now merge consecutive updates of the same record.
+
+ As an example, the body of the following function will be combined into a
+ single tuple creation instruction:
+
+ -record(r, {a,b,c,d}).
+
+ update(Value) ->
+ R0 = #r{},
+ R1 = R0#r{a=Value},
+ R2 = R1#r{b=2},
+ R2#r{c=3}.
+
+ Own Id: OTP-18680
+ Related Id(s): ERIERL-967, PR-7491, PR-8086
+
+- As announced in OTP 26.1, `0.0` is no longer considered equivalent to `-0.0`
+ when using the term equivalence operators (`=:=` and `=/=`).
+
+ The arithmetic equality operators (`==` and `/=`) and all relative
+ comparison operations still consider `0.0` equal to `-0.0`.
+
+ Own Id: OTP-18717
+ Related Id(s): PR-7728
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- The `erl` command now supports the `-S` flag, which is similar to the `-run`
+ flag, except that it will pass all arguments up to end of the command line to
+ the called function. (The `-run` flag will not pass arguments beginning with a
+ hyphen.) Another difference is that `-S` will always call a function with one
+ argument, passing an empty list if no arguments were given.
+
+ Own Id: OTP-18744
+ Related Id(s): PR-7470
+
+- Triple-Quoted Strings has been implemented as per EEP 64. See String in the
+ Reference Manual.
+
+ Example:
+
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+
+ Own Id: OTP-18750
+ Related Id(s): PR-7313, PR-7451, OTP-18746
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- Several new functions that accept funs have been added to module `timer`.
+
+ Functions `apply_after/2`, `apply_interval/2`, and `apply_repeatedly/2` accept
+ a 0-ary fun as the second argument, while functions `apply_after/3`,
+ `apply_interval/3`, and `apply_repeatedly/3` accept an n-ary fun as the second
+ and a list of n arguments for the fun as the third argument.
+
+ Own Id: OTP-18808
+ Related Id(s): PR-7649
+
+- Sigils on string literals have been implemented as per EEP 66, that is:
+ binary and string sigils in verbatim and escape characters variants, as well
+ as a default (vanilla) Sigil. All for ordinary strings and for triple-quoted
+ strings (EEP 64). See Sigils in the Reference Manual.
+
+ Examples:
+
+ 1> ~"Björn".
+ <<"Björn"/utf8>>
+ 2> ~b"Björn".
+ <<"Björn"/utf8>>
+ 3> ~S"\s*(\w+)".
+ "\\s*(\\w+)"
+ 4> ~B"\s*(\w+)".
+ <<"\\s*(\\w+)">>
+
+ Own Id: OTP-18825
+ Related Id(s): PR-7684, OTP-18750
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the `cover` tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ `line_coverage` option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ $ erl +JPcover true
+
+ There are also the following new functions for supporting native coverage:
+
+ - code:coverage_support/0
+ - code:get_coverage/2
+ - code:reset_coverage/1
+ - code:get_coverage_mode/0
+ - code:get_coverage_mode/1
+ - code:set_coverage_mode/1
+
+ Own Id: OTP-18856
+ Related Id(s): PR-7856
+
+- EEP-59 - Documentation Attributes has been implemented.
+
+ Documentation attributes can be used to document functions, types, callbacks,
+ and modules. The keyword `-moduledoc "Documentation here".` is used to
+ document modules, while `-doc "Documentation here".` can be used on top of
+ functions, types, and callbacks to document them, respectively.
+
+ - Types, callbacks, and function documentation can be set to `hidden` either
+ via `-doc false` or `-doc hidden`. When documentation attributes mark a type
+ as hidden, they will not be part of the documentation.
+ - The documentation from `moduledoc` and `doc` gets added by default to the
+ binary beam file, following the format of EEP-48.
+ - Using the compiler flag `warn_missing_doc` will raise a warning when doc.
+ attributes are missing in exported functions, types, and callbacks.
+ - `moduledoc`s and `doc`s may refer to external files to be embedded, such as
+ `-doc {file, "README.md"}.`, which refers to the file `README.md` found in
+ the current working directory.
+ - The compiler warns about exported functions whose specs refer to hidden
+ types. Thus, there will be warnings when a hidden type (meaning, the type is
+ not part of the documentation) gets used in an exported function.
+
+ Own Id: OTP-18916
+ Related Id(s): PR-7936
+
+- New `ets` functions ets:first_lookup/1, ets:next_lookup/2,
+ ets:prev_lookup/2 and ets:last_lookup/1. Example: ets:next_lookup/1 is
+ equivalent to ets:next/2 followed by ets:lookup/2 with the next key. The
+ new combined functions are more efficient and with guaranteed atomicity.
+
+ Own Id: OTP-18923
+ Related Id(s): PR-6791
+
+- The `maybe` expression is now enabled by default.
+
+ To use `maybe` as an atom, it needs to be single-quoted. Alternatively, the
+ `maybe` expression can be disabled by disabling the `maybe_expr` feature. That
+ can be done by placing the following the line at the beginning of an Erlang
+ source file:
+
+ -feature(maybe_expr, disable).
+
+ Another way to disable the `maybe_expr` feature is by passing the
+ `-disable-feature` option to `erlc`:
+
+ erlc -disable-feature maybe_expr some_file.erl
+
+ Own Id: OTP-18944
+ Related Id(s): PR-8067
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+- Safe destructive update of tuples has been implemented in the compiler and
+ runtime system. This allows the VM to update tuples in-place when it is safe
+ to do so, thus improving performance by doing less copying but also by
+ producing less garbage.
+
+ Example:
+
+ -record(rec, {a,b,c}).
+
+ update(#rec{a=needs_update,b=N}=R0) ->
+ R = R0#rec{a=up_to_date},
+ if
+ N < 0 ->
+ R#rec{c=negative};
+ N == 0 ->
+ R#rec{c=zero};
+ N > 0 ->
+ R#rec{c=positive}
+ end.
+
+ The record updates in each of the three clauses of the `if` can safely be done
+ in-place, because variable `R` is not used again.
+
+ Own Id: OTP-18972
+ Related Id(s): PR-8090
+
+- Multiple trace sessions.
+
+ Own Id: OTP-18980
+
+# POTENTIAL INCOMPATIBILITIES
+
+- The `pid` field has been removed from `erlang:fun_info/1,2`.
+
+ Own Id: OTP-18594
+ Related Id(s): PR-7274
+
+- By default, escripts will now be compiled instead of interpreted. That means
+ that the `compiler` application must be installed.
+
+ Own Id: OTP-18639
+ Related Id(s): PR-7348
+
+- Introduce default value for httpd_server name configuration to improve ease of
+ use.
+
+ Own Id: OTP-18641
+ Related Id(s): PR-7316
+
+- As announced in OTP 26.1, `0.0` is no longer considered equivalent to `-0.0`
+ when using the term equivalence operators (`=:=` and `=/=`).
+
+ The arithmetic equality operators (`==` and <c>/=</c>) and all relative
+ comparison operations still consider `0.0` equal to `-0.0`.
+
+ Own Id: OTP-18717
+ Related Id(s): PR-7728
+
+ *** HIGHLIGHT ***
+
+- Triple-Quoted Strings has been implemented as per EEP 64. See String in the
+ Reference Manual.
+
+ Example:
+
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+
+ Own Id: OTP-18750
+ Related Id(s): PR-7313, PR-7451, OTP-18746
+
+ *** HIGHLIGHT ***
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Related Id(s): GH-7706, PR-7726
+
+# OTP-27.0
+
+## Fixed Bugs and Malfunctions
+
+- As announced in OTP 26.1, `0.0` is no longer considered equivalent to `-0.0`
+ when using the term equivalence operators (`=:=` and `=/=`).
+
+ The arithmetic equality operators (`==` and <c>/=</c>) and all relative
+ comparison operations still consider `0.0` equal to `-0.0`.
+
+ Own Id: OTP-18717
+ Related Id(s): PR-7728
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Related Id(s): GH-7706, PR-7726
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+## Improvements and New Features
+
+- The `maybe` expression is now enabled by default.
+
+ To use `maybe` as an atom, it needs to be single-quoted. Alternatively, the
+ `maybe` expression can be disabled by disabling the `maybe_expr` feature. That
+ can be done by placing the following the line at the beginning of an Erlang
+ source file:
+
+ -feature(maybe_expr, disable).
+
+ Another way to disable the `maybe_expr` feature is by passing the
+ `-disable-feature` option to `erlc`:
+
+ erlc -disable-feature maybe_expr some_file.erl
+
+ Own Id: OTP-18944
+ Related Id(s): PR-8067
+
+ *** HIGHLIGHT ***
+
+# asn1-5.3
+
+## Fixed Bugs and Malfunctions
+
+- Multiple bugs has been eliminated in the specialized decode feature.
+
+ Own Id: OTP-18813
+ Related Id(s): PR-7790
+
+## Improvements and New Features
+
+- Specs have been added to all `asn1ct` API functions.
+
+ Own Id: OTP-18804
+ Related Id(s): PR-7738
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of asn1-5.3
+>
+> erts-14.0, kernel-9.0, stdlib-5.0
+
+# common_test-1.27
+
+## Improvements and New Features
+
+- Calls to ct:capture_start/0 and ct:capture_stop/0 are now synchronous to
+ ensure that all output is captured.
+
+ Own Id: OTP-18658
+ Related Id(s): PR-7380
+
+- The order in which multiple hooks are executed can now be reversed after each
+ config function. See CTH Execution Order.
+
+ Own Id: OTP-18682
+ Related Id(s): ERIERL-43, GH-7397, PR-7496
+
+- The default CSS will now include a basic dark mode handling if it is preferred
+ by the browser.
+
+ Own Id: OTP-18761
+ Related Id(s): PR-7428
+
+- `-callback` attributes have been added to `ct_suite` and `ct_hooks`.
+
+ Own Id: OTP-18781
+ Related Id(s): PR-7701
+
+- The built-in cth_log_redirect hook can now be configured to replace default
+ logger reports in terminal with HTML logs.
+
+ Own Id: OTP-18875
+ Related Id(s): PR-7891
+
+- Error handling for the `ct_property_test` framework has been enhanced.
+
+ Own Id: OTP-18881
+ Related Id(s): PR-7824
+
+- Enhance test case documentation, making it clear how a test case can be
+ failed.
+
+ Own Id: OTP-18892
+ Related Id(s): PR-7869
+
+- The failing line in the test source code is now colored to make it easier to
+ find on the screen.
+
+ Own Id: OTP-18898
+ Related Id(s): PR-7917
+
+- Function specifications and types have been added to all public API functions.
+
+ Own Id: OTP-18913
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of common_test-1.27
+>
+> compiler-6.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0,
+> kernel-8.4, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+> stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+# compiler-8.5
+
+## Fixed Bugs and Malfunctions
+
+- Generators for binary comprehensions could be evaluated before it was known
+ that they would be needed. That could result in a binary comprehensions
+ failing if a generator that should not be evaluated until later failed.
+
+ As an example, consider this module:
+
+ -module(t).
+ -export([f/0]).
+
+ f() ->
+ <<0 || _ <- [], _ <- ok, false>>.
+
+ In Erlang/OTP 26 it would fail like so:
+
+ > t:f().
+ ** exception error: bad generator ok
+ in function t:f/0 (t.erl, line 6)
+
+ In Erlang/OTP 27 it returns an empty binary:
+
+ > t:f().
+ <<>>
+
+ Own Id: OTP-18703
+ Related Id(s): GH-7494, PR-7538
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Related Id(s): GH-7706, PR-7726
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+## Improvements and New Features
+
+- The compiler now emits nicer error message for function head mismatches. For
+ example, given:
+
+ a() -> ok;
+ a(_) -> error.
+
+ Erlang/OTP 26 and earlier would emit a diagnostic similar to:
+
+ t.erl:6:1: head mismatch
+ % 6| a(_) -> error.
+ % | ^
+
+ while in Erlang/OTP 27 the diagnostic is similar to:
+
+ t.erl:6:1: head mismatch: function a with arities 0 and 1 is regarded as two distinct functions. Is the number of arguments incorrect or is the semicolon in a/0 unwanted?
+ % 6| a(_) -> error.
+ % | ^
+
+ Own Id: OTP-18648
+ Related Id(s): PR-7383
+
+ *** HIGHLIGHT ***
+
+- The compiler now optimizes creation of binaries that are known to be constant.
+
+ Consider this example:
+
+ bin() ->
+ C = char(),
+ <<C>>.
+
+ char() -> $*.
+
+ Essentially, the compiler rewrites the example to the slightly more efficient:
+
+ bin() ->
+ _ = char(),
+ <<$*>>.
+
+ char() -> $*.
+
+ Own Id: OTP-18673
+ Related Id(s): ERIERL-964, PR-7474
+
+- The compiler will now merge consecutive updates of the same record.
+
+ As an example, the body of the following function will be combined into a
+ single tuple creation instruction:
+
+ -record(r, {a,b,c,d}).
+
+ update(Value) ->
+ R0 = #r{},
+ R1 = R0#r{a=Value},
+ R2 = R1#r{b=2},
+ R2#r{c=3}.
+
+ Own Id: OTP-18680
+ Related Id(s): ERIERL-967, PR-7491, PR-8086
+
+ *** HIGHLIGHT ***
+
+- Improved the performance of the alias analysis pass.
+
+ Own Id: OTP-18714
+ Related Id(s): GH-7432, PR-7528
+
+- `-spec` attributes are now used for documentation.
+
+ Own Id: OTP-18801
+ Related Id(s): PR-7739
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the `cover` tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ `line_coverage` option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ $ erl +JPcover true
+
+ There are also the following new functions for supporting native coverage:
+
+ - code:coverage_support/0
+ - code:get_coverage/2
+ - code:reset_coverage/1
+ - code:get_coverage_mode/0
+ - code:get_coverage_mode/1
+ - code:set_coverage_mode/1
+
+ Own Id: OTP-18856
+ Related Id(s): PR-7856
+
+ *** HIGHLIGHT ***
+
+- EEP-59 - Documentation Attributes has been implemented.
+
+ Documentation attributes can be used to document functions, types, callbacks,
+ and modules. The keyword `-moduledoc "Documentation here".` is used to
+ document modules, while `-doc "Documentation here".` can be used on top of
+ functions, types, and callbacks to document them, respectively.
+
+ - Types, callbacks, and function documentation can be set to `hidden` either
+ via `-doc false` or `-doc hidden`. When documentation attributes mark a type
+ as hidden, they will not be part of the documentation.
+ - The documentation from `moduledoc` and `doc` gets added by default to the
+ binary beam file, following the format of EEP-48.
+ - Using the compiler flag `warn_missing_doc` will raise a warning when doc.
+ attributes are missing in exported functions, types, and callbacks.
+ - `moduledoc`s and `doc`s may refer to external files to be embedded, such as
+ `-doc {file, "README.md"}.`, which refers to the file `README.md` found in
+ the current working directory.
+ - The compiler warns about exported functions whose specs refer to hidden
+ types. Thus, there will be warnings when a hidden type (meaning, the type is
+ not part of the documentation) gets used in an exported function.
+
+ Own Id: OTP-18916
+ Related Id(s): PR-7936
+
+ *** HIGHLIGHT ***
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+- Safe destructive update of tuples has been implemented in the compiler and
+ runtime system. This allows the VM to update tuples in-place when it is safe
+ to do so, thus improving performance by doing less copying but also by
+ producing less garbage.
+
+ Example:
+
+ -record(rec, {a,b,c}).
+
+ update(#rec{a=needs_update,b=N}=R0) ->
+ R = R0#rec{a=up_to_date},
+ if
+ N < 0 ->
+ R#rec{c=negative};
+ N == 0 ->
+ R#rec{c=zero};
+ N > 0 ->
+ R#rec{c=positive}
+ end.
+
+ The record updates in each of the three clauses of the `if` can safely be done
+ in-place, because variable `R` is not used again.
+
+ Own Id: OTP-18972
+ Related Id(s): PR-8090
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of compiler-8.5
+>
+> crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0
+
+# crypto-5.5
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+- Removed functions `crypto_dyn_iv_init/3` and `crypto_dyn_iv_update/3` which
+ were marked as deprecated since OTP 25.
+
+ Own Id: OTP-18973
+
+- `OPENSSL_thread_stop` is called when `crypto` is purged to not leak thread
+ specific data.
+
+ Own Id: OTP-18978
+ Related Id(s): 7809
+
+> #### Full runtime dependencies of crypto-5.5
+>
+> erts-9.0, kernel-5.3, stdlib-3.9
+
+# debugger-5.4
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): PR-7441
+
+## Improvements and New Features
+
+- Type specs have been added to all API functions.
+
+ Own Id: OTP-18819
+ Related Id(s): PR-7781
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of debugger-5.4
+>
+> compiler-8.0, erts-14.3, kernel-8.0, stdlib-3.15, wx-2.0
+
+# dialyzer-5.2
+
+## Improvements and New Features
+
+- The `--gui` option for Dialyzer has been removed.
+
+ Own Id: OTP-18667
+ Related Id(s): PR-7443
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of dialyzer-5.2
+>
+> compiler-8.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0
+
+# diameter-2.4
+
+## Improvements and New Features
+
+- `-callback` attributes have been added to `diameter_app` and
+ `diameter_transport`.
+
+ Own Id: OTP-18783
+ Related Id(s): PR-7699
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of diameter-2.4
+>
+> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0
+
+# edoc-1.3
+
+## Fixed Bugs and Malfunctions
+
+- EEP 48 doc chunks now properly include links within `{@type }` macros.
+
+ Own Id: OTP-18945
+ Related Id(s): PR-8063
+
+- `@hidden` now means `hidden` in EEP 48 doc chunks instead of `none`.
+
+ Own Id: OTP-18946
+ Related Id(s): PR-8063
+
+## Improvements and New Features
+
+- There is a new `edoc_html_to_markdown` module that can be used to convert
+ EEP-48 `application/html+erlang` to Markdown.
+
+ Own Id: OTP-18947
+ Related Id(s): PR-8063
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of edoc-1.3
+>
+> erts-11.0, inets-5.10, kernel-7.0, stdlib-4.0, syntax_tools-2.0, xmerl-1.3.7
+
+# eldap-1.3
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of eldap-1.3
+>
+> asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-3.4
+
+# erl_interface-5.6
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+## Known Bugs and Problems
+
+- The `ei` API for decoding/encoding terms is not fully 64-bit compatible since
+ terms that have a representation on the external term format larger than 2 GB
+ cannot be handled.
+
+ Own Id: OTP-16607
+ Related Id(s): OTP-16608
+
+# erts-14.3
+
+## Fixed Bugs and Malfunctions
+
+- Fix bugs in how `erl -extra` interacts with passing flags via ERL\_\*FLAGS or
+ `-args_file`.
+
+ Own Id: OTP-18766
+ Related Id(s): PR-7639
+
+- Fixed a bug that prevented the emulator from building on recent versions of
+ Yocto Linux.
+
+ Own Id: OTP-18918
+ Related Id(s): PR-7952
+
+- Fix spectre mitigation configure test to work with GCC patches to always add
+ `-fcf-protection=full`.
+
+ Own Id: OTP-18928
+ Related Id(s): PR-8006
+
+## Improvements and New Features
+
+- Refactored how the JIT handles POSIX signals and how they affect thread
+ stacks, allowing us to use the native stack register for Erlang stacks on more
+ platforms.
+
+ Notably, containers built on 64-bit x86 Alpine Linux images will now perform
+ much better in sequential code. As an example, running `dialyzer` over the OTP
+ code base finishes about 15% quicker.
+
+ Own Id: OTP-18568
+ Related Id(s): PR-7174
+
+- The `instrument` module can now track allocations on a per-process or
+ per-port basis.
+
+ Own Id: OTP-18577
+ Related Id(s): PR-7236
+
+- The `pid` field has been removed from `erlang:fun_info/1,2`.
+
+ Own Id: OTP-18594
+ Related Id(s): PR-7274
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- By default, escripts will now be compiled instead of interpreted. That means
+ that the `compiler` application must be installed.
+
+ Own Id: OTP-18639
+ Related Id(s): PR-7348
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- A binary returned from the `socket` receive functions is no longer created
+ as a sub binary of an often large receive buffer binary (socket option
+ `{otp,rcvbuf}`). This avoids space waste, trusting the allocators to implement
+ reallocation efficiently.
+
+ Own Id: OTP-18642
+ Related Id(s): GH-6152, PR-7465
+
+- The default process limit has been raised to `1048576` processes.
+
+ Own Id: OTP-18699
+ Related Id(s): PR-7388
+
+- The erlang:system_monitor/2 functionality is now able to monitor long
+ message queues in the system.
+
+ Own Id: OTP-18709
+ Related Id(s): PR-7651
+
+- The `erl` command now supports the `-S` flag, which is similar to the `-run`
+ flag, except that it will pass all arguments up to end of the command line to
+ the called function. (The `-run` flag will not pass arguments beginning with a
+ hyphen.) Another difference is that `-S` will always call a function with one
+ argument, passing an empty list if no arguments were given.
+
+ Own Id: OTP-18744
+ Related Id(s): PR-7470
+
+ *** HIGHLIGHT ***
+
+- When implementing an alternative carrier for the Erlang distribution, a
+ separate input handler process may now be registered, using
+ erlang:dist_ctrl_input_handler/2, also in the case when the distribution
+ controller is a port.
+
+ Own Id: OTP-18774
+ Related Id(s): PR-7110
+
+- Add call stack trace to the error reported by erlang:process_flag/2 when
+ `max_heap_size` has been exceeded.
+
+ Own Id: OTP-18779
+ Related Id(s): PR-7592
+
+- `-callback` attributes have been added to `erl_tracer`.
+
+ Own Id: OTP-18794
+ Related Id(s): PR-7703
+
+- For `inet_backend = socket`, setting the `active` socket option alone, to
+ `once`, `true` or `N`, has been optimized, as well as the corresponding data
+ delivery.
+
+ Own Id: OTP-18835
+
+- Socket options that take string now also accept binaries.
+
+ Own Id: OTP-18849
+ Related Id(s): PR-6510
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the `cover` tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ `line_coverage` option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ $ erl +JPcover true
+
+ There are also the following new functions for supporting native coverage:
+
+ - code:coverage_support/0
+ - code:get_coverage/2
+ - code:reset_coverage/1
+ - code:get_coverage_mode/0
+ - code:get_coverage_mode/1
+ - code:set_coverage_mode/1
+
+ Own Id: OTP-18856
+ Related Id(s): PR-7856
+
+ *** HIGHLIGHT ***
+
+- Changed the default value of the command line flag `-code_path_choice Choice`
+ to `strict`.
+
+ Own Id: OTP-18894
+ Related Id(s): PR-7243
+
+- Added module loading to `erl -init_debug` printouts.
+
+ Own Id: OTP-18929
+ Related Id(s): PR-8004
+
+- Optimized code loading by moving certain operations from the code server to
+ the caller.
+
+ Own Id: OTP-18941
+ Related Id(s): PR-7981
+
+- Updated asmjit to version a465fe71ab3d0e224b2b4bd0fac69ae68ab9239d
+
+ Own Id: OTP-18942
+
+- The deprecated functions in `zlib` have been removed. That includes
+ `inflateChunk/{1,2}`, `getBufSize/1`, `setBufSize/2`, the CRC32 functions, and
+ the Adler checksum functions.
+
+ Own Id: OTP-18950
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+- Safe destructive update of tuples has been implemented in the compiler and
+ runtime system. This allows the VM to update tuples in-place when it is safe
+ to do so, thus improving performance by doing less copying but also by
+ producing less garbage.
+
+ Example:
+
+ -record(rec, {a,b,c}).
+
+ update(#rec{a=needs_update,b=N}=R0) ->
+ R = R0#rec{a=up_to_date},
+ if
+ N < 0 ->
+ R#rec{c=negative};
+ N == 0 ->
+ R#rec{c=zero};
+ N > 0 ->
+ R#rec{c=positive}
+ end.
+
+ The record updates in each of the three clauses of the `if` can safely be done
+ in-place, because variable `R` is not used again.
+
+ Own Id: OTP-18972
+ Related Id(s): PR-8090
+
+ *** HIGHLIGHT ***
+
+- The obsolete and undocumented support for opening a port to an external
+ resource by passing an atom (or a string) as first argument to `open_port()`,
+ implemented by the vanilla driver, has been removed. This feature has been
+ scheduled for removal in OTP 27 since the release of OTP 26.
+
+ Own Id: OTP-18976
+ Related Id(s): PR-7125
+
+- Add optional NIF callback `ERL_NIF_OPT_ON_UNLOAD_THREAD` to be called by all
+ scheduler thread when a NIF library is unloaded. Used for releasing thread
+ specific data. Can be set with function `enif_set_option`.
+
+ Own Id: OTP-18977
+ Related Id(s): PR-7809
+
+- Multiple trace sessions.
+
+ Own Id: OTP-18980
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of erts-14.3
+>
+> kernel-9.0, sasl-3.3, stdlib-4.1
+
+# et-1.8
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): PR-7441
+
+- Dialyzer warnings due to type specs added in `dbg` have been eliminated.
+
+ Own Id: OTP-18860
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of et-1.8
+>
+> erts-9.0, kernel-5.3, runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+# eunit-2.10
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of eunit-2.10
+>
+> erts-9.0, kernel-5.3, stdlib-3.4
+
+# ftp-1.3
+
+## Fixed Bugs and Malfunctions
+
+- Dialyzer warnings due to type specs added in `dbg` have been eliminated.
+
+ Own Id: OTP-18860
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of ftp-1.3
+>
+> erts-7.0, kernel-6.0, runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+# inets-9.2
+
+## Improvements and New Features
+
+- Introduce default value for httpd_server name configuration to improve ease of
+ use.
+
+ Own Id: OTP-18641
+ Related Id(s): PR-7316
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- With this change, `erl -S httpd` command can be used for serving current
+ directory content over HTTP.
+
+ Own Id: OTP-18727
+ Related Id(s): PR-7299
+
+- Add `-callback` attributes to `httpd`, `mod_esi` and `mod_security`.
+
+ Own Id: OTP-18786
+ Related Id(s): PR-7700
+
+- Use a relative redirect with an absolute path to prevent whoever is running
+ inets from having to configure the ServerName to match the network-reachable
+ hostname of the server.
+
+ Own Id: OTP-18809
+
+- Use proc_lib:set_label/1 to increase observability of inets processes.
+
+ Own Id: OTP-18927
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of inets-9.2
+>
+> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14,
+> ssl-9.0, stdlib-5.0, stdlib-6.0
+
+# jinterface-1.15
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+# kernel-9.3
+
+## Fixed Bugs and Malfunctions
+
+- Fixed a crash when calling file:delete/2 with an empty option list.
+
+ Own Id: OTP-18590
+ Related Id(s): PR-7220
+
+- New functions have been added to the undocumented module `inet_dns` that
+ take a flag to specify if encode/decode is for mDNS. This affects how CLASS
+ values in the private range, with the top bit set, are handled.
+
+ Own Id: OTP-18878
+ Related Id(s): GH-7718, OTP-17734
+
+- The error information for erlang:phash/2 has been corrected.
+
+ Own Id: OTP-18904
+ Related Id(s): PR-7960
+
+- `get_until` requests using the I/O protocol now correctly return a binary or
+ list when `eof` is the last item returned by the callback.
+
+ Own Id: OTP-18930
+ Related Id(s): GH-4992, PR-7993
+
+- Calling logger:add_handlers/1 with config option now works.
+
+ Own Id: OTP-18954
+ Related Id(s): GH-8061, PR-8076
+
+- The code:del_path/1 function now also works on paths added through `-pa`,
+ `-pz` , `-path` and the boot script.
+
+ Own Id: OTP-18959
+ Related Id(s): GH-6692, PR-7697
+
+## Improvements and New Features
+
+- Added file:read_file/2 with a `raw` option for reading files without going
+ through the file server.
+
+ Own Id: OTP-18589
+ Related Id(s): PR-7220
+
+- The undocumented Erlang DNS resolver library (`inet_dns` and `inet_res`) has
+ been augmented to handle IXFR, NOTIFY, UPDATE and TSIG records. With this some
+ bug fixes and code cleanup has been done, and the resolver used in the test
+ suite has been changed to Knot DNS. See the source code.
+
+ Kudos to Alexander Clouter that did almost all the work!
+
+ Own Id: OTP-18713
+ Related Id(s): GH-6985, PR-6985
+
+- The `ebin` directories for escripts are now cached.
+
+ Own Id: OTP-18778
+ Related Id(s): PR-7556
+
+- Add `-callback` attributes to `application`, `logger_handler` and
+ `logger_formatter`.
+
+ Own Id: OTP-18795
+ Related Id(s): PR-7703
+
+- Progress reports from before logger is started are now logged when log level
+ is set to debug.
+
+ Own Id: OTP-18807
+ Related Id(s): ERIERL-985, PR-7732
+
+- The code:where_is_file/2 and code:which/1 functions now check for
+ existence of the file directly instead of listing the content of each
+ directory in the code path.
+
+ Own Id: OTP-18816
+ Related Id(s): PR-7711
+
+- Type specs has been added to the `logger:Level/1,2,3` functions.
+
+ Own Id: OTP-18820
+ Related Id(s): PR-7779
+
+- For `inet_backend = socket`, setting the `active` socket option alone, to
+ `once`, `true` or `N`, has been optimized, as well as the corresponding data
+ delivery.
+
+ Own Id: OTP-18835
+
+- The shell now pages long output from the help command (`h(Module)`), auto
+ completions and the search command.
+
+ Own Id: OTP-18846
+ Related Id(s): PR-7845
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the `cover` tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ `line_coverage` option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ $ erl +JPcover true
+
+ There are also the following new functions for supporting native coverage:
+
+ - code:coverage_support/0
+ - code:get_coverage/2
+ - code:reset_coverage/1
+ - code:get_coverage_mode/0
+ - code:get_coverage_mode/1
+ - code:set_coverage_mode/1
+
+ Own Id: OTP-18856
+ Related Id(s): PR-7856
+
+ *** HIGHLIGHT ***
+
+- Optimized code loading by moving certain operations from the code server to
+ the caller.
+
+ Own Id: OTP-18941
+ Related Id(s): PR-7981
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+- Application startup has been optimized by removing an intermediary process.
+
+ Own Id: OTP-18963
+ Related Id(s): PR-8042
+
+- The undocumented and deprecated `file:pid2name` function has been removed.
+
+ Own Id: OTP-18967
+ Related Id(s): PR-8092
+
+> #### Full runtime dependencies of kernel-9.3
+>
+> crypto-5.0, erts-14.3, sasl-3.0, stdlib-6.0
+
+# megaco-4.6
+
+## Improvements and New Features
+
+- `-callback` attributes have been added to `megaco_transport`.
+
+ Own Id: OTP-18806
+ Related Id(s): PR-7740
+
+- Updated types and specs for all API modules.
+
+ Own Id: OTP-18920
+ Related Id(s): BL-322
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of megaco-4.6
+>
+> asn1-3.0, debugger-4.0, erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14,
+> stdlib-2.5
+
+# mnesia-4.24
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of mnesia-4.24
+>
+> erts-9.0, kernel-5.3, stdlib-5.0
+
+# observer-2.16
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): PR-7441
+
+## Improvements and New Features
+
+- The new function proc_lib:set_label/1 can be used to add a descriptive term
+ to any process that does not have a registered name. The name will be shown by
+ tools such as `\c:i/0`, `observer`, and it will be included in crash reports
+ produced by processes using `gen_server`, `gen_statem`, `gen_event`, and
+ `gen_fsm`.
+
+ The label for a process can be retrieved by calling proc_lib:get_label/1.
+
+ Note that those functions work on any process, not only processes that use
+ `proc_lib`.
+
+ Example:
+
+ 1> self().
+ <0.90.0>
+ 2> proc_lib:set_label(my_label).
+ ok
+ 3> i().
+ .
+ .
+ .
+ <0.90.0> erlang:apply/2 2586 75011 0
+ my_label c:pinfo/2 51
+ 4> proc_lib:get_label(self()).
+ my_label
+
+ Own Id: OTP-18789
+ Related Id(s): PR-7720, PR-8003
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of observer-2.16
+>
+> erts-14.0, et-1.5, kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
+
+# odbc-2.15
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of odbc-2.15
+>
+> erts-6.0, kernel-3.0, stdlib-2.0
+
+# os_mon-2.10
+
+## Improvements and New Features
+
+- Function specifications and types have been added to all public API functions.
+
+ Own Id: OTP-18913
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of os_mon-2.10
+>
+> erts-14.0, kernel-9.0, sasl-4.2.1, stdlib-5.0
+
+# parsetools-2.6
+
+## Improvements and New Features
+
+- The `leex` documentation has been updated to use specs for documenting the
+ generated interface.
+
+ Own Id: OTP-18796
+ Related Id(s): PR-7703
+
+- yecc now wraps the `-module` attribute with `-file` to indicate the `.yrl`
+ source file.
+
+ Own Id: OTP-18912
+ Related Id(s): PR-7963
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of parsetools-2.6
+>
+> erts-6.0, kernel-3.0, stdlib-3.4
+
+# public_key-1.16
+
+## Improvements and New Features
+
+- The `ssl` client can negotiate and handle certificate status request (OCSP
+ stapling support on the client side).
+
+ Own Id: OTP-18606
+ Related Id(s): OTP-16448, OTP-16875
+
+- Improved exception reason when public_key:cacerts_get/0 failed.
+
+ Own Id: OTP-18609
+ Related Id(s): GH-7295, PR-7202
+
+- Key customization support has been extended to allow flexibility for
+ implementers of for instance hardware security modules (HSM) or trusted
+ platform modules (TPM).
+
+ Own Id: OTP-18876
+ Related Id(s): PR-7475, PR-7898
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of public_key-1.16
+>
+> asn1-3.0, crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5
+
+# reltool-1.1
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): PR-7441
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of reltool-1.1
+>
+> erts-14.3, kernel-9.0, sasl-4.2.1, stdlib-5.0, tools-2.6.14, wx-2.3
+
+# runtime_tools-2.1
+
+## Improvements and New Features
+
+- The `instrument` module can now track allocations on a per-process or
+ per-port basis.
+
+ Own Id: OTP-18577
+ Related Id(s): PR-7236
+
+- The new function proc_lib:set_label/1 can be used to add a descriptive term
+ to any process that does not have a registered name. The name will be shown by
+ tools such as `\c:i/0`, `observer`, and it will be included in crash reports
+ produced by processes using `gen_server`, `gen_statem`, `gen_event`, and
+ `gen_fsm`.
+
+ The label for a process can be retrieved by calling proc_lib:get_label/1.
+
+ Note that those functions work on any process, not only processes that use
+ `proc_lib`.
+
+ Example:
+
+ 1> self().
+ <0.90.0>
+ 2> proc_lib:set_label(my_label).
+ ok
+ 3> i().
+ .
+ .
+ .
+ <0.90.0> erlang:apply/2 2586 75011 0
+ my_label c:pinfo/2 51
+ 4> proc_lib:get_label(self()).
+ my_label
+
+ Own Id: OTP-18789
+ Related Id(s): PR-7720, PR-8003
+
+- Type specs had been added to all `dbg` functions.
+
+ Own Id: OTP-18859
+ Related Id(s): PR-7782
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of runtime_tools-2.1
+>
+> erts-14.2, kernel-8.1, mnesia-4.12, stdlib-6.0
+
+# sasl-4.3
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of sasl-4.3
+>
+> erts-14.3, kernel-6.0, stdlib-4.0, tools-2.6.14
+
+# snmp-5.16
+
+## Improvements and New Features
+
+- `-callback` attributes have been added to modules
+ `snmpa_network_interface_filter`, `snmpa_notification_filter`,
+ `snmpm_network_interface_filter`, `snmpm_user`, and
+ `snmpa_notification_delivery_info_receiver`.
+
+ New `-type` attributes have also been added to modules `snmp`, `snmpa`,
+ `snmpm`, and `snmpa_conf` to support the previously mentioned callbacks.
+
+ Own Id: OTP-18785
+ Related Id(s): PR-7702
+
+- Updated types and specs for all API modules.
+
+ Own Id: OTP-18934
+ Related Id(s): #312
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of snmp-5.16
+>
+> crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14,
+> stdlib-5.0
+
+# ssh-5.2
+
+## Improvements and New Features
+
+- The shell now pages long output from the help command (`h(Module)`), auto
+ completions and the search command.
+
+ Own Id: OTP-18846
+ Related Id(s): PR-7845
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+- Updated types and specs for all API modules.
+
+ Own Id: OTP-18961
+
+> #### Full runtime dependencies of ssh-5.2
+>
+> crypto-5.0, erts-14.0, kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1,
+> stdlib-5.0, stdlib-5.0
+
+# ssl-11.2
+
+## Fixed Bugs and Malfunctions
+
+- Starting a TLS server without sufficient credentials (certificate or anonymous
+ cipher) would work, but it was impossible to connect to it.
+
+ This has been corrected to return an error instead of starting the server.
+
+ Own Id: OTP-18887
+ Related Id(s): GH-7493, PR-7918
+
+## Improvements and New Features
+
+- The `ssl` client can negotiate and handle certificate status request (OCSP
+ stapling support on the client side).
+
+ Own Id: OTP-18606
+ Related Id(s): OTP-16448, OTP-16875
+
+- Added ssl_crl_cache_api:lookup/2 as an optional `-callback` attribute.
+
+ Own Id: OTP-18788
+ Related Id(s): PR-7700
+
+- Key customization support has been extended to allow flexibility for
+ implementers of for instance hardware security modules (HSM) or trusted
+ platform modules (TPM).
+
+ Own Id: OTP-18876
+ Related Id(s): PR-7475, PR-7898
+
+- The proc_lib:set_label/1 function is now used to increase observability of
+ `ssl` processes.
+
+ Own Id: OTP-18879
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of ssl-11.2
+>
+> crypto-5.0, erts-14.3, inets-5.10.7, kernel-9.0, public_key-1.16,
+> runtime_tools-1.15.1, stdlib-6.0
+
+# stdlib-6.0
+
+## Fixed Bugs and Malfunctions
+
+- The specs in module `binary` has been updated to reflect what is allowed by
+ the documentation.
+
+ Own Id: OTP-18684
+ Related Id(s): PR-7481
+
+- Several functions in the `binary` module would accept arguments of the wrong
+ type under certain circumstances. In this release, they now raise an exception
+ when incorrect types are given.
+
+ The following functions would accept an invalid pattern if the subject binary
+ was empty or if the `{scope,{0,0}}` option was given: `binary:match/2,3`,
+ `binary:matches/2,3`, `binary:replace/3,4`, and `binary:split/2,3`
+
+ The call `binary:copy(<<1:1>>, 0)` would return an empty binary instead of
+ raising an exception. Similarly, calls to `binary:part/2,3` attempting to
+ extract 0 bytes at position 0 of a bitstring would return an empty binary
+ instead of raising an exception.
+
+ Own Id: OTP-18743
+ Related Id(s): PR-7607, PR-7628
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Related Id(s): GH-7706, PR-7726
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- `get_until` requests using the I/O protocol now correctly return a binary or
+ list when `eof` is the last item returned by the callback.
+
+ Own Id: OTP-18930
+ Related Id(s): GH-4992, PR-7993
+
+## Improvements and New Features
+
+- The functions `is_equal/2`, `map/2`, and `filtermap/2` have been added to the
+ modules `sets`, `ordsets`, and `gb_sets`.
+
+ Own Id: OTP-18622
+ Related Id(s): GH-7183, GH-7232
+
+ *** HIGHLIGHT ***
+
+- The compiler now emits nicer error message for function head mismatches. For
+ example, given:
+
+ a() -> ok;
+ a(_) -> error.
+
+ Erlang/OTP 26 and earlier would emit a diagnostic similar to:
+
+ t.erl:6:1: head mismatch
+ % 6| a(_) -> error.
+ % | ^
+
+ while in Erlang/OTP 27 the diagnostic is similar to:
+
+ t.erl:6:1: head mismatch: function a with arities 0 and 1 is regarded as two distinct functions. Is the number of arguments incorrect or is the semicolon in a/0 unwanted?
+ % 6| a(_) -> error.
+ % | ^
+
+ Own Id: OTP-18648
+ Related Id(s): PR-7383
+
+ *** HIGHLIGHT ***
+
+- `zip:create/2,3` will now tolerate POSIX timestamps in the provided
+ `file_info` records.
+
+ Own Id: OTP-18668
+
+- The callback function gen_statem:handle_event/4 has been cached in the
+ `gen_statem` engine to optimize callback call speed.
+
+ Own Id: OTP-18671
+ Related Id(s): PR-7419
+
+- The type beam_lib:beam/0 is now exported.
+
+ Own Id: OTP-18716
+ Related Id(s): PR-7534
+
+- The documentation for the `binary` module has been improved.
+
+ Own Id: OTP-18741
+ Related Id(s): PR-7585
+
+- `binary:replace/3,4` now supports using a fun for supplying the replacement
+ binary.
+
+ Own Id: OTP-18742
+ Related Id(s): PR-7590
+
+- Triple-Quoted Strings has been implemented as per EEP 64. See String in the
+ Reference Manual.
+
+ Example:
+
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+
+ Own Id: OTP-18750
+ Related Id(s): PR-7313, PR-7451, OTP-18746
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- The new function proc_lib:set_label/1 can be used to add a descriptive term
+ to any process that does not have a registered name. The name will be shown by
+ tools such as `\c:i/0`, `observer`, and it will be included in crash reports
+ produced by processes using `gen_server`, `gen_statem`, `gen_event`, and
+ `gen_fsm`.
+
+ The label for a process can be retrieved by calling proc_lib:get_label/1.
+
+ Note that those functions work on any process, not only processes that use
+ `proc_lib`.
+
+ Example:
+
+ 1> self().
+ <0.90.0>
+ 2> proc_lib:set_label(my_label).
+ ok
+ 3> i().
+ .
+ .
+ .
+ <0.90.0> erlang:apply/2 2586 75011 0
+ my_label c:pinfo/2 51
+ 4> proc_lib:get_label(self()).
+ my_label
+
+ Own Id: OTP-18789
+ Related Id(s): PR-7720, PR-8003
+
+- `-callback` attributes has been added to modules `sys` and `erl_error`.
+
+ Own Id: OTP-18793
+ Related Id(s): PR-7703
+
+- Several new functions that accept funs have been added to module `timer`.
+
+ Functions `apply_after/2`, `apply_interval/2`, and `apply_repeatedly/2` accept
+ a 0-ary fun as the second argument, while functions `apply_after/3`,
+ `apply_interval/3`, and `apply_repeatedly/3` accept an n-ary fun as the second
+ and a list of n arguments for the fun as the third argument.
+
+ Own Id: OTP-18808
+ Related Id(s): PR-7649
+
+ *** HIGHLIGHT ***
+
+- Sigils on string literals have been implemented as per EEP 66, that is:
+ binary and string sigils in verbatim and escape characters variants, as well
+ as a default (vanilla) Sigil. All for ordinary strings and for triple-quoted
+ strings (EEP 64). See Sigils in the Reference Manual.
+
+ Examples:
+
+ 1> ~"Björn".
+ <<"Björn"/utf8>>
+ 2> ~b"Björn".
+ <<"Björn"/utf8>>
+ 3> ~S"\s*(\w+)".
+ "\\s*(\\w+)"
+ 4> ~B"\s*(\w+)".
+ <<"\\s*(\\w+)">>
+
+ Own Id: OTP-18825
+ Related Id(s): PR-7684, OTP-18750
+
+ *** HIGHLIGHT ***
+
+- Functions shell:default_multiline_prompt/1, shell:inverted_space_prompt/1,
+ and shell:prompt_width/1 have been exported to help with custom prompt
+ implementations.
+
+ Own Id: OTP-18834
+ Related Id(s): PR-7675, PR-7816
+
+- The shell now pages long output from the help command (`h(Module)`), auto
+ completions and the search command.
+
+ Own Id: OTP-18846
+ Related Id(s): PR-7845
+
+- The `M-h` hotkey (Alt/Option-h) now outputs help for the module or function
+ directly before the cursor.
+
+ Own Id: OTP-18847
+ Related Id(s): PR-7846
+
+- Added support for adding a custom code formatter that formats your multi-line
+ shell commands in your preferred formatting on submission. See
+ `shell:format_shell_func/` and shell:erl_pp_format_func/1.
+
+ Own Id: OTP-18848
+ Related Id(s): PR-7847
+
+- Added shell functions for viewing, forgetting and saving locally defined
+ functions, types and records.
+
+ Own Id: OTP-18852
+ Related Id(s): PR-7844
+
+- Added string:jaro_similarity/2, which can be used to calculate the
+ similarity between two strings.
+
+ Own Id: OTP-18865
+ Related Id(s): PR-7879
+
+- The new function ets:update_element/4 is similar to ets:update_element/3,
+ but takes a default tuple as the fourth argument, which will be inserted if no
+ previous record with that key exists.
+
+ Own Id: OTP-18870
+ Related Id(s): PR-7857
+
+- Added functions to retrieve the next higher or lower key/element from
+ `gb_trees` and `gb_sets`, as well as returning iterators that start at
+ given keys/elements.
+
+ Own Id: OTP-18874
+ Related Id(s): PR-7745
+
+- When he shell built-in function `c/1,2` is used to re-compile a module,
+ the current working directory of the original compilation is now added to the
+ include path.
+
+
+ Own Id: OTP-18908
+ Related Id(s): PR-7957
+
+- The `timer` module now uses a private table for its internal state, slightly
+ improving its performance.
+
+ Own Id: OTP-18914
+ Related Id(s): PR-7973
+
+- EEP-59 - Documentation Attributes has been implemented.
+
+ Documentation attributes can be used to document functions, types, callbacks,
+ and modules. The keyword `-moduledoc "Documentation here".` is used to
+ document modules, while `-doc "Documentation here".` can be used on top of
+ functions, types, and callbacks to document them, respectively.
+
+ - Types, callbacks, and function documentation can be set to `hidden` either
+ via `-doc false` or `-doc hidden`. When documentation attributes mark a type
+ as hidden, they will not be part of the documentation.
+ - The documentation from `moduledoc` and `doc` gets added by default to the
+ binary beam file, following the format of EEP-48.
+ - Using the compiler flag `warn_missing_doc` will raise a warning when doc.
+ attributes are missing in exported functions, types, and callbacks.
+ - `moduledoc`s and `doc`s may refer to external files to be embedded, such as
+ `-doc {file, "README.md"}.`, which refers to the file `README.md` found in
+ the current working directory.
+ - The compiler warns about exported functions whose specs refer to hidden
+ types. Thus, there will be warnings when a hidden type (meaning, the type is
+ not part of the documentation) gets used in an exported function.
+
+ Own Id: OTP-18916
+ Related Id(s): PR-7936
+
+ *** HIGHLIGHT ***
+
+- New `ets` functions ets:first_lookup/1, ets:next_lookup/2,
+ ets:prev_lookup/2 and ets:last_lookup/1. Example: ets:next_lookup/1 is
+ equivalent to ets:next/2 followed by ets:lookup/2 with the next key. The
+ new combined functions are more efficient and with guaranteed atomicity.
+
+ Own Id: OTP-18923
+ Related Id(s): PR-6791
+
+ *** HIGHLIGHT ***
+
+- The `maybe` expression is now enabled by default.
+
+ To use `maybe` as an atom, it needs to be single-quoted. Alternatively, the
+ `maybe` expression can be disabled by disabling the `maybe_expr` feature. That
+ can be done by placing the following the line at the beginning of an Erlang
+ source file:
+
+ -feature(maybe_expr, disable).
+
+ Another way to disable the `maybe_expr` feature is by passing the
+ `-disable-feature` option to `erlc`:
+
+ erlc -disable-feature maybe_expr some_file.erl
+
+ Own Id: OTP-18944
+ Related Id(s): PR-8067
+
+ *** HIGHLIGHT ***
+
+- The compiler will now raise a warning when updating record/map literals. As an
+ example, consider this module:
+
+ -module(t).
+ -export([f/0]).
+ -record(r, {a,b,c}).
+
+ f() ->
+ #r{a=1}#r{b=2}.
+
+ The compiler raises the following warning:
+
+ 1> c(t).
+ t.erl:6:12: Warning: expression updates a literal
+ % 6| #r{a=1}#r{b=2}.
+ % | ^
+
+ Own Id: OTP-18951
+ Related Id(s): PR-8069
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of stdlib-6.0
+>
+> compiler-5.0, crypto-4.5, erts-14.3, kernel-9.3, sasl-3.0
+
+# syntax_tools-3.2
+
+## Fixed Bugs and Malfunctions
+
+- The `epp_dodger` module can now handle the `maybe` and `else` keywords.
+
+ Own Id: OTP-18608
+ Related Id(s): GH-7266, PR-7267
+
+- Reverting a `#wrapper` will no longer throw away changes made to
+ positions/annotations.
+
+ Own Id: OTP-18805
+ Related Id(s): PR-7398
+
+## Improvements and New Features
+
+- The type erl_syntax:annotation_or_location/0 is now exported.
+
+ Own Id: OTP-18715
+ Related Id(s): PR-7535
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of syntax_tools-3.2
+>
+> compiler-7.0, erts-9.0, kernel-5.0, stdlib-4.0
+
+# tftp-1.2
+
+## Improvements and New Features
+
+- There is now a new `tftp_logger` callback behavior module.
+
+ Own Id: OTP-18787
+ Related Id(s): PR-7700
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of tftp-1.2
+>
+> erts-6.0, kernel-6.0, stdlib-5.0
+
+# tools-4.0
+
+## Fixed Bugs and Malfunctions
+
+- Dialyzer warnings due to type specs added in `dbg` have been eliminated.
+
+ Own Id: OTP-18860
+
+## Improvements and New Features
+
+- Triple-Quoted Strings has been implemented as per EEP 64. See String in the
+ Reference Manual.
+
+ Example:
+
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+
+ Own Id: OTP-18750
+ Related Id(s): PR-7313, PR-7451, OTP-18746
+
+ *** HIGHLIGHT ***
+
+ *** POTENTIAL INCOMPATIBILITY ***
+
+- There is a new tool `tprof`, which combines the functionality of `eprof`
+ and `cprof` under one interface. It also adds heap profiling.
+
+ Own Id: OTP-18756
+ Related Id(s): PR-6639
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the `cover` tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ `line_coverage` option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ $ erl +JPcover true
+
+ There are also the following new functions for supporting native coverage:
+
+ - code:coverage_support/0
+ - code:get_coverage/2
+ - code:reset_coverage/1
+ - code:get_coverage_mode/0
+ - code:get_coverage_mode/1
+ - code:set_coverage_mode/1
+
+ Own Id: OTP-18856
+ Related Id(s): PR-7856
+
+ *** HIGHLIGHT ***
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of tools-4.0
+>
+> compiler-8.5, erts-14.3, erts-14.3, kernel-9.3, runtime_tools-2.1, stdlib-6.0
+
+# wx-2.5
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of wx-2.5
+>
+> erts-12.0, kernel-8.0, stdlib-5.0
+
+# xmerl-1.4
+
+## Improvements and New Features
+
+- Function specifications and types have been added to all public API functions.
+
+ Own Id: OTP-18913
+
+- As an alternative to `xmerl_xml`, a new export module `xmerl_xml_indent` that
+ provides out-of-the box indented output has been added.
+
+ Own Id: OTP-18922
+ Related Id(s): PR-7942
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): PR-8026
+
+ *** HIGHLIGHT ***
+
+> #### Full runtime dependencies of xmerl-1.4
+>
+> erts-6.0, kernel-3.0, stdlib-2.5
+
diff --git a/release-notes/OTP-27.0-rc2.README.txt b/release-notes/OTP-27.0-rc2.README.txt
new file mode 100644
index 0000000..b44a5f0
--- /dev/null
+++ b/release-notes/OTP-27.0-rc2.README.txt
@@ -0,0 +1,3075 @@
+```
+Inital Release: OTP 27.0
+Git Tag: OTP-27.0
+Date: 2024-03-21
+Trouble Report Id: OTP-16607, OTP-18568, OTP-18577, OTP-18589,
+ OTP-18590, OTP-18594, OTP-18606, OTP-18608,
+ OTP-18609, OTP-18622, OTP-18639, OTP-18641,
+ OTP-18642, OTP-18648, OTP-18658, OTP-18665,
+ OTP-18667, OTP-18668, OTP-18671, OTP-18673,
+ OTP-18680, OTP-18682, OTP-18684, OTP-18699,
+ OTP-18703, OTP-18709, OTP-18713, OTP-18714,
+ OTP-18715, OTP-18716, OTP-18717, OTP-18727,
+ OTP-18741, OTP-18742, OTP-18743, OTP-18744,
+ OTP-18750, OTP-18756, OTP-18761, OTP-18766,
+ OTP-18774, OTP-18778, OTP-18779, OTP-18781,
+ OTP-18783, OTP-18784, OTP-18785, OTP-18786,
+ OTP-18787, OTP-18788, OTP-18789, OTP-18793,
+ OTP-18794, OTP-18795, OTP-18796, OTP-18801,
+ OTP-18804, OTP-18805, OTP-18806, OTP-18807,
+ OTP-18808, OTP-18809, OTP-18813, OTP-18816,
+ OTP-18819, OTP-18820, OTP-18825, OTP-18831,
+ OTP-18834, OTP-18835, OTP-18846, OTP-18847,
+ OTP-18848, OTP-18849, OTP-18852, OTP-18856,
+ OTP-18859, OTP-18860, OTP-18865, OTP-18870,
+ OTP-18874, OTP-18875, OTP-18876, OTP-18878,
+ OTP-18879, OTP-18881, OTP-18884, OTP-18887,
+ OTP-18892, OTP-18894, OTP-18898, OTP-18904,
+ OTP-18908, OTP-18912, OTP-18913, OTP-18914,
+ OTP-18916, OTP-18918, OTP-18920, OTP-18922,
+ OTP-18923, OTP-18927, OTP-18928, OTP-18929,
+ OTP-18930, OTP-18934, OTP-18938, OTP-18941,
+ OTP-18942, OTP-18943, OTP-18944, OTP-18945,
+ OTP-18946, OTP-18947, OTP-18950, OTP-18951,
+ OTP-18954, OTP-18955, OTP-18959, OTP-18961,
+ OTP-18963, OTP-18965, OTP-18966, OTP-18967,
+ OTP-18968, OTP-18969, OTP-18972, OTP-18973,
+ OTP-18975, OTP-18976, OTP-18977, OTP-18978,
+ OTP-18980, OTP-18981, OTP-18984, OTP-18987,
+ OTP-18989, OTP-18992, OTP-18993, OTP-18994,
+ OTP-18995, OTP-18998, OTP-19001, OTP-19004,
+ OTP-19005, OTP-19010, OTP-19014, OTP-19016,
+ OTP-19017, OTP-19018, OTP-19020, OTP-19022,
+ OTP-19025, OTP-19026, OTP-19027, OTP-19029,
+ OTP-19030
+Seq num: BL-312, BL-322, ERIERL-43, ERIERL-964,
+ ERIERL-967, ERIERL-985, GH-4992, GH-6152,
+ GH-6692, GH-6979, GH-6985, GH-7183, GH-7232,
+ GH-7266, GH-7295, GH-7397, GH-7432, GH-7438,
+ GH-7493, GH-7494, GH-7706, GH-7718, GH-7972,
+ GH-8058, GH-8061, GH-8066, GH-8159, GH-8166,
+ OTP-16448, OTP-16608, OTP-16875, OTP-17734,
+ OTP-18746, OTP-18750, OTP-18835, PR-6510,
+ PR-6639, PR-6658, PR-6791, PR-6985, PR-7110,
+ PR-7125, PR-7174, PR-7202, PR-7220, PR-7236,
+ PR-7243, PR-7267, PR-7274, PR-7299, PR-7313,
+ PR-7316, PR-7348, PR-7380, PR-7383, PR-7388,
+ PR-7398, PR-7419, PR-7428, PR-7441, PR-7443,
+ PR-7447, PR-7451, PR-7465, PR-7470, PR-7474,
+ PR-7475, PR-7481, PR-7491, PR-7496, PR-7528,
+ PR-7534, PR-7535, PR-7538, PR-7556, PR-7585,
+ PR-7590, PR-7592, PR-7607, PR-7628, PR-7639,
+ PR-7649, PR-7651, PR-7675, PR-7684, PR-7697,
+ PR-7699, PR-7700, PR-7701, PR-7702, PR-7703,
+ PR-7711, PR-7720, PR-7726, PR-7728, PR-7732,
+ PR-7738, PR-7739, PR-7740, PR-7745, PR-7779,
+ PR-7781, PR-7782, PR-7790, PR-7809, PR-7816,
+ PR-7824, PR-7844, PR-7845, PR-7846, PR-7847,
+ PR-7856, PR-7857, PR-7869, PR-7879, PR-7891,
+ PR-7898, PR-7917, PR-7918, PR-7936, PR-7942,
+ PR-7952, PR-7957, PR-7960, PR-7963, PR-7973,
+ PR-7977, PR-7981, PR-7993, PR-8003, PR-8004,
+ PR-8006, PR-8026, PR-8035, PR-8042, PR-8048,
+ PR-8063, PR-8067, PR-8069, PR-8076, PR-8086,
+ PR-8090, PR-8091, PR-8092, PR-8093, PR-8095,
+ PR-8103, PR-8111, PR-8112, PR-8155, PR-8156,
+ PR-8164, PR-8168, PR-8177, PR-8182, PR-8205,
+ PR-8241
+System: OTP
+Release: 27
+Application: asn1-5.3, common_test-1.27, compiler-8.5,
+ crypto-5.5, debugger-5.4, dialyzer-5.2,
+ diameter-2.4, edoc-1.3, eldap-1.2.13,
+ erl_interface-5.5.2, erts-14.3, et-1.7.1,
+ eunit-2.9.1, ftp-1.2.2, inets-9.2,
+ jinterface-1.14.1, kernel-9.3, megaco-4.6,
+ mnesia-4.23.1, observer-2.16, odbc-2.14.3,
+ os_mon-2.10, parsetools-2.6, public_key-1.16,
+ reltool-1.0.1, runtime_tools-2.1, sasl-4.2.2,
+ snmp-5.16, ssh-5.2, ssl-11.2, stdlib-6.0,
+ syntax_tools-3.2, tftp-1.2, tools-4.0,
+ wx-2.4.2, xmerl-1.4
+Predecessor: OTP
+```
+
+Check out the git tag OTP-27.0, and build a full OTP system including
+documentation.
+
+# HIGHLIGHTS
+
+- The functions `is_equal/2`, `map/2`, and `filtermap/2` have been added to the
+ modules [`sets`], [`ordsets`], and [`gb_sets`].
+
+ Own Id: OTP-18622
+ Application(s): stdlib
+ Related Id(s): [GH-7183], [GH-7232]
+
+- The compiler now emits nicer error message for function head mismatches. For
+ example, given:
+
+ ```erlang
+ a() -> ok;
+ a(_) -> error.
+ ```
+
+ Erlang/OTP 26 and earlier would emit a diagnostic similar to:
+
+ ```text
+ t.erl:6:1: head mismatch
+ % 6| a(_) -> error.
+ % | ^
+ ```
+
+ while in Erlang/OTP 27 the diagnostic is similar to:
+
+ ```text
+ t.erl:6:1: head mismatch: function a with arities 0 and 1 is regarded as two distinct functions. Is the number of arguments incorrect or is the semicolon in a/0 unwanted?
+ % 6| a(_) -> error.
+ % | ^
+ ```
+
+ Own Id: OTP-18648
+ Application(s): compiler, stdlib
+ Related Id(s): [PR-7383]
+
+- The compiler will now merge consecutive updates of the same record.
+
+ As an example, the body of the following function will be combined into a
+ single tuple creation instruction:
+
+ ```erlang
+ -record(r, {a,b,c,d}).
+
+ update(Value) ->
+ R0 = #r{},
+ R1 = R0#r{a=Value},
+ R2 = R1#r{b=2},
+ R2#r{c=3}.
+ ```
+
+ Own Id: OTP-18680
+ Application(s): compiler
+ Related Id(s): ERIERL-967, [PR-7491], [PR-8086]
+
+- As announced in OTP 26.1, `0.0` is no longer considered equivalent to `-0.0`
+ when using the term equivalence operators (`=:=` and `=/=`).
+
+ The arithmetic equality operators (`==` and `/=`) and all relative comparison
+ operations still consider `0.0` equal to `-0.0`.
+
+ Own Id: OTP-18717
+ Application(s): otp
+ Related Id(s): [PR-7728]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- The `erl` command now supports the `-S` flag, which is similar to the `-run`
+ flag, except that it will pass all arguments up to end of the command line to
+ the called function. (The `-run` flag will not pass arguments beginning with a
+ hyphen.) Another difference is that `-S` will always call a function with one
+ argument, passing an empty list if no arguments were given.
+
+ Own Id: OTP-18744
+ Application(s): erts
+ Related Id(s): [PR-7470]
+
+- Triple-Quoted Strings has been implemented as per [EEP 64]. See String in the
+ Reference Manual.
+
+ Example:
+
+ ```erlang
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+ ```
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ ```text
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+ ```
+
+ Own Id: OTP-18750
+ Application(s): stdlib, tools
+ Related Id(s): [PR-7313], [PR-7451], OTP-18746
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- Several new functions that accept funs have been added to module [`timer`].
+
+ Functions `apply_after/2`, `apply_interval/2`, and `apply_repeatedly/2` accept
+ a nullary fun as the second argument, while functions `apply_after/3`,
+ `apply_interval/3`, and `apply_repeatedly/3` accept an n-ary fun as the second
+ and a list of n arguments for the fun as the third argument.
+
+ Own Id: OTP-18808
+ Application(s): stdlib
+ Related Id(s): [PR-7649]
+
+- Sigils on string literals have been implemented as per [EEP 66], that is:
+ binary and string sigils in verbatim and escape characters variants, as well
+ as a default (vanilla) Sigil. All for ordinary strings and for triple-quoted
+ strings (EEP 64). See Sigils in the Reference Manual.
+
+ Examples:
+
+ ```erlang
+ 1> ~"Björn".
+ <<"Björn"/utf8>>
+ 2> ~b"Björn".
+ <<"Björn"/utf8>>
+ 3> ~S"\s*(\w+)".
+ "\\s*(\\w+)"
+ 4> ~B"\s*(\w+)".
+ <<"\\s*(\\w+)">>
+ ```
+
+ Own Id: OTP-18825
+ Application(s): stdlib
+ Related Id(s): [PR-7684], OTP-18750
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the [`cover`] tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ [`line_coverage`] option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ ```text
+ $ erl +JPcover true
+ ```
+
+ There are also the following new functions for supporting native coverage:
+
+ - `code:coverage_support/0`
+ - `code:get_coverage/2`
+ - `code:reset_coverage/1`
+ - `code:get_coverage_mode/0`
+ - `code:get_coverage_mode/1`
+ - `code:set_coverage_mode/1`
+
+ Own Id: OTP-18856
+ Application(s): compiler, erts, kernel, tools
+ Related Id(s): [PR-7856]
+
+- [EEP-59 - Documentation Attributes] has been implemented.
+
+ Documentation attributes can be used to document functions, types, callbacks,
+ and modules. The keyword `-moduledoc "Documentation here".` is used to
+ document modules, while `-doc "Documentation here".` can be used on top of
+ functions, types, and callbacks to document them, respectively.
+
+ - Types, callbacks, and function documentation can be set to `hidden` either
+ via `-doc false` or `-doc hidden`. When documentation attributes mark a type
+ as hidden, they will not be part of the documentation.
+ - The documentation from `moduledoc` and `doc` gets added by default to the
+ binary beam file, following the format of [EEP-48].
+ - Using the compiler flag `warn_missing_doc` will raise a warning when `-doc`
+ attributes are missing in exported functions, types, and callbacks.
+ - Using the compiler flag `warn_missing_spec_documented` will raise a warning
+ when spec attributes are missing in documented functions, types, and
+ callbacks.
+ - `moduledoc`s and `doc`s may refer to external files to be embedded, such as
+ `-doc {file, "README.md"}.`, which refers to the file `README.md` found in
+ the current working directory.
+ - The compiler warns about exported functions whose specs refer to hidden
+ types. Thus, there will be warnings when a hidden type (meaning, the type is
+ not part of the documentation) gets used in an exported function.
+
+ Own Id: OTP-18916
+ Application(s): compiler, stdlib
+ Related Id(s): [PR-7936]
+
+- New [`ets`] functions `ets:first_lookup/1`, `ets:next_lookup/2`,
+ `ets:prev_lookup/2` and `ets:last_lookup/1`. Example: `ets:next_lookup/1` is
+ equivalent to `ets:next/2` followed by `ets:lookup/2` with the next key. The
+ new combined functions are more efficient and with guaranteed atomicity.
+
+ Own Id: OTP-18923
+ Application(s): stdlib
+ Related Id(s): [PR-6791]
+
+- The `maybe` expression is now enabled by default.
+
+ To use `maybe` as an atom, it needs to be single-quoted. Alternatively, the
+ `maybe` expression can be disabled by disabling the `maybe_expr` feature. That
+ can be done by placing the following the line at the beginning of an Erlang
+ source file:
+
+ ```erlang
+ -feature(maybe_expr, disable).
+ ```
+
+ Another way to disable the `maybe_expr` feature is by passing the
+ `-disable-feature` option to `erlc`:
+
+ ```text
+ erlc -disable-feature maybe_expr some_file.erl
+ ```
+
+ Own Id: OTP-18944
+ Application(s): otp, stdlib
+ Related Id(s): [PR-8067]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Application(s): asn1, common_test, compiler, crypto, debugger, dialyzer,
+ diameter, edoc, eldap, erl_interface, erts, et, eunit, ftp, inets, jinterface,
+ kernel, megaco, mnesia, observer, odbc, os_mon, parsetools, public_key,
+ reltool, runtime_tools, sasl, snmp, ssh, ssl, stdlib, syntax_tools, tftp,
+ tools, wx, xmerl
+ Related Id(s): [PR-8026]
+
+- Safe destructive update of tuples has been implemented in the compiler and
+ runtime system. This allows the VM to update tuples in-place when it is safe
+ to do so, thus improving performance by doing less copying but also by
+ producing less garbage.
+
+ Example:
+
+ ```erlang
+ -record(rec, {a,b,c}).
+
+ update(#rec{a=needs_update,b=N}=R0) ->
+ R = R0#rec{a=up_to_date},
+ if
+ N < 0 ->
+ R#rec{c=negative};
+ N == 0 ->
+ R#rec{c=zero};
+ N > 0 ->
+ R#rec{c=positive}
+ end.
+ ```
+
+ The record updates in each of the three clauses of the `if` can safely be done
+ in-place, because variable `R` is not used again.
+
+ Own Id: OTP-18972
+ Application(s): compiler, erts
+ Related Id(s): [PR-8090]
+
+- Multiple trace sessions.
+
+ Own Id: OTP-18980
+ Application(s): erts
+
+- The `jer` (JSON Encoding Rules) for ASN.1 now use the new [`json`] module for
+ encoding and decoding JSON. Thus, there is no longer any need for an external
+ JSON library.
+
+ Own Id: OTP-19018
+ Application(s): asn1
+ Related Id(s): [PR-8241]
+
+- There is a new module [`json`] for encoding and decoding [JSON].
+
+ Both encoding and decoding can be customized. Decoding can be done in a
+ SAX-like fashion and handle multiple documents and streams of data.
+
+ Own Id: OTP-19020
+ Application(s): stdlib
+ Related Id(s): [PR-8111]
+
+# POTENTIAL INCOMPATIBILITIES
+
+- The `pid` field has been removed from `erlang:fun_info/1,2`.
+
+ Own Id: OTP-18594
+ Application(s): erts
+ Related Id(s): [PR-7274]
+
+- By default, escripts will now be compiled instead of interpreted. That means
+ that the `compiler` application must be installed.
+
+ Own Id: OTP-18639
+ Application(s): erts
+ Related Id(s): [PR-7348]
+
+- Introduced a default value for httpd_server name configuration to improve ease
+ of use.
+
+ Own Id: OTP-18641
+ Application(s): inets
+ Related Id(s): [PR-7316]
+
+- As announced in OTP 26.1, `0.0` is no longer considered equivalent to `-0.0`
+ when using the term equivalence operators (`=:=` and `=/=`).
+
+ The arithmetic equality operators (`==` and `/=`) and all relative comparison
+ operations still consider `0.0` equal to `-0.0`.
+
+ Own Id: OTP-18717
+ Application(s): otp
+ Related Id(s): [PR-7728]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Triple-Quoted Strings has been implemented as per [EEP 64]. See String in the
+ Reference Manual.
+
+ Example:
+
+ ```erlang
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+ ```
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ ```text
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+ ```
+
+ Own Id: OTP-18750
+ Application(s): stdlib, tools
+ Related Id(s): [PR-7313], [PR-7451], OTP-18746
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Application(s): compiler, otp, stdlib
+ Related Id(s): [GH-7706], [PR-7726]
+
+- The existing experimental support for archive files will be changed in a
+ future release. The support for having an archive in an escript will remain,
+ but the support for using archives in a release will either become more
+ limited or completely removed.
+
+ As of Erlang/OTP 27, the function `code:lib_dir/2`, the `-code_path_choice`
+ flag, and using [`erl_prim_loader`] for reading members of an archive are
+ deprecated.
+
+ To remain compatible with future version of Erlang/OTP `escript` scripts that
+ need to retrieve data files from its archive should use `escript:extract/2`
+ instead of `erl_prim_loader` and `code:lib_dir/2`.
+
+ Own Id: OTP-18966
+ Application(s): kernel, otp
+ Related Id(s): [PR-8091]
+
+- The order in which the compiler looks up options has changed.
+
+ When there is a conflict in the compiler options given in the `-compile()`
+ attribute and options given to the compiler, the options given in the
+ `-compile()` attribute overrides the option given to the compiler, which in
+ turn overrides options given in the `ERL_COMPILER_OPTIONS` environment
+ variable.
+
+ Example:
+
+ If `some_module.erl` has the following attribute:
+
+ ```erlang
+ -compile([nowarn_missing_spec]).
+ ```
+
+ and the compiler is invoked like so:
+
+ ```text
+ % erlc +warn_missing_spec some_module.erl
+ ```
+
+ no warnings will be issued for functions that do not have any specs.
+
+ Own Id: OTP-18968
+ Application(s): compiler
+ Related Id(s): [GH-6979], [PR-8093]
+
+- The implementations of `http_uri:encode/1` and `http_uri:decode/1` are now
+ replaced with their equivalent, but bug free versions from module
+ [`uri_string`], namely `uri_string:quote/1` and `uri_string:unquote/1`.
+
+ Own Id: OTP-19022
+ Application(s): inets
+
+- For security reasons remove CBC ciphers form default supported cipher suites
+ in TLS-1.2
+
+ Own Id: OTP-19025
+ Application(s): ssl
+
+- Enhance simple_one_for_one error handling. Avoid crash of transient child
+ returning ignore for init-function. Also disallow automatic shutdown as it
+ does not make sense for this supervisor type, may potentially be backwards
+ incompatible for no intended uses, that is supervisors will not remain
+ bug-compatible.
+
+ Own Id: OTP-19029
+ Application(s): stdlib
+
+# OTP-27.0
+
+## Fixed Bugs and Malfunctions
+
+- As announced in OTP 26.1, `0.0` is no longer considered equivalent to `-0.0`
+ when using the term equivalence operators (`=:=` and `=/=`).
+
+ The arithmetic equality operators (`==` and `/=`) and all relative comparison
+ operations still consider `0.0` equal to `-0.0`.
+
+ Own Id: OTP-18717
+ Related Id(s): [PR-7728]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Related Id(s): [GH-7706], [PR-7726]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+## Improvements and New Features
+
+- `configure` scripts of the OTP build system are now generated using Autoconf
+ 2.72.
+
+ Own Id: OTP-18943
+
+- The `maybe` expression is now enabled by default.
+
+ To use `maybe` as an atom, it needs to be single-quoted. Alternatively, the
+ `maybe` expression can be disabled by disabling the `maybe_expr` feature. That
+ can be done by placing the following the line at the beginning of an Erlang
+ source file:
+
+ ```erlang
+ -feature(maybe_expr, disable).
+ ```
+
+ Another way to disable the `maybe_expr` feature is by passing the
+ `-disable-feature` option to `erlc`:
+
+ ```text
+ erlc -disable-feature maybe_expr some_file.erl
+ ```
+
+ Own Id: OTP-18944
+ Related Id(s): [PR-8067]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- By default `configure` scripts used when building OTP will now try to enable
+ support for timestamps that will work after mid-January 2038. This has
+ typically only been an issue on 32-bit platforms.
+
+ If `configure` cannot figure out how to enable such timestamps, it will abort
+ with an error message. If you want to build the system anyway, knowing that
+ the system will not function properly after mid-January 2038, you can pass the
+ `--disable-year2038` option to `configure`, which will enable `configure` to
+ continue without support for timestamps after mid-January 2038.
+
+ Own Id: OTP-18965
+ Related Id(s): [PR-8095]
+
+- The existing experimental support for archive files will be changed in a
+ future release. The support for having an archive in an escript will remain,
+ but the support for using archives in a release will either become more
+ limited or completely removed.
+
+ As of Erlang/OTP 27, the function `code:lib_dir/2`, the `-code_path_choice`
+ flag, and using [`erl_prim_loader`] for reading members of an archive are
+ deprecated.
+
+ To remain compatible with future version of Erlang/OTP `escript` scripts that
+ need to retrieve data files from its archive should use `escript:extract/2`
+ instead of `erl_prim_loader` and `code:lib_dir/2`.
+
+ Own Id: OTP-18966
+ Related Id(s): [PR-8091]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- The restriction for the expression that gives a default value for a record
+ field is now documented.
+
+ Own Id: OTP-18995
+ Related Id(s): [GH-8166], [PR-8177]
+
+# asn1-5.3
+
+## Fixed Bugs and Malfunctions
+
+- Multiple bugs has been eliminated in the [specialized decode feature].
+
+ Own Id: OTP-18813
+ Related Id(s): [PR-7790]
+
+## Improvements and New Features
+
+- Specs have been added to all `asn1ct` API functions.
+
+ Own Id: OTP-18804
+ Related Id(s): [PR-7738]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The `jer` (JSON Encoding Rules) for ASN.1 now use the new [`json`] module for
+ encoding and decoding JSON. Thus, there is no longer any need for an external
+ JSON library.
+
+ Own Id: OTP-19018
+ Related Id(s): [PR-8241]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of asn1-5.3
+>
+> erts-14.0, kernel-9.0, stdlib-5.0
+
+# common_test-1.27
+
+## Improvements and New Features
+
+- Calls to `ct:capture_start/0` and `ct:capture_stop/0` are now synchronous to
+ ensure that all output is captured.
+
+ Own Id: OTP-18658
+ Related Id(s): [PR-7380]
+
+- The order in which multiple hooks are executed can now be reversed after each
+ config function. See [CTH Execution Order].
+
+ Own Id: OTP-18682
+ Related Id(s): ERIERL-43, [GH-7397], [PR-7496]
+
+- The default CSS will now include a basic dark mode handling if it is preferred
+ by the browser.
+
+ Own Id: OTP-18761
+ Related Id(s): [PR-7428]
+
+- `-callback` attributes have been added to [`ct_suite`] and [`ct_hooks`].
+
+ Own Id: OTP-18781
+ Related Id(s): [PR-7701]
+
+- The built-in [cth_log_redirect] hook can now be configured to replace default
+ logger reports in terminal with HTML logs.
+
+ Own Id: OTP-18875
+ Related Id(s): [PR-7891]
+
+- Error handling for the [`ct_property_test`] framework has been enhanced.
+
+ Own Id: OTP-18881
+ Related Id(s): [PR-7824]
+
+- Enhance test case documentation, making it clear how a test case can be
+ failed.
+
+ Own Id: OTP-18892
+ Related Id(s): [PR-7869]
+
+- The failing line in the test source code is now colored to make it easier to
+ find on the screen.
+
+ Own Id: OTP-18898
+ Related Id(s): [PR-7917]
+
+- Function specifications and types have been added to all public API functions.
+
+ Own Id: OTP-18913
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- With this change, suite execution elapsed time is included in index page.
+
+ Own Id: OTP-18981
+ Related Id(s): [GH-7972], [PR-8112]
+
+> #### Full runtime dependencies of common_test-1.27
+>
+> compiler-6.0, crypto-4.5, debugger-4.1, erts-7.0, ftp-1.0, inets-6.0,
+> kernel-8.4, observer-2.1, runtime_tools-1.8.16, sasl-2.5, snmp-5.1.2, ssh-4.0,
+> stdlib-4.0, syntax_tools-1.7, tools-3.2, xmerl-1.3.8
+
+# compiler-8.5
+
+## Fixed Bugs and Malfunctions
+
+- Generators for binary comprehensions could be evaluated before it was known
+ that they would be needed. That could result in a binary comprehensions
+ failing if a generator that should not be evaluated until later failed.
+
+ As an example, consider this module:
+
+ ```erlang
+ -module(t).
+ -export([f/0]).
+
+ f() ->
+ <<0 || _ <- [], _ <- ok, false>>.
+ ```
+
+ In Erlang/OTP 26 it would fail like so:
+
+ ```text
+ > t:f().
+ ** exception error: bad generator ok
+ in function t:f/0 (t.erl, line 6)
+ ```
+
+ In Erlang/OTP 27 it returns an empty binary:
+
+ ```text
+ > t:f().
+ <<>>
+ ```
+
+ Own Id: OTP-18703
+ Related Id(s): [GH-7494], [PR-7538]
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Related Id(s): [GH-7706], [PR-7726]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+## Improvements and New Features
+
+- The compiler now emits nicer error message for function head mismatches. For
+ example, given:
+
+ ```erlang
+ a() -> ok;
+ a(_) -> error.
+ ```
+
+ Erlang/OTP 26 and earlier would emit a diagnostic similar to:
+
+ ```text
+ t.erl:6:1: head mismatch
+ % 6| a(_) -> error.
+ % | ^
+ ```
+
+ while in Erlang/OTP 27 the diagnostic is similar to:
+
+ ```text
+ t.erl:6:1: head mismatch: function a with arities 0 and 1 is regarded as two distinct functions. Is the number of arguments incorrect or is the semicolon in a/0 unwanted?
+ % 6| a(_) -> error.
+ % | ^
+ ```
+
+ Own Id: OTP-18648
+ Related Id(s): [PR-7383]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The compiler now optimizes creation of binaries that are known to be constant.
+
+ Consider this example:
+
+ ```erlang
+ bin() ->
+ C = char(),
+ <<C>>.
+
+ char() -> $*.
+ ```
+
+ Essentially, the compiler rewrites the example to the slightly more efficient:
+
+ ```erlang
+ bin() ->
+ _ = char(),
+ <<$*>>.
+
+ char() -> $*.
+ ```
+
+ Own Id: OTP-18673
+ Related Id(s): ERIERL-964, [PR-7474]
+
+- The compiler will now merge consecutive updates of the same record.
+
+ As an example, the body of the following function will be combined into a
+ single tuple creation instruction:
+
+ ```erlang
+ -record(r, {a,b,c,d}).
+
+ update(Value) ->
+ R0 = #r{},
+ R1 = R0#r{a=Value},
+ R2 = R1#r{b=2},
+ R2#r{c=3}.
+ ```
+
+ Own Id: OTP-18680
+ Related Id(s): ERIERL-967, [PR-7491], [PR-8086]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Improved the performance of the alias analysis pass.
+
+ Own Id: OTP-18714
+ Related Id(s): [GH-7432], [PR-7528]
+
+- `-spec` attributes are now used for documentation.
+
+ Own Id: OTP-18801
+ Related Id(s): [PR-7739]
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the [`cover`] tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ [`line_coverage`] option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ ```text
+ $ erl +JPcover true
+ ```
+
+ There are also the following new functions for supporting native coverage:
+
+ - `code:coverage_support/0`
+ - `code:get_coverage/2`
+ - `code:reset_coverage/1`
+ - `code:get_coverage_mode/0`
+ - `code:get_coverage_mode/1`
+ - `code:set_coverage_mode/1`
+
+ Own Id: OTP-18856
+ Related Id(s): [PR-7856]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- [EEP-59 - Documentation Attributes] has been implemented.
+
+ Documentation attributes can be used to document functions, types, callbacks,
+ and modules. The keyword `-moduledoc "Documentation here".` is used to
+ document modules, while `-doc "Documentation here".` can be used on top of
+ functions, types, and callbacks to document them, respectively.
+
+ - Types, callbacks, and function documentation can be set to `hidden` either
+ via `-doc false` or `-doc hidden`. When documentation attributes mark a type
+ as hidden, they will not be part of the documentation.
+ - The documentation from `moduledoc` and `doc` gets added by default to the
+ binary beam file, following the format of [EEP-48].
+ - Using the compiler flag `warn_missing_doc` will raise a warning when `-doc`
+ attributes are missing in exported functions, types, and callbacks.
+ - Using the compiler flag `warn_missing_spec_documented` will raise a warning
+ when spec attributes are missing in documented functions, types, and
+ callbacks.
+ - `moduledoc`s and `doc`s may refer to external files to be embedded, such as
+ `-doc {file, "README.md"}.`, which refers to the file `README.md` found in
+ the current working directory.
+ - The compiler warns about exported functions whose specs refer to hidden
+ types. Thus, there will be warnings when a hidden type (meaning, the type is
+ not part of the documentation) gets used in an exported function.
+
+ Own Id: OTP-18916
+ Related Id(s): [PR-7936]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The order in which the compiler looks up options has changed.
+
+ When there is a conflict in the compiler options given in the `-compile()`
+ attribute and options given to the compiler, the options given in the
+ `-compile()` attribute overrides the option given to the compiler, which in
+ turn overrides options given in the `ERL_COMPILER_OPTIONS` environment
+ variable.
+
+ Example:
+
+ If `some_module.erl` has the following attribute:
+
+ ```erlang
+ -compile([nowarn_missing_spec]).
+ ```
+
+ and the compiler is invoked like so:
+
+ ```text
+ % erlc +warn_missing_spec some_module.erl
+ ```
+
+ no warnings will be issued for functions that do not have any specs.
+
+ Own Id: OTP-18968
+ Related Id(s): [GH-6979], [PR-8093]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- Safe destructive update of tuples has been implemented in the compiler and
+ runtime system. This allows the VM to update tuples in-place when it is safe
+ to do so, thus improving performance by doing less copying but also by
+ producing less garbage.
+
+ Example:
+
+ ```erlang
+ -record(rec, {a,b,c}).
+
+ update(#rec{a=needs_update,b=N}=R0) ->
+ R = R0#rec{a=up_to_date},
+ if
+ N < 0 ->
+ R#rec{c=negative};
+ N == 0 ->
+ R#rec{c=zero};
+ N > 0 ->
+ R#rec{c=positive}
+ end.
+ ```
+
+ The record updates in each of the three clauses of the `if` can safely be done
+ in-place, because variable `R` is not used again.
+
+ Own Id: OTP-18972
+ Related Id(s): [PR-8090]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Improved the match context reuse optimization slightly, allowing match
+ contexts to be passed as-is to `bit_size/1` and `byte_size/1`.
+
+ Own Id: OTP-18987
+
+- `m:erl_lint` (and by extension the [`compiler`]) will now warn for code using
+ deprecated callbacks.
+
+ The only callback currenly deprecated is `format_status/2` in `gen_server`,
+ `gen_event` and `gen_statem`.
+
+ You can use `nowarn_deprecated_callback` to silence the warning.
+
+ Own Id: OTP-19010
+ Related Id(s): [PR-8205]
+
+> #### Full runtime dependencies of compiler-8.5
+>
+> crypto-5.1, erts-13.0, kernel-8.4, stdlib-6.0
+
+# crypto-5.5
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Removed functions `crypto_dyn_iv_init/3` and `crypto_dyn_iv_update/3` which
+ were marked as deprecated since OTP 25.
+
+ Own Id: OTP-18973
+
+- Add support for sm3 hash and hmac.
+
+ Own Id: OTP-18975
+ Related Id(s): [PR-6658]
+
+- `OPENSSL_thread_stop` is called when `crypto` is purged to not leak thread
+ specific data.
+
+ Own Id: OTP-18978
+ Related Id(s): [PR-7809]
+
+- Add SM4 block cipher implemented according to GB/T 32907-2016.
+
+ Own Id: OTP-19005
+ Related Id(s): [PR-8168]
+
+> #### Full runtime dependencies of crypto-5.5
+>
+> erts-9.0, kernel-5.3, stdlib-3.9
+
+# debugger-5.4
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): [PR-7441]
+
+## Improvements and New Features
+
+- Type specs have been added to all API functions.
+
+ Own Id: OTP-18819
+ Related Id(s): [PR-7781]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of debugger-5.4
+>
+> compiler-8.0, erts-14.3, kernel-8.0, stdlib-3.15, wx-2.0
+
+# dialyzer-5.2
+
+## Improvements and New Features
+
+- The `--gui` option for Dialyzer has been removed.
+
+ Own Id: OTP-18667
+ Related Id(s): [PR-7443]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of dialyzer-5.2
+>
+> compiler-8.0, erts-12.0, kernel-8.0, stdlib-5.0, syntax_tools-2.0
+
+# diameter-2.4
+
+## Improvements and New Features
+
+- `-callback` attributes have been added to [`diameter_app`] and
+ [`diameter_transport`].
+
+ Own Id: OTP-18783
+ Related Id(s): [PR-7699]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of diameter-2.4
+>
+> erts-10.0, kernel-3.2, ssl-9.0, stdlib-5.0
+
+# edoc-1.3
+
+## Fixed Bugs and Malfunctions
+
+- [EEP 48] doc chunks now properly include links within `{@type }` macros.
+
+ Own Id: OTP-18945
+ Related Id(s): [PR-8063]
+
+- `@hidden` now means `hidden` in [EEP 48] doc chunks instead of `none`.
+
+ Own Id: OTP-18946
+ Related Id(s): [PR-8063]
+
+## Improvements and New Features
+
+- There is a new `edoc_html_to_markdown` module that can be used to convert
+ EEP-48 `application/html+erlang` to Markdown.
+
+ Own Id: OTP-18947
+ Related Id(s): [PR-8063]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of edoc-1.3
+>
+> erts-11.0, inets-5.10, kernel-7.0, stdlib-4.0, syntax_tools-2.0, xmerl-1.3.7
+
+# eldap-1.2.13
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of eldap-1.2.13
+>
+> asn1-3.0, erts-6.0, kernel-3.0, ssl-5.3.4, stdlib-3.4
+
+# erl_interface-5.5.2
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+## Known Bugs and Problems
+
+- The `ei` API for decoding/encoding terms is not fully 64-bit compatible since
+ terms that have a representation on the external term format larger than 2 GB
+ cannot be handled.
+
+ Own Id: OTP-16607
+ Related Id(s): OTP-16608
+
+# erts-14.3
+
+## Fixed Bugs and Malfunctions
+
+- Bugs in how `erl -extra` interacts with passing flags via ERL\_\*FLAGS or
+ `-args_file` have been fixed.
+
+ Own Id: OTP-18766
+ Related Id(s): [PR-7639]
+
+- Fixed a bug that prevented the emulator from building on recent versions of
+ Yocto Linux.
+
+ Own Id: OTP-18918
+ Related Id(s): [PR-7952]
+
+- Fix spectre mitigation configure test to work with GCC patches to always add
+ `-fcf-protection=full`.
+
+ Own Id: OTP-18928
+ Related Id(s): [PR-8006]
+
+- Fix faulty reduction counting in exiting process which could cause it to do
+ unnecessary yielding.
+
+ Own Id: OTP-19014
+
+## Improvements and New Features
+
+- Refactored how the JIT handles POSIX signals and how they affect thread
+ stacks, allowing us to use the native stack register for Erlang stacks on more
+ platforms.
+
+ Notably, containers built on 64-bit x86 Alpine Linux images will now perform
+ much better in sequential code. As an example, running `dialyzer` over the OTP
+ code base finishes about 15% quicker.
+
+ Own Id: OTP-18568
+ Related Id(s): [PR-7174]
+
+- The [`instrument`] module can now track allocations on a per-process or
+ per-port basis.
+
+ Own Id: OTP-18577
+ Related Id(s): [PR-7236]
+
+- The `pid` field has been removed from `erlang:fun_info/1,2`.
+
+ Own Id: OTP-18594
+ Related Id(s): [PR-7274]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- By default, escripts will now be compiled instead of interpreted. That means
+ that the `compiler` application must be installed.
+
+ Own Id: OTP-18639
+ Related Id(s): [PR-7348]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- A binary returned from the [`socket`] receive functions is no longer created
+ as a sub binary of an often large receive buffer binary (socket option
+ `{otp,rcvbuf}`). This avoids space waste, trusting the allocators to implement
+ reallocation efficiently.
+
+ Own Id: OTP-18642
+ Related Id(s): [GH-6152], [PR-7465]
+
+- The default process limit has been raised to `1048576` processes.
+
+ Own Id: OTP-18699
+ Related Id(s): [PR-7388]
+
+- The `erlang:system_monitor/2` functionality is now able to monitor long
+ message queues in the system.
+
+ Own Id: OTP-18709
+ Related Id(s): [PR-7651]
+
+- The `erl` command now supports the `-S` flag, which is similar to the `-run`
+ flag, except that it will pass all arguments up to end of the command line to
+ the called function. (The `-run` flag will not pass arguments beginning with a
+ hyphen.) Another difference is that `-S` will always call a function with one
+ argument, passing an empty list if no arguments were given.
+
+ Own Id: OTP-18744
+ Related Id(s): [PR-7470]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- When implementing an alternative carrier for the Erlang distribution, a
+ separate input handler process may now be registered, using
+ `erlang:dist_ctrl_input_handler/2`, also in the case when the distribution
+ controller is a port.
+
+ Own Id: OTP-18774
+ Related Id(s): [PR-7110]
+
+- The call stack trace has now been added to the error reported by
+ `erlang:process_flag/2` when `max_heap_size` limit has been exceeded.
+
+ Own Id: OTP-18779
+ Related Id(s): [PR-7592]
+
+- `-callback` attributes have been added to [`erl_tracer`].
+
+ Own Id: OTP-18794
+ Related Id(s): [PR-7703]
+
+- For `inet_backend = socket`, setting the `active` socket option alone, to
+ `once`, `true` or `N`, has been optimized, as well as the corresponding data
+ delivery.
+
+ Own Id: OTP-18835
+
+- Socket options that take string now also accept binaries.
+
+ Own Id: OTP-18849
+ Related Id(s): [PR-6510]
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the [`cover`] tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ [`line_coverage`] option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ ```text
+ $ erl +JPcover true
+ ```
+
+ There are also the following new functions for supporting native coverage:
+
+ - `code:coverage_support/0`
+ - `code:get_coverage/2`
+ - `code:reset_coverage/1`
+ - `code:get_coverage_mode/0`
+ - `code:get_coverage_mode/1`
+ - `code:set_coverage_mode/1`
+
+ Own Id: OTP-18856
+ Related Id(s): [PR-7856]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Changed the default value of the command line flag `-code_path_choice Choice`
+ to `strict`.
+
+ Own Id: OTP-18894
+ Related Id(s): [PR-7243]
+
+- Added module loading to `erl -init_debug` printouts.
+
+ Own Id: OTP-18929
+ Related Id(s): [PR-8004]
+
+- When the runtime system halts, it performs various flush operations before
+ terminating. By default there is no limit on how much time the flush
+ operations are allowed to take. A new _halt flush timeout_ functionality has
+ been introduced which can be used for limiting the amount of time that the
+ flushing operations are allowed to take. For more information see the
+ documentation of the [`flush_timeout`] option of the `erlang:halt/2` BIF and
+ the documentation of the `erl` [`+zhft <Timeout>`] command line flag.
+
+ Own Id: OTP-18938
+ Related Id(s): [GH-7438], [PR-8035]
+
+- Optimized code loading by moving certain operations from the code server to
+ the caller.
+
+ Own Id: OTP-18941
+ Related Id(s): [PR-7981]
+
+- Updated asmjit to version a465fe71ab3d0e224b2b4bd0fac69ae68ab9239d
+
+ Own Id: OTP-18942
+
+- The deprecated functions in [`zlib`] have been removed. That includes
+ `inflateChunk/{1,2}`, `getBufSize/1`, `setBufSize/2`, the CRC32 functions, and
+ the Adler checksum functions.
+
+ Own Id: OTP-18950
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Safe destructive update of tuples has been implemented in the compiler and
+ runtime system. This allows the VM to update tuples in-place when it is safe
+ to do so, thus improving performance by doing less copying but also by
+ producing less garbage.
+
+ Example:
+
+ ```erlang
+ -record(rec, {a,b,c}).
+
+ update(#rec{a=needs_update,b=N}=R0) ->
+ R = R0#rec{a=up_to_date},
+ if
+ N < 0 ->
+ R#rec{c=negative};
+ N == 0 ->
+ R#rec{c=zero};
+ N > 0 ->
+ R#rec{c=positive}
+ end.
+ ```
+
+ The record updates in each of the three clauses of the `if` can safely be done
+ in-place, because variable `R` is not used again.
+
+ Own Id: OTP-18972
+ Related Id(s): [PR-8090]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The obsolete and undocumented support for opening a port to an external
+ resource by passing an atom (or a string) as first argument to `open_port()`,
+ implemented by the vanilla driver, has been removed. This feature has been
+ scheduled for removal in OTP 27 since the release of OTP 26.
+
+ Own Id: OTP-18976
+ Related Id(s): [PR-7125]
+
+- An optional NIF callback `ERL_NIF_OPT_ON_UNLOAD_THREAD` to be called by all
+ scheduler threads when a NIF library is unloaded. Used for releasing thread
+ specific data. Can be set with function `enif_set_option`.
+
+ Own Id: OTP-18977
+ Related Id(s): [PR-7809]
+
+- Multiple trace sessions.
+
+ Own Id: OTP-18980
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Added the `+MMlp on|off` emulator option to let the `mseg` allocator use
+ "large pages" (sometimes known as "huge pages" or "super pages"). This
+ currently only affects super-carrier allocations, but may be extended in the
+ future.
+
+ Own Id: OTP-18984
+ Related Id(s): [PR-7977]
+
+- `inet_backend = socket` has been optimized and reworked to be more compatible
+ with the original `inet_backend = inet`.
+
+ Own Id: OTP-19004
+ Related Id(s): OTP-18835
+
+> #### Full runtime dependencies of erts-14.3
+>
+> kernel-9.0, sasl-3.3, stdlib-4.1
+
+# et-1.7.1
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): [PR-7441]
+
+- Dialyzer warnings due to type specs added in [`dbg`] have been eliminated.
+
+ Own Id: OTP-18860
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of et-1.7.1
+>
+> erts-9.0, kernel-5.3, runtime_tools-1.10, stdlib-3.4, wx-1.2
+
+# eunit-2.9.1
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of eunit-2.9.1
+>
+> erts-9.0, kernel-5.3, stdlib-3.4
+
+# ftp-1.2.2
+
+## Fixed Bugs and Malfunctions
+
+- Dialyzer warnings due to type specs added in [`dbg`] have been eliminated.
+
+ Own Id: OTP-18860
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of ftp-1.2.2
+>
+> erts-7.0, kernel-6.0, runtime_tools-1.15.1, ssl-10.2, stdlib-3.5
+
+# inets-9.2
+
+## Improvements and New Features
+
+- Introduced a default value for httpd_server name configuration to improve ease
+ of use.
+
+ Own Id: OTP-18641
+ Related Id(s): [PR-7316]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- The `httpd` module has been extended with an API for simple serving directory
+ content over HTTP. With this change, the current working directory can be
+ served like this:
+
+ ```
+ erl -S httpd
+ ```
+
+ An arbitrary directory can be served like this:
+
+ ```
+ erl -S httpd serve path/to/dir
+ ```
+
+ Own Id: OTP-18727
+ Related Id(s): [PR-7299]
+
+- Add `-callback` attributes to [`httpd`], [`mod_esi`] and [`mod_security`].
+
+ Own Id: OTP-18786
+ Related Id(s): [PR-7700]
+
+- Use a relative redirect with an absolute path to prevent whoever is running
+ inets from having to configure the ServerName to match the network-reachable
+ hostname of the server.
+
+ Own Id: OTP-18809
+
+- `inets` processes now use `proc_lib:set_label/1` to improve observeability.
+
+ Own Id: OTP-18927
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The implementations of `http_uri:encode/1` and `http_uri:decode/1` are now
+ replaced with their equivalent, but bug free versions from module
+ [`uri_string`], namely `uri_string:quote/1` and `uri_string:unquote/1`.
+
+ Own Id: OTP-19022
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+> #### Full runtime dependencies of inets-9.2
+>
+> erts-14.0, kernel-9.0, mnesia-4.12, public_key-1.13, runtime_tools-1.8.14,
+> ssl-9.0, stdlib-5.0, stdlib-6.0
+
+# jinterface-1.14.1
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+# kernel-9.3
+
+## Fixed Bugs and Malfunctions
+
+- Fixed a crash when calling `file:delete/2` with an empty option list.
+
+ Own Id: OTP-18590
+ Related Id(s): [PR-7220]
+
+- New functions have been added to the undocumented module [`inet_dns`] that
+ take a flag to specify if encode/decode is for mDNS. This affects how CLASS
+ values in the private range, with the top bit set, are handled.
+
+ Own Id: OTP-18878
+ Related Id(s): [GH-7718], OTP-17734
+
+- The error information for `erlang:phash/2` has been corrected.
+
+ Own Id: OTP-18904
+ Related Id(s): [PR-7960]
+
+- `get_until` requests using the I/O protocol now correctly return a binary or
+ list when `eof` is the last item returned by the callback.
+
+ Own Id: OTP-18930
+ Related Id(s): [GH-4992], [PR-7993]
+
+- Calling `logger:add_handlers/1` with config option now works.
+
+ Own Id: OTP-18954
+ Related Id(s): [GH-8061], [PR-8076]
+
+- The `code:del_path/1` function now also works on paths added through `-pa`,
+ `-pz` , `-path` and the boot script.
+
+ Own Id: OTP-18959
+ Related Id(s): [GH-6692], [PR-7697]
+
+## Improvements and New Features
+
+- Added `file:read_file/2` with a `raw` option for reading files without going
+ through the file server.
+
+ Own Id: OTP-18589
+ Related Id(s): [PR-7220]
+
+- The undocumented Erlang DNS resolver library (`inet_dns` and `inet_res`) has
+ been augmented to handle IXFR, NOTIFY, UPDATE and TSIG records. With this some
+ bug fixes and code cleanup has been done, and the resolver used in the test
+ suite has been changed to Knot DNS. See the source code.
+
+ Kudos to Alexander Clouter that did almost all the work!
+
+ Own Id: OTP-18713
+ Related Id(s): [GH-6985], [PR-6985]
+
+- The `ebin` directories for escripts are now cached.
+
+ Own Id: OTP-18778
+ Related Id(s): [PR-7556]
+
+- `-callback` attributes haven been added to [`application`],
+ [`logger_handler`], and [`logger_formatter`].
+
+ Own Id: OTP-18795
+ Related Id(s): [PR-7703]
+
+- Progress reports from before logger is started are now logged when log level
+ is set to debug.
+
+ Own Id: OTP-18807
+ Related Id(s): ERIERL-985, [PR-7732]
+
+- The `code:where_is_file/2` and `code:which/1` functions now check for
+ existence of the file directly instead of listing the content of each
+ directory in the code path.
+
+ Own Id: OTP-18816
+ Related Id(s): [PR-7711]
+
+- Type specs has been added to the [`logger:Level/1,2,3`] functions.
+
+ Own Id: OTP-18820
+ Related Id(s): [PR-7779]
+
+- For `inet_backend = socket`, setting the `active` socket option alone, to
+ `once`, `true` or `N`, has been optimized, as well as the corresponding data
+ delivery.
+
+ Own Id: OTP-18835
+
+- The shell now pages long output from the help command (`h(Module)`), auto
+ completions and the search command.
+
+ Own Id: OTP-18846
+ Related Id(s): [PR-7845]
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the [`cover`] tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ [`line_coverage`] option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ ```text
+ $ erl +JPcover true
+ ```
+
+ There are also the following new functions for supporting native coverage:
+
+ - `code:coverage_support/0`
+ - `code:get_coverage/2`
+ - `code:reset_coverage/1`
+ - `code:get_coverage_mode/0`
+ - `code:get_coverage_mode/1`
+ - `code:set_coverage_mode/1`
+
+ Own Id: OTP-18856
+ Related Id(s): [PR-7856]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Optimized code loading by moving certain operations from the code server to
+ the caller.
+
+ Own Id: OTP-18941
+ Related Id(s): [PR-7981]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Application startup has been optimized by removing an intermediary process.
+
+ Own Id: OTP-18963
+ Related Id(s): [PR-8042]
+
+- The existing experimental support for archive files will be changed in a
+ future release. The support for having an archive in an escript will remain,
+ but the support for using archives in a release will either become more
+ limited or completely removed.
+
+ As of Erlang/OTP 27, the function `code:lib_dir/2`, the `-code_path_choice`
+ flag, and using [`erl_prim_loader`] for reading members of an archive are
+ deprecated.
+
+ To remain compatible with future version of Erlang/OTP `escript` scripts that
+ need to retrieve data files from its archive should use `escript:extract/2`
+ instead of `erl_prim_loader` and `code:lib_dir/2`.
+
+ Own Id: OTP-18966
+ Related Id(s): [PR-8091]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- The undocumented and deprecated `file:pid2name` function has been removed.
+
+ Own Id: OTP-18967
+ Related Id(s): [PR-8092]
+
+- Improve error logging when the standard_io reader and/or writer terminate with
+ an error.
+
+ Own Id: OTP-18989
+ Related Id(s): [PR-8103]
+
+- `inet_backend = socket` has been optimized and reworked to be more compatible
+ with the original `inet_backend = inet`.
+
+ Own Id: OTP-19004
+ Related Id(s): OTP-18835
+
+> #### Full runtime dependencies of kernel-9.3
+>
+> crypto-5.0, erts-14.3, sasl-3.0, stdlib-6.0
+
+# megaco-4.6
+
+## Improvements and New Features
+
+- `-callback` attributes have been added to [`megaco_transport`].
+
+ Own Id: OTP-18806
+ Related Id(s): [PR-7740]
+
+- Updated types and specs for all API modules.
+
+ Own Id: OTP-18920
+ Related Id(s): BL-322
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of megaco-4.6
+>
+> asn1-3.0, debugger-4.0, erts-12.0, et-1.5, kernel-8.0, runtime_tools-1.8.14,
+> stdlib-2.5
+
+# mnesia-4.23.1
+
+## Fixed Bugs and Malfunctions
+
+- The `mnesia_registry` module have been deprecated.
+
+ Own Id: OTP-18994
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of mnesia-4.23.1
+>
+> erts-9.0, kernel-5.3, stdlib-5.0
+
+# observer-2.16
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): [PR-7441]
+
+## Improvements and New Features
+
+- The new function `proc_lib:set_label/1` can be used to add a descriptive term
+ to any process that does not have a registered name. The name will be shown by
+ tools such as `\c:i/0`, [`observer`], and it will be included in crash reports
+ produced by processes using [`gen_server`], [`gen_statem`], [`gen_event`], and
+ [`gen_fsm`].
+
+ The label for a process can be retrieved by calling `proc_lib:get_label/1`.
+
+ Note that those functions work on any process, not only processes that use
+ [`proc_lib`].
+
+ Example:
+
+ ```text
+ 1> self().
+ <0.90.0>
+ 2> proc_lib:set_label(my_label).
+ ok
+ 3> i().
+ .
+ .
+ .
+ <0.90.0> erlang:apply/2 2586 75011 0
+ my_label c:pinfo/2 51
+ 4> proc_lib:get_label(self()).
+ my_label
+ ```
+
+ Own Id: OTP-18789
+ Related Id(s): [PR-7720], [PR-8003]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of observer-2.16
+>
+> erts-14.0, et-1.5, kernel-9.0, runtime_tools-1.19, stdlib-5.0, wx-2.3
+
+# odbc-2.14.3
+
+## Fixed Bugs and Malfunctions
+
+- Change liborder in makefile to avoid finding system libei instead of erlang
+ libei.
+
+ Own Id: OTP-19030
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of odbc-2.14.3
+>
+> erts-6.0, kernel-3.0, stdlib-2.0
+
+# os_mon-2.10
+
+## Improvements and New Features
+
+- Function specifications and types have been added to all public API functions.
+
+ Own Id: OTP-18913
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of os_mon-2.10
+>
+> erts-14.0, kernel-9.0, sasl-4.2.1, stdlib-5.0
+
+# parsetools-2.6
+
+## Improvements and New Features
+
+- The `leex` documentation has been updated to use specs for documenting the
+ generated interface.
+
+ Own Id: OTP-18796
+ Related Id(s): [PR-7703]
+
+- yecc now wraps the `-module` attribute with `-file` to indicate the `.yrl`
+ source file.
+
+ Own Id: OTP-18912
+ Related Id(s): [PR-7963]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of parsetools-2.6
+>
+> erts-6.0, kernel-3.0, stdlib-3.4
+
+# public_key-1.16
+
+## Improvements and New Features
+
+- The `ssl` client can negotiate and handle certificate status request (OCSP
+ stapling support on the client side).
+
+ Own Id: OTP-18606
+ Related Id(s): OTP-16448, OTP-16875
+
+- Improved exception reason when `public_key:cacerts_get/0` failed.
+
+ Own Id: OTP-18609
+ Related Id(s): [GH-7295], [PR-7202]
+
+- Key customization support has been extended to allow flexibility for
+ implementers of for instance hardware security modules (HSM) or trusted
+ platform modules (TPM).
+
+ Own Id: OTP-18876
+ Related Id(s): [PR-7475], [PR-7898]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of public_key-1.16
+>
+> asn1-3.0, crypto-4.6, erts-6.0, kernel-3.0, stdlib-3.5
+
+# reltool-1.0.1
+
+## Fixed Bugs and Malfunctions
+
+- The dependencies for this application are now listed in the app file.
+
+ Own Id: OTP-18831
+ Related Id(s): [PR-7441]
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of reltool-1.0.1
+>
+> erts-14.3, kernel-9.0, sasl-4.2.1, stdlib-5.0, tools-2.6.14, wx-2.3
+
+# runtime_tools-2.1
+
+## Improvements and New Features
+
+- The [`instrument`] module can now track allocations on a per-process or
+ per-port basis.
+
+ Own Id: OTP-18577
+ Related Id(s): [PR-7236]
+
+- The new function `proc_lib:set_label/1` can be used to add a descriptive term
+ to any process that does not have a registered name. The name will be shown by
+ tools such as `\c:i/0`, [`observer`], and it will be included in crash reports
+ produced by processes using [`gen_server`], [`gen_statem`], [`gen_event`], and
+ [`gen_fsm`].
+
+ The label for a process can be retrieved by calling `proc_lib:get_label/1`.
+
+ Note that those functions work on any process, not only processes that use
+ [`proc_lib`].
+
+ Example:
+
+ ```text
+ 1> self().
+ <0.90.0>
+ 2> proc_lib:set_label(my_label).
+ ok
+ 3> i().
+ .
+ .
+ .
+ <0.90.0> erlang:apply/2 2586 75011 0
+ my_label c:pinfo/2 51
+ 4> proc_lib:get_label(self()).
+ my_label
+ ```
+
+ Own Id: OTP-18789
+ Related Id(s): [PR-7720], [PR-8003]
+
+- Type specs had been added to all [`dbg`] functions.
+
+ Own Id: OTP-18859
+ Related Id(s): [PR-7782]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of runtime_tools-2.1
+>
+> erts-14.2, kernel-8.1, mnesia-4.12, stdlib-6.0
+
+# sasl-4.2.2
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of sasl-4.2.2
+>
+> erts-14.3, kernel-6.0, stdlib-4.0, tools-2.6.14
+
+# snmp-5.16
+
+## Improvements and New Features
+
+- `-callback` attributes have been added to modules
+ [`snmpa_network_interface_filter`], [`snmpa_notification_filter`],
+ [`snmpm_network_interface_filter`], [`snmpm_user`], and
+ [`snmpa_notification_delivery_info_receiver`].
+
+ New `-type` attributes have also been added to modules [`snmp`], [`snmpa`],
+ [`snmpm`], and [`snmpa_conf`] to support the previously mentioned callbacks.
+
+ Own Id: OTP-18785
+ Related Id(s): [PR-7702]
+
+- Updated types and specs for all API modules.
+
+ Own Id: OTP-18934
+ Related Id(s): BL-312
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of snmp-5.16
+>
+> crypto-4.6, erts-12.0, kernel-8.0, mnesia-4.12, runtime_tools-1.8.14,
+> stdlib-5.0
+
+# ssh-5.2
+
+## Fixed Bugs and Malfunctions
+
+- With this change, ssh processes are assigned labels for troubleshooting
+ purposes.
+
+ Own Id: OTP-19017
+
+## Improvements and New Features
+
+- The shell now pages long output from the help command (`h(Module)`), auto
+ completions and the search command.
+
+ Own Id: OTP-18846
+ Related Id(s): [PR-7845]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Updated types and specs for all API modules.
+
+ Own Id: OTP-18961
+
+> #### Full runtime dependencies of ssh-5.2
+>
+> crypto-5.0, erts-14.0, kernel-9.0, public_key-1.6.1, runtime_tools-1.15.1,
+> stdlib-5.0, stdlib-6.0
+
+# ssl-11.2
+
+## Fixed Bugs and Malfunctions
+
+- Starting a TLS server without sufficient credentials (certificate or anonymous
+ cipher) would work, but it was impossible to connect to it.
+
+ This has been corrected to return an error instead of starting the server.
+
+ Own Id: OTP-18887
+ Related Id(s): [GH-7493], [PR-7918]
+
+- Handle ASN.1 decode errors in more places, to improve user error handling.
+
+ Own Id: OTP-18969
+ Related Id(s): [GH-8058]
+
+- Improved error checking on the API functions.
+
+ Own Id: OTP-18992
+ Related Id(s): [GH-8066], [PR-8156]
+
+## Improvements and New Features
+
+- The `ssl` client can negotiate and handle certificate status request (OCSP
+ stapling support on the client side).
+
+ Own Id: OTP-18606
+ Related Id(s): OTP-16448, OTP-16875
+
+- Memory consumption has been reduced and performance increased by refactoring
+ internal data structures and their usage.
+
+ Own Id: OTP-18665
+ Related Id(s): [PR-7447]
+
+- Added `ssl_crl_cache_api:lookup/2` as an optional `-callback` attribute.
+
+ Own Id: OTP-18788
+ Related Id(s): [PR-7700]
+
+- Key customization support has been extended to allow flexibility for
+ implementers of for instance hardware security modules (HSM) or trusted
+ platform modules (TPM).
+
+ Own Id: OTP-18876
+ Related Id(s): [PR-7475], [PR-7898]
+
+- The `proc_lib:set_label/1` function is now used to increase observability of
+ `ssl` processes.
+
+ Own Id: OTP-18879
+
+- Add support for brainpool elliptic curves in TLS-1.3.
+
+ Own Id: OTP-18884
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Make ssl:key_exporter_materials/4 a documented and supported API function.
+
+ Own Id: OTP-19016
+
+- For security reasons remove CBC ciphers form default supported cipher suites
+ in TLS-1.2
+
+ Own Id: OTP-19025
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- Add cert_policy_opts option to configure certificate policy options for the
+ certificate path validation.
+
+ Own Id: OTP-19027
+
+> #### Full runtime dependencies of ssl-11.2
+>
+> crypto-5.0, erts-14.3, inets-5.10.7, kernel-9.0, public_key-1.15,
+> runtime_tools-1.15.1, stdlib-6.0
+
+# stdlib-6.0
+
+## Fixed Bugs and Malfunctions
+
+- The specs in module [`binary`] has been updated to reflect what is allowed by
+ the documentation.
+
+ Own Id: OTP-18684
+ Related Id(s): [PR-7481]
+
+- Several functions in the [`binary`] module would accept arguments of the wrong
+ type under certain circumstances. In this release, they now raise an exception
+ when incorrect types are given.
+
+ The following functions would accept an invalid pattern if the subject binary
+ was empty or if the `{scope,{0,0}}` option was given: `binary:match/2,3`,
+ `binary:matches/2,3`, `binary:replace/3,4`, and `binary:split/2,3`
+
+ The call `binary:copy(<<1:1>>, 0)` would return an empty binary instead of
+ raising an exception. Similarly, calls to `binary:part/2,3` attempting to
+ extract 0 bytes at position 0 of a bitstring would return an empty binary
+ instead of raising an exception.
+
+ Own Id: OTP-18743
+ Related Id(s): [PR-7607], [PR-7628]
+
+- The documentation for the preprocessor now mentions that `defined(Name)` can
+ be called in the condition for an `-if` or `-elif` directive to test whether
+ `Name` is the name of a defined macro. (This feature was implemented in OTP
+ 21.)
+
+ If a function call in an `-if` or `-elif` with a name that is not the name of
+ a guard BIF, there would not be a compilation error, but would instead cause
+ the lines following the directive to be skipped. This has now been changed to
+ be a compilation error.
+
+ Own Id: OTP-18784
+ Related Id(s): [GH-7706], [PR-7726]
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- `get_until` requests using the I/O protocol now correctly return a binary or
+ list when `eof` is the last item returned by the callback.
+
+ Own Id: OTP-18930
+ Related Id(s): [GH-4992], [PR-7993]
+
+- Enhance simple_one_for_one error handling. Avoid crash of transient child
+ returning ignore for init-function. Also disallow automatic shutdown as it
+ does not make sense for this supervisor type, may potentially be backwards
+ incompatible for no intended uses, that is supervisors will not remain
+ bug-compatible.
+
+ Own Id: OTP-19029
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+## Improvements and New Features
+
+- The functions `is_equal/2`, `map/2`, and `filtermap/2` have been added to the
+ modules [`sets`], [`ordsets`], and [`gb_sets`].
+
+ Own Id: OTP-18622
+ Related Id(s): [GH-7183], [GH-7232]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The compiler now emits nicer error message for function head mismatches. For
+ example, given:
+
+ ```erlang
+ a() -> ok;
+ a(_) -> error.
+ ```
+
+ Erlang/OTP 26 and earlier would emit a diagnostic similar to:
+
+ ```text
+ t.erl:6:1: head mismatch
+ % 6| a(_) -> error.
+ % | ^
+ ```
+
+ while in Erlang/OTP 27 the diagnostic is similar to:
+
+ ```text
+ t.erl:6:1: head mismatch: function a with arities 0 and 1 is regarded as two distinct functions. Is the number of arguments incorrect or is the semicolon in a/0 unwanted?
+ % 6| a(_) -> error.
+ % | ^
+ ```
+
+ Own Id: OTP-18648
+ Related Id(s): [PR-7383]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- `zip:create/2,3` will now tolerate POSIX timestamps in the provided
+ `file_info` records.
+
+ Own Id: OTP-18668
+
+- The callback function `gen_statem:handle_event/4` has been cached in the
+ `gen_statem` engine to optimize callback call speed.
+
+ Own Id: OTP-18671
+ Related Id(s): [PR-7419]
+
+- The type `beam_lib:beam/0` is now exported.
+
+ Own Id: OTP-18716
+ Related Id(s): [PR-7534]
+
+- The documentation for the [`binary`] module has been improved.
+
+ Own Id: OTP-18741
+ Related Id(s): [PR-7585]
+
+- `binary:replace/3,4` now supports using a fun for supplying the replacement
+ binary.
+
+ Own Id: OTP-18742
+ Related Id(s): [PR-7590]
+
+- Triple-Quoted Strings has been implemented as per [EEP 64]. See String in the
+ Reference Manual.
+
+ Example:
+
+ ```erlang
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+ ```
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ ```text
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+ ```
+
+ Own Id: OTP-18750
+ Related Id(s): [PR-7313], [PR-7451], OTP-18746
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- The new function `proc_lib:set_label/1` can be used to add a descriptive term
+ to any process that does not have a registered name. The name will be shown by
+ tools such as `\c:i/0`, [`observer`], and it will be included in crash reports
+ produced by processes using [`gen_server`], [`gen_statem`], [`gen_event`], and
+ [`gen_fsm`].
+
+ The label for a process can be retrieved by calling `proc_lib:get_label/1`.
+
+ Note that those functions work on any process, not only processes that use
+ [`proc_lib`].
+
+ Example:
+
+ ```text
+ 1> self().
+ <0.90.0>
+ 2> proc_lib:set_label(my_label).
+ ok
+ 3> i().
+ .
+ .
+ .
+ <0.90.0> erlang:apply/2 2586 75011 0
+ my_label c:pinfo/2 51
+ 4> proc_lib:get_label(self()).
+ my_label
+ ```
+
+ Own Id: OTP-18789
+ Related Id(s): [PR-7720], [PR-8003]
+
+- `-callback` attributes has been added to modules [`sys`] and [`erl_error`].
+
+ Own Id: OTP-18793
+ Related Id(s): [PR-7703]
+
+- Several new functions that accept funs have been added to module [`timer`].
+
+ Functions `apply_after/2`, `apply_interval/2`, and `apply_repeatedly/2` accept
+ a nullary fun as the second argument, while functions `apply_after/3`,
+ `apply_interval/3`, and `apply_repeatedly/3` accept an n-ary fun as the second
+ and a list of n arguments for the fun as the third argument.
+
+ Own Id: OTP-18808
+ Related Id(s): [PR-7649]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Sigils on string literals have been implemented as per [EEP 66], that is:
+ binary and string sigils in verbatim and escape characters variants, as well
+ as a default (vanilla) Sigil. All for ordinary strings and for triple-quoted
+ strings (EEP 64). See Sigils in the Reference Manual.
+
+ Examples:
+
+ ```erlang
+ 1> ~"Björn".
+ <<"Björn"/utf8>>
+ 2> ~b"Björn".
+ <<"Björn"/utf8>>
+ 3> ~S"\s*(\w+)".
+ "\\s*(\\w+)"
+ 4> ~B"\s*(\w+)".
+ <<"\\s*(\\w+)">>
+ ```
+
+ Own Id: OTP-18825
+ Related Id(s): [PR-7684], OTP-18750
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Functions `shell:default_multiline_prompt/1`, `shell:inverted_space_prompt/1`,
+ and `shell:prompt_width/1` have been exported to help with custom prompt
+ implementations.
+
+ Own Id: OTP-18834
+ Related Id(s): [PR-7675], [PR-7816]
+
+- The shell now pages long output from the help command (`h(Module)`), auto
+ completions and the search command.
+
+ Own Id: OTP-18846
+ Related Id(s): [PR-7845]
+
+- The `M-h` hotkey (Alt/Option-h) now outputs help for the module or function
+ directly before the cursor.
+
+ Own Id: OTP-18847
+ Related Id(s): [PR-7846]
+
+- Added support for adding a custom code formatter that formats your multi-line
+ shell commands in your preferred formatting on submission. See
+ `shell:format_shell_func/` and `shell:erl_pp_format_func/1`.
+
+ Own Id: OTP-18848
+ Related Id(s): [PR-7847]
+
+- Added shell functions for viewing, forgetting and saving locally defined
+ functions, types and records.
+
+ Own Id: OTP-18852
+ Related Id(s): [PR-7844]
+
+- Added `string:jaro_similarity/2`, which can be used to calculate the
+ similarity between two strings.
+
+ Own Id: OTP-18865
+ Related Id(s): [PR-7879]
+
+- The new function `ets:update_element/4` is similar to `ets:update_element/3`,
+ but takes a default tuple as the fourth argument, which will be inserted if no
+ previous record with that key exists.
+
+ Own Id: OTP-18870
+ Related Id(s): [PR-7857]
+
+- Added functions to retrieve the next higher or lower key/element from
+ [`gb_trees`] and [`gb_sets`], as well as returning iterators that start at
+ given keys/elements.
+
+ Own Id: OTP-18874
+ Related Id(s): [PR-7745]
+
+- When the shell built-in function [`c/1,2`][c12] is used to re-compile a
+ module, the current working directory of the original compilation is now added
+ to the include path.
+
+ [c12]: `\c:c/1`
+
+ Own Id: OTP-18908
+ Related Id(s): [PR-7957]
+
+- The `timer` module now uses a private table for its internal state, slightly
+ improving its performance.
+
+ Own Id: OTP-18914
+ Related Id(s): [PR-7973]
+
+- [EEP-59 - Documentation Attributes] has been implemented.
+
+ Documentation attributes can be used to document functions, types, callbacks,
+ and modules. The keyword `-moduledoc "Documentation here".` is used to
+ document modules, while `-doc "Documentation here".` can be used on top of
+ functions, types, and callbacks to document them, respectively.
+
+ - Types, callbacks, and function documentation can be set to `hidden` either
+ via `-doc false` or `-doc hidden`. When documentation attributes mark a type
+ as hidden, they will not be part of the documentation.
+ - The documentation from `moduledoc` and `doc` gets added by default to the
+ binary beam file, following the format of [EEP-48].
+ - Using the compiler flag `warn_missing_doc` will raise a warning when `-doc`
+ attributes are missing in exported functions, types, and callbacks.
+ - Using the compiler flag `warn_missing_spec_documented` will raise a warning
+ when spec attributes are missing in documented functions, types, and
+ callbacks.
+ - `moduledoc`s and `doc`s may refer to external files to be embedded, such as
+ `-doc {file, "README.md"}.`, which refers to the file `README.md` found in
+ the current working directory.
+ - The compiler warns about exported functions whose specs refer to hidden
+ types. Thus, there will be warnings when a hidden type (meaning, the type is
+ not part of the documentation) gets used in an exported function.
+
+ Own Id: OTP-18916
+ Related Id(s): [PR-7936]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- New [`ets`] functions `ets:first_lookup/1`, `ets:next_lookup/2`,
+ `ets:prev_lookup/2` and `ets:last_lookup/1`. Example: `ets:next_lookup/1` is
+ equivalent to `ets:next/2` followed by `ets:lookup/2` with the next key. The
+ new combined functions are more efficient and with guaranteed atomicity.
+
+ Own Id: OTP-18923
+ Related Id(s): [PR-6791]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The `maybe` expression is now enabled by default.
+
+ To use `maybe` as an atom, it needs to be single-quoted. Alternatively, the
+ `maybe` expression can be disabled by disabling the `maybe_expr` feature. That
+ can be done by placing the following the line at the beginning of an Erlang
+ source file:
+
+ ```erlang
+ -feature(maybe_expr, disable).
+ ```
+
+ Another way to disable the `maybe_expr` feature is by passing the
+ `-disable-feature` option to `erlc`:
+
+ ```text
+ erlc -disable-feature maybe_expr some_file.erl
+ ```
+
+ Own Id: OTP-18944
+ Related Id(s): [PR-8067]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The compiler will now raise a warning when updating record/map literals. As an
+ example, consider this module:
+
+ ```erlang
+ -module(t).
+ -export([f/0]).
+ -record(r, {a,b,c}).
+
+ f() ->
+ #r{a=1}#r{b=2}.
+ ```
+
+ The compiler raises the following warning:
+
+ ```text
+ 1> c(t).
+ t.erl:6:12: Warning: expression updates a literal
+ % 6| #r{a=1}#r{b=2}.
+ % | ^
+ ```
+
+ Own Id: OTP-18951
+ Related Id(s): [PR-8069]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- Optimized `ets:foldl` and `ets:foldr` to use new `ets:next_lookup`. Also made
+ them immune against table renaming.
+
+ Own Id: OTP-18993
+ Related Id(s): [PR-8048]
+
+- Windows now supports all functions in [`math`].
+
+ Own Id: OTP-19001
+ Related Id(s): [PR-8164]
+
+- `m:erl_lint` (and by extension the [`compiler`]) will now warn for code using
+ deprecated callbacks.
+
+ The only callback currenly deprecated is `format_status/2` in `gen_server`,
+ `gen_event` and `gen_statem`.
+
+ You can use `nowarn_deprecated_callback` to silence the warning.
+
+ Own Id: OTP-19010
+ Related Id(s): [PR-8205]
+
+- There is a new module [`json`] for encoding and decoding [JSON].
+
+ Both encoding and decoding can be customized. Decoding can be done in a
+ SAX-like fashion and handle multiple documents and streams of data.
+
+ Own Id: OTP-19020
+ Related Id(s): [PR-8111]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of stdlib-6.0
+>
+> compiler-5.0, crypto-4.5, erts-14.3, kernel-9.3, sasl-3.0
+
+# syntax_tools-3.2
+
+## Fixed Bugs and Malfunctions
+
+- The [`epp_dodger`] module can now handle the `maybe` and `else` keywords.
+
+ Own Id: OTP-18608
+ Related Id(s): [GH-7266], [PR-7267]
+
+- Reverting a `#wrapper` will no longer throw away changes made to
+ positions/annotations.
+
+ Own Id: OTP-18805
+ Related Id(s): [PR-7398]
+
+## Improvements and New Features
+
+- The type `erl_syntax:annotation_or_location/0` is now exported.
+
+ Own Id: OTP-18715
+ Related Id(s): [PR-7535]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of syntax_tools-3.2
+>
+> compiler-7.0, erts-9.0, kernel-5.0, stdlib-4.0
+
+# tftp-1.2
+
+## Improvements and New Features
+
+- There is a new [`tftp_logger`] callback behavior module.
+
+ Own Id: OTP-18787
+ Related Id(s): [PR-7700]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of tftp-1.2
+>
+> erts-6.0, kernel-6.0, stdlib-5.0
+
+# tools-4.0
+
+## Fixed Bugs and Malfunctions
+
+- Dialyzer warnings due to type specs added in [`dbg`] have been eliminated.
+
+ Own Id: OTP-18860
+
+- In Erlang/OTP 26, doing a [`cover`] analysis on the `line` level would return
+ multiple entries for lines on which multiple functions were defined.
+
+ For example, consider this module:
+
+ -module(foo).
+ -export([bar/0, baz/0]).
+
+ bar() -> ok. baz() -> not_ok.
+
+ In Erlang/OTP 26, analysing on the `line` level would return two entries for
+ line 4:
+
+ 1> cover:compile_module(foo).
+ {ok,foo}
+ 2> foo:bar().
+ ok
+ 3> cover:analyse(foo, coverage, line).
+ {ok,[{{foo,4},{1,0}},{{foo,4},{0,1}}]}
+ 4> cover:analyse(foo, calls, line).
+ {ok,[{{foo,4},1},{{foo,4},0}]}
+
+ In Erlang/OTP 27, there will only be a single entry for line 4:
+
+ 1> cover:compile_module(foo).
+ {ok,foo}
+ 2> foo:bar().
+ ok
+ 3> cover:analyse(foo, coverage, line).
+ {ok,[{{foo,4},{1,0}}]}
+ 4> cover:analyse(foo, calls, line).
+ {ok,[{{foo,4},1}]}
+
+ Own Id: OTP-18998
+ Related Id(s): [GH-8159], [PR-8182]
+
+- Fixed align command in emacs mode.
+
+ Own Id: OTP-19026
+ Related Id(s): [PR-8155]
+
+## Improvements and New Features
+
+- Triple-Quoted Strings has been implemented as per [EEP 64]. See String in the
+ Reference Manual.
+
+ Example:
+
+ ```erlang
+ 1> """
+ a
+ b
+ c
+ """.
+ "a\nb\nc"
+ ```
+
+ Adjacent string literals without intervening white space is now a syntax
+ error, to avoid possible confusion with triple-quoted strings. For example:
+
+ ```text
+ 1> "abc""xyz".
+ "xyz".
+ * 1:6: adjacent string literals without intervening white space
+ ```
+
+ Own Id: OTP-18750
+ Related Id(s): [PR-7313], [PR-7451], OTP-18746
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+ \*\*\* POTENTIAL INCOMPATIBILITY \*\*\*
+
+- There is a new tool [`tprof`], which combines the functionality of [`eprof`]
+ and [`cprof`] under one interface. It also adds heap profiling.
+
+ Own Id: OTP-18756
+ Related Id(s): [PR-6639]
+
+- Native coverage support has been implemented in the JIT. It will automatically
+ be used by the [`cover`] tool to reduce the execution overhead when running
+ cover-compiled code.
+
+ There are also new APIs to support native coverage without using the `cover`
+ tool.
+
+ To instrument code for native coverage it must be compiled with the
+ [`line_coverage`] option.
+
+ To enable native coverage in the runtime system, start it like so:
+
+ ```text
+ $ erl +JPcover true
+ ```
+
+ There are also the following new functions for supporting native coverage:
+
+ - `code:coverage_support/0`
+ - `code:get_coverage/2`
+ - `code:reset_coverage/1`
+ - `code:get_coverage_mode/0`
+ - `code:get_coverage_mode/1`
+ - `code:set_coverage_mode/1`
+
+ Own Id: OTP-18856
+ Related Id(s): [PR-7856]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of tools-4.0
+>
+> compiler-8.5, erts-14.3, erts-14.3, kernel-9.3, runtime_tools-2.1, stdlib-6.0
+
+# wx-2.4.2
+
+## Improvements and New Features
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of wx-2.4.2
+>
+> erts-12.0, kernel-8.0, stdlib-5.0
+
+# xmerl-1.4
+
+## Improvements and New Features
+
+- Function specifications and types have been added to all public API functions.
+
+ Own Id: OTP-18913
+
+- As an alternative to `xmerl_xml`, a new export module `xmerl_xml_indent` that
+ provides out-of-the box indented output has been added.
+
+ Own Id: OTP-18922
+ Related Id(s): [PR-7942]
+
+- The documentation has been migrated to use Markdown and ExDoc.
+
+ Own Id: OTP-18955
+ Related Id(s): [PR-8026]
+
+ \*\*\* HIGHLIGHT \*\*\*
+
+> #### Full runtime dependencies of xmerl-1.4
+>
+> erts-6.0, kernel-3.0, stdlib-2.5
+
+[CTH Execution Order]:
+ https://erlang.org/doc/apps/common_test/ct_hooks_chapter.html#cth_execution_order
+[EEP 48]: https://www.erlang.org/eeps/eep-0048
+[EEP 64]: https://www.erlang.org/eeps/eep-0064
+[EEP 66]: https://www.erlang.org/eeps/eep-0066
+[EEP-48]: https://www.erlang.org/eeps/eep-0048
+[EEP-59 - Documentation Attributes]: https://www.erlang.org/eeps/eep-0059
+[GH-4992]: https://github.com/erlang/otp/issues/4992
+[GH-6152]: https://github.com/erlang/otp/issues/6152
+[GH-6692]: https://github.com/erlang/otp/issues/6692
+[GH-6979]: https://github.com/erlang/otp/issues/6979
+[GH-6985]: https://github.com/erlang/otp/issues/6985
+[GH-7183]: https://github.com/erlang/otp/issues/7183
+[GH-7232]: https://github.com/erlang/otp/issues/7232
+[GH-7266]: https://github.com/erlang/otp/issues/7266
+[GH-7295]: https://github.com/erlang/otp/issues/7295
+[GH-7397]: https://github.com/erlang/otp/issues/7397
+[GH-7432]: https://github.com/erlang/otp/issues/7432
+[GH-7438]: https://github.com/erlang/otp/issues/7438
+[GH-7493]: https://github.com/erlang/otp/issues/7493
+[GH-7494]: https://github.com/erlang/otp/issues/7494
+[GH-7706]: https://github.com/erlang/otp/issues/7706
+[GH-7718]: https://github.com/erlang/otp/issues/7718
+[GH-7972]: https://github.com/erlang/otp/issues/7972
+[GH-8058]: https://github.com/erlang/otp/issues/8058
+[GH-8061]: https://github.com/erlang/otp/issues/8061
+[GH-8066]: https://github.com/erlang/otp/issues/8066
+[GH-8159]: https://github.com/erlang/otp/issues/8159
+[GH-8166]: https://github.com/erlang/otp/issues/8166
+[JSON]: https://en.wikipedia.org/wiki/JSON
+[PR-6510]: https://github.com/erlang/otp/pull/6510
+[PR-6639]: https://github.com/erlang/otp/pull/6639
+[PR-6658]: https://github.com/erlang/otp/pull/6658
+[PR-6791]: https://github.com/erlang/otp/pull/6791
+[PR-6985]: https://github.com/erlang/otp/pull/6985
+[PR-7110]: https://github.com/erlang/otp/pull/7110
+[PR-7125]: https://github.com/erlang/otp/pull/7125
+[PR-7174]: https://github.com/erlang/otp/pull/7174
+[PR-7202]: https://github.com/erlang/otp/pull/7202
+[PR-7220]: https://github.com/erlang/otp/pull/7220
+[PR-7236]: https://github.com/erlang/otp/pull/7236
+[PR-7243]: https://github.com/erlang/otp/pull/7243
+[PR-7267]: https://github.com/erlang/otp/pull/7267
+[PR-7274]: https://github.com/erlang/otp/pull/7274
+[PR-7299]: https://github.com/erlang/otp/pull/7299
+[PR-7313]: https://github.com/erlang/otp/pull/7313
+[PR-7316]: https://github.com/erlang/otp/pull/7316
+[PR-7348]: https://github.com/erlang/otp/pull/7348
+[PR-7380]: https://github.com/erlang/otp/pull/7380
+[PR-7383]: https://github.com/erlang/otp/pull/7383
+[PR-7388]: https://github.com/erlang/otp/pull/7388
+[PR-7398]: https://github.com/erlang/otp/pull/7398
+[PR-7419]: https://github.com/erlang/otp/pull/7419
+[PR-7428]: https://github.com/erlang/otp/pull/7428
+[PR-7441]: https://github.com/erlang/otp/pull/7441
+[PR-7443]: https://github.com/erlang/otp/pull/7443
+[PR-7447]: https://github.com/erlang/otp/pull/7447
+[PR-7451]: https://github.com/erlang/otp/pull/7451
+[PR-7465]: https://github.com/erlang/otp/pull/7465
+[PR-7470]: https://github.com/erlang/otp/pull/7470
+[PR-7474]: https://github.com/erlang/otp/pull/7474
+[PR-7475]: https://github.com/erlang/otp/pull/7475
+[PR-7481]: https://github.com/erlang/otp/pull/7481
+[PR-7491]: https://github.com/erlang/otp/pull/7491
+[PR-7496]: https://github.com/erlang/otp/pull/7496
+[PR-7528]: https://github.com/erlang/otp/pull/7528
+[PR-7534]: https://github.com/erlang/otp/pull/7534
+[PR-7535]: https://github.com/erlang/otp/pull/7535
+[PR-7538]: https://github.com/erlang/otp/pull/7538
+[PR-7556]: https://github.com/erlang/otp/pull/7556
+[PR-7585]: https://github.com/erlang/otp/pull/7585
+[PR-7590]: https://github.com/erlang/otp/pull/7590
+[PR-7592]: https://github.com/erlang/otp/pull/7592
+[PR-7607]: https://github.com/erlang/otp/pull/7607
+[PR-7628]: https://github.com/erlang/otp/pull/7628
+[PR-7639]: https://github.com/erlang/otp/pull/7639
+[PR-7649]: https://github.com/erlang/otp/pull/7649
+[PR-7651]: https://github.com/erlang/otp/pull/7651
+[PR-7675]: https://github.com/erlang/otp/pull/7675
+[PR-7684]: https://github.com/erlang/otp/pull/7684
+[PR-7697]: https://github.com/erlang/otp/pull/7697
+[PR-7699]: https://github.com/erlang/otp/pull/7699
+[PR-7700]: https://github.com/erlang/otp/pull/7700
+[PR-7701]: https://github.com/erlang/otp/pull/7701
+[PR-7702]: https://github.com/erlang/otp/pull/7702
+[PR-7703]: https://github.com/erlang/otp/pull/7703
+[PR-7711]: https://github.com/erlang/otp/pull/7711
+[PR-7720]: https://github.com/erlang/otp/pull/7720
+[PR-7726]: https://github.com/erlang/otp/pull/7726
+[PR-7728]: https://github.com/erlang/otp/pull/7728
+[PR-7732]: https://github.com/erlang/otp/pull/7732
+[PR-7738]: https://github.com/erlang/otp/pull/7738
+[PR-7739]: https://github.com/erlang/otp/pull/7739
+[PR-7740]: https://github.com/erlang/otp/pull/7740
+[PR-7745]: https://github.com/erlang/otp/pull/7745
+[PR-7779]: https://github.com/erlang/otp/pull/7779
+[PR-7781]: https://github.com/erlang/otp/pull/7781
+[PR-7782]: https://github.com/erlang/otp/pull/7782
+[PR-7790]: https://github.com/erlang/otp/pull/7790
+[PR-7809]: https://github.com/erlang/otp/pull/7809
+[PR-7816]: https://github.com/erlang/otp/pull/7816
+[PR-7824]: https://github.com/erlang/otp/pull/7824
+[PR-7844]: https://github.com/erlang/otp/pull/7844
+[PR-7845]: https://github.com/erlang/otp/pull/7845
+[PR-7846]: https://github.com/erlang/otp/pull/7846
+[PR-7847]: https://github.com/erlang/otp/pull/7847
+[PR-7856]: https://github.com/erlang/otp/pull/7856
+[PR-7857]: https://github.com/erlang/otp/pull/7857
+[PR-7869]: https://github.com/erlang/otp/pull/7869
+[PR-7879]: https://github.com/erlang/otp/pull/7879
+[PR-7891]: https://github.com/erlang/otp/pull/7891
+[PR-7898]: https://github.com/erlang/otp/pull/7898
+[PR-7917]: https://github.com/erlang/otp/pull/7917
+[PR-7918]: https://github.com/erlang/otp/pull/7918
+[PR-7936]: https://github.com/erlang/otp/pull/7936
+[PR-7942]: https://github.com/erlang/otp/pull/7942
+[PR-7952]: https://github.com/erlang/otp/pull/7952
+[PR-7957]: https://github.com/erlang/otp/pull/7957
+[PR-7960]: https://github.com/erlang/otp/pull/7960
+[PR-7963]: https://github.com/erlang/otp/pull/7963
+[PR-7973]: https://github.com/erlang/otp/pull/7973
+[PR-7977]: https://github.com/erlang/otp/pull/7977
+[PR-7981]: https://github.com/erlang/otp/pull/7981
+[PR-7993]: https://github.com/erlang/otp/pull/7993
+[PR-8003]: https://github.com/erlang/otp/pull/8003
+[PR-8004]: https://github.com/erlang/otp/pull/8004
+[PR-8006]: https://github.com/erlang/otp/pull/8006
+[PR-8026]: https://github.com/erlang/otp/pull/8026
+[PR-8035]: https://github.com/erlang/otp/pull/8035
+[PR-8042]: https://github.com/erlang/otp/pull/8042
+[PR-8048]: https://github.com/erlang/otp/pull/8048
+[PR-8063]: https://github.com/erlang/otp/pull/8063
+[PR-8067]: https://github.com/erlang/otp/pull/8067
+[PR-8069]: https://github.com/erlang/otp/pull/8069
+[PR-8076]: https://github.com/erlang/otp/pull/8076
+[PR-8086]: https://github.com/erlang/otp/pull/8086
+[PR-8090]: https://github.com/erlang/otp/pull/8090
+[PR-8091]: https://github.com/erlang/otp/pull/8091
+[PR-8092]: https://github.com/erlang/otp/pull/8092
+[PR-8093]: https://github.com/erlang/otp/pull/8093
+[PR-8095]: https://github.com/erlang/otp/pull/8095
+[PR-8103]: https://github.com/erlang/otp/pull/8103
+[PR-8111]: https://github.com/erlang/otp/pull/8111
+[PR-8112]: https://github.com/erlang/otp/pull/8112
+[PR-8155]: https://github.com/erlang/otp/pull/8155
+[PR-8156]: https://github.com/erlang/otp/pull/8156
+[PR-8164]: https://github.com/erlang/otp/pull/8164
+[PR-8168]: https://github.com/erlang/otp/pull/8168
+[PR-8177]: https://github.com/erlang/otp/pull/8177
+[PR-8182]: https://github.com/erlang/otp/pull/8182
+[PR-8205]: https://github.com/erlang/otp/pull/8205
+[PR-8241]: https://github.com/erlang/otp/pull/8241
+[`+zhft <Timeout>`]: erl_cmd.md#+zhft
+[`application`]: https://erlang.org/doc/man/application
+[`binary`]: https://erlang.org/doc/man/binary
+[`compiler`]: https://erlang.org/doc/man/compile
+[`cover`]: https://erlang.org/doc/man/cover
+[`cprof`]: https://erlang.org/doc/man/cprof
+[`ct_hooks`]: https://erlang.org/doc/man/ct_hooks
+[`ct_property_test`]: https://erlang.org/doc/man/ct_property_test
+[`ct_suite`]: https://erlang.org/doc/man/ct_suite
+[`dbg`]: https://erlang.org/doc/man/dbg
+[`diameter_app`]: https://erlang.org/doc/man/diameter_app
+[`diameter_transport`]: https://erlang.org/doc/man/diameter_transport
+[`epp_dodger`]: https://erlang.org/doc/man/epp_dodger
+[`eprof`]: https://erlang.org/doc/man/eprof
+[`erl_error`]: https://erlang.org/doc/man/erl_error
+[`erl_prim_loader`]: https://erlang.org/doc/man/erl_prim_loader
+[`erl_tracer`]: https://erlang.org/doc/man/erl_tracer
+[`ets`]: https://erlang.org/doc/man/ets
+[`flush_timeout`]: https://erlang.org/doc/man/erlang#halt_flush_timeout
+[`gb_sets`]: https://erlang.org/doc/man/gb_sets
+[`gb_trees`]: https://erlang.org/doc/man/gb_trees
+[`gen_event`]: https://erlang.org/doc/man/gen_event
+[`gen_fsm`]: https://erlang.org/doc/man/gen_fsm
+[`gen_server`]: https://erlang.org/doc/man/gen_server
+[`gen_statem`]: https://erlang.org/doc/man/gen_statem
+[`httpd`]: https://erlang.org/doc/man/httpd
+[`inet_dns`]: https://erlang.org/doc/man/inet_dns
+[`instrument`]: https://erlang.org/doc/man/instrument
+[`json`]: https://erlang.org/doc/man/json
+[`line_coverage`]: https://erlang.org/doc/man/compile#line_coverage
+[`logger:Level/1,2,3`]: https://erlang.org/doc/man/logger
+[`logger_formatter`]: https://erlang.org/doc/man/logger_formatter
+[`logger_handler`]: https://erlang.org/doc/man/logger_handler
+[`math`]: https://erlang.org/doc/man/math
+[`megaco_transport`]: https://erlang.org/doc/man/megaco_transport
+[`mod_esi`]: https://erlang.org/doc/man/mod_esi
+[`mod_security`]: https://erlang.org/doc/man/mod_security
+[`observer`]: https://erlang.org/doc/man/observer
+[`ordsets`]: https://erlang.org/doc/man/ordsets
+[`proc_lib`]: https://erlang.org/doc/man/proc_lib
+[`sets`]: https://erlang.org/doc/man/sets
+[`snmp`]: https://erlang.org/doc/man/snmp
+[`snmpa_conf`]: https://erlang.org/doc/man/snmpa_conf
+[`snmpa_network_interface_filter`]:
+ https://erlang.org/doc/man/snmpa_network_interface_filter
+[`snmpa_notification_delivery_info_receiver`]:
+ https://erlang.org/doc/man/snmpa_notification_delivery_info_receiver
+[`snmpa_notification_filter`]:
+ https://erlang.org/doc/man/snmpa_notification_filter
+[`snmpa`]: https://erlang.org/doc/man/snmpa
+[`snmpm_network_interface_filter`]:
+ https://erlang.org/doc/man/snmpm_network_interface_filter
+[`snmpm_user`]: https://erlang.org/doc/man/snmpm_user
+[`snmpm`]: https://erlang.org/doc/man/snmpm
+[`socket`]: https://erlang.org/doc/man/socket
+[`sys`]: https://erlang.org/doc/man/sys
+[`tftp_logger`]: https://erlang.org/doc/man/tftp_logger
+[`timer`]: https://erlang.org/doc/man/timer
+[`tprof`]: https://erlang.org/doc/man/tprof
+[`uri_string`]: https://erlang.org/doc/man/uri_string
+[`zlib`]: https://erlang.org/doc/man/zlib
+[cth_log_redirect]:
+ https://erlang.org/doc/apps/common_test/ct_hooks_chapter.html#built-in-cths
+[specialized decode feature]: https://erlang.org/doc/apps/asn1/asn1_spec.html
diff --git a/update.sh b/update.sh
new file mode 100755
index 0000000..9138a8e
--- /dev/null
+++ b/update.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+if [ -z "$1" ]
+then
+ echo "Missing argument" 1>&2
+ exit 1
+fi
+
+NEW=$1
+VAR=`echo $NEW | sed "s/^\([^.]*\).*/\1/"`
+OLD=`grep -o "^$VAR := .*$" -- early-plugins.mk | sed 's/.* \([a-zA-Z0-9.-]*$\)$/\1/'`
+
+echo Variable: $VAR
+echo Old version: $OLD
+echo New version: $NEW
+
+sed "s/\(^$VAR :=.*\) [a-zA-Z0-9.-]*$/\1 $NEW/" -- early-plugins.mk > early-plugins.1.tmp
+sed "/^$VAR-DROPPED := .*\\\\$/ { : again; /\\\\$/ { N; b again }; s/$/ $OLD/ }" -- early-plugins.1.tmp > early-plugins.2.tmp
+
+rm early-plugins.1.tmp
+mv early-plugins.2.tmp early-plugins.mk
+wget https://erlang.org/download/$NEW.README -O release-notes/$NEW.README.txt
+
+git add early-plugins.mk release-notes/$NEW.README.txt
+git diff --cached
+echo Press Enter to commit and push, Ctrl+C to abort, Ctrl+Z to pause
+read
+
+git commit -m "$NEW"
+git push upstream master