diff --git a/.github/workflows/elixir.yml b/.github/workflows/elixir.yml
index b480cc05..9d4159ad 100644
--- a/.github/workflows/elixir.yml
+++ b/.github/workflows/elixir.yml
@@ -12,8 +12,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
- otp: ['25']
- elixir: ['1.13']
+ otp: ["26"]
+ elixir: ["1.16"]
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: erlef/setup-beam@v1
@@ -34,7 +34,8 @@ jobs:
- run: mix compile --warnings-as-errors
- run: mix format --check-formatted
- run: mix credo --strict --all
- - run: mix dialyzer
+ - run: mix dialyzer --format github
+ - run: mix docs --warnings-as-errors
test_examples:
runs-on: ubuntu-latest
@@ -44,9 +45,10 @@ jobs:
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: erlef/setup-beam@v1
+ id: beam
with:
- otp-version: 24
- elixir-version: 1.13
+ otp-version: 26
+ elixir-version: 1.16
- uses: actions/cache@cdf6c1fa76f9f475f3d7449005a359c84ca0f306 # v5.0.3
with:
key: |
@@ -61,20 +63,24 @@ jobs:
run: mix do deps.get, test
test:
- runs-on: ubuntu-20.04
+ runs-on: ubuntu-24.04
name: Test (OTP ${{matrix.otp}} / Elixir ${{matrix.elixir}})
strategy:
matrix:
- otp: ['22', '23', '24', '25']
- elixir: ['1.10', '1.11', '1.12', '1.13']
+ otp: ["24", "25", "26"]
+ elixir: ["1.14", "1.15", "1.16", "1.18"]
+ # Test each elixir version with lowest and highest compatible OTP version, exclude others
+ # See https://hexdocs.pm/elixir/compatibility-and-deprecations.html#between-elixir-and-erlang-otp
exclude:
- - {otp: '24', elixir: '1.10'}
- - {otp: '25', elixir: '1.10'}
- - {otp: '25', elixir: '1.11'}
- - {otp: '25', elixir: '1.12'}
+ - { otp: "24", elixir: "1.14" }
+ - { otp: "24", elixir: "1.18" }
+ - { otp: "25", elixir: "1.14" }
+ - { otp: "25", elixir: "1.15" }
+ - { otp: "25", elixir: "1.16" }
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: erlef/setup-beam@v1
+ id: beam
with:
otp-version: ${{matrix.otp}}
elixir-version: ${{matrix.elixir}}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 5fd59a83..f1aa430f 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -16,7 +16,7 @@ jobs:
id: beam
with:
otp-version: 25
- elixir-version: 1.13
+ elixir-version: 1.14
- id: deps
name: Fetch and compile dependencies
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 96af969f..b7d37589 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,103 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
+## v3.22.3 - 2026-05-05
+
+* chore: removed unused require(s) by @David-Klemenc in https://github.com/open-api-spex/open_api_spex/pull/700
+* Relax decimal requirement by @josevalim in https://github.com/open-api-spex/open_api_spex/pull/702
+
+## v3.22.2 - 2026-01-08
+
+* fix: type warnings Elixir 1.19 by @davydog187 in https://github.com/open-api-spex/open_api_spex/pull/693
+
+## v3.22.1 - 2025-11-21
+
+* Fix elixir 1.19 support by @adamcstephens in https://github.com/open-api-spex/open_api_spex/pull/685
+
+## v3.22.0 - 2025-08-05
+
+* Support multiple apps in Plug.SwaggerUI by @zorbash in https://github.com/open-api-spex/open_api_spex/pull/676
+* Validate keys given to operation/2 macro by @xxdavid in https://github.com/open-api-spex/open_api_spex/pull/675
+
+## v3.21.5 - 2025-07-08
+
+* Fix assert_operation_response/2 references by @zorbash in https://github.com/open-api-spex/open_api_spex/pull/673
+
+## v3.21.4 - 2025-07-01
+
+* Fix OTP-28 support by @bopm in https://github.com/open-api-spex/open_api_spex/pull/672
+
+## v3.21.3 - 2025-06-25
+
+* Fix cast x-validate when decoded schema by @GPrimola in https://github.com/open-api-spex/open_api_spex/pull/647
+* Add examples property to Schema by @madjar in https://github.com/open-api-spex/open_api_spex/pull/654
+* Document schema resolver duplicate titles behaviour by @zorbash in https://github.com/open-api-spex/open_api_spex/pull/656
+* Fix 1.18 compilation warnings by @zorbash in https://github.com/open-api-spex/open_api_spex/pull/665
+
+## v3.21.2 - 2024-10-02
+
+* Use latest version of SwaggerUI by default, but allow it to be configured by @jarmo in https://github.com/open-api-spex/open_api_spex/pull/628
+* Exporting to YAML preserves nil values in examples by @zorbash in f3cd32bee2a
+
+## v3.21.1 - 2024-09-17
+
+* Fix schema inspection argument error by @zorbash. https://github.com/open-api-spex/open_api_spex/issues/636
+
+## v3.21.0 - 2024-09-12
+
+* Update dev dependencies and example apps by @zorbash in https://github.com/open-api-spex/open_api_spex/pull/624
+* Support casting decimals by @zorbash in https://github.com/open-api-spex/open_api_spex/pull/634
+* Support decoding operations with :servers. by @loguntsov in https://github.com/open-api-spex/open_api_spex/pull/635
+
+## v3.20.1 - 2024-07-31
+
+* Support custom error messages in custom validators by @GregorGrasselli in https://github.com/open-api-spex/open_api_spex/pull/621
+* Update Schema.example/2 typespec to allow references by @zorbash in 5ec452f
+
+## v3.20.0 - 2024-07-10
+
+* Respect minLength when generating string examples by @zorbash in https://github.com/open-api-spex/open_api_spex/pull/608
+* Accept read_write_scope from opts when calling cast functions directly by @albertored in https://github.com/open-api-spex/open_api_spex/pull/572
+* Allow Poison v6 to be used by @hkrutzer in https://github.com/open-api-spex/open_api_spex/pull/616
+* chore: Drop build matrix support for elixir 1.11, 1.12, 1.13 and OTP 22 by @mbuhot in https://github.com/open-api-spex/open_api_spex/pull/619
+* improvement: use struct spec to avoid double `%` in struct inspect by @zachdaniel in https://github.com/open-api-spex/open_api_spex/pull/613
+* Feat: add `--check` option in Mix tasks to compare the generated spec with a previously generated file by @davidebriani in https://github.com/open-api-spex/open_api_spex/pull/618
+* fix: cast numbers as floats by @David-Klemenc in https://github.com/open-api-spex/open_api_spex/pull/611
+
+## v3.19.1 - 2024-05-17
+
+* Add notice that body params are not merged into Conn.params whne using cast and validate plug by @hamir-suspect in #589
+* Set nonces on `
-
-
+
+ <%= if script_src_nonce do %>
+
-