Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,16 @@ jobs:
fail-fast: false
matrix:
include:
# Linux - OTP 27 (minimum supported)
- os: ubuntu-24.04
otp: "27"
python: "3.12"
- os: ubuntu-24.04
otp: "27"
python: "3.13"
- os: ubuntu-24.04
otp: "27"
python: "3.14"
# Linux - OTP 28
- os: ubuntu-24.04
otp: "28"
Expand Down Expand Up @@ -130,7 +140,7 @@ jobs:
usesh: true
prepare: |
# Stock `erlang` pkg lags at OTP 26; use the versioned runtime
# package so we test on a supported OTP (28+).
# package so we test on a supported OTP (27+).
pkg install -y erlang-runtime28 ${{ matrix.python_pkg }} cmake
# numpy package follows the py<noDot>-numpy convention.
# Non-fatal: not every FreeBSD pkg snapshot ships numpy for
Expand Down
9 changes: 9 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,14 @@
# Changelog

## Unreleased

### Changed

- **Lower minimum OTP to 27** - `minimum_otp_vsn` is now `27`. The OTP 28/29
support work was source-compatible with 27 (the `try ... catch` cleanups build
fine there), so the floor was raised further than needed. CI now also builds and
runs the full Common Test suite on OTP 27 across Python 3.12/3.13/3.14.

## 3.1.0 (2026-05-30)

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ Key features:

## Requirements

- Erlang/OTP 28+ (tested on OTP 28 and 29)
- Erlang/OTP 27+ (tested on OTP 27, 28, and 29)
- Python 3.12+ (3.13+ for free-threading)
- C compiler (gcc, clang)

Expand Down
2 changes: 1 addition & 1 deletion rebar.config
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{erl_opts, [debug_info]}.

{minimum_otp_vsn, "28"}.
{minimum_otp_vsn, "27"}.

{xref_checks, [
undefined_function_calls,
Expand Down
Loading