From eb25ea44d83a3b5ee15d0e646ff9305a06e4eee2 Mon Sep 17 00:00:00 2001 From: Paul Nicholson Date: Mon, 9 Mar 2026 21:53:32 -0400 Subject: [PATCH] Update for Elixir 1.15+ compatibility & bump version to 0.3.0 - Require Elixir ~> 1.11 - Switch to `import Config` from deprecated `use Mix.Config` - Use parentheses for zero-arity function calls (deps/0, package/0) - Switch to `extra_applications` from deprecated `applications` - Switch iconverl dependency from GitHub git ref to Hex package - Update Travis CI to test against Elixir 1.11.4 / OTP 23.0 - Update mix.lock with new dependency versions --- .travis.yml | 4 ++-- CHANGELOG.md | 6 ++++++ config/config.exs | 2 +- config/runtime.exs | 10 ++++++++++ mix.exs | 13 +++++++------ mix.lock | 23 +++++++++-------------- 6 files changed, 35 insertions(+), 23 deletions(-) create mode 100644 config/runtime.exs diff --git a/.travis.yml b/.travis.yml index 7f8376a..6f48541 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: elixir elixir: - - 1.3.1 + - 1.11.4 otp_release: - - 18.3 + - 23.0 script: - "MIX_ENV=test mix do deps.get, compile, coveralls.travis" diff --git a/CHANGELOG.md b/CHANGELOG.md index 6838967..e93be92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,12 @@ Changelog ========= +0.3.0 +----- + +* Fix compilation issue on Elixir 1.15 +* Require Elixir ~> 1.4 + 0.2.0 ----- diff --git a/config/config.exs b/config/config.exs index 6dfa82f..8f81a0f 100644 --- a/config/config.exs +++ b/config/config.exs @@ -1,6 +1,6 @@ # This file is responsible for configuring your application # and its dependencies with the aid of the Mix.Config module. -use Mix.Config +import Config # This configuration is loaded before any dependency and is restricted # to this project. If another project depends on this project, this diff --git a/config/runtime.exs b/config/runtime.exs new file mode 100644 index 0000000..dd2d96a --- /dev/null +++ b/config/runtime.exs @@ -0,0 +1,10 @@ +import Config + +if config_env() == :test do + config :excoveralls, + http_options: [ + ssl: [ + cacertfile: CAStore.file_path() + ] + ] +end diff --git a/mix.exs b/mix.exs index 3e0961e..f50f00b 100644 --- a/mix.exs +++ b/mix.exs @@ -4,14 +4,14 @@ defmodule ExDataURI.Mixfile do def project do [ app: :exdatauri, - version: "0.2.0", + version: "0.3.0", description: "A RFC 2397 URI parser for Elixir", - elixir: "~> 1.3", + elixir: "~> 1.11", build_embedded: Mix.env == :prod, start_permanent: Mix.env == :prod, - deps: deps, + deps: deps(), test_coverage: [tool: ExCoveralls], - package: package, + package: package(), ] end @@ -19,7 +19,7 @@ defmodule ExDataURI.Mixfile do # # Type `mix help compile.app` for more information def application do - [applications: [:logger]] + [extra_applications: [:logger]] end # Dependencies can be Hex packages: @@ -33,13 +33,14 @@ defmodule ExDataURI.Mixfile do # Type `mix help deps` for more examples and options defp deps do [ - {:iconverl, github: "edescourtis/iconverl", tag: "3.0.17"}, + {:iconverl, "~> 3.0"}, {:earmark, "~> 0.1", only: :dev}, {:ex_doc, "~> 0.8", only: :dev}, {:dialyze, "~> 0.2.0", only: :dev}, {:excoveralls, "~> 0.3", only: :test}, + {:castore, "~> 1.0", only: :test} ] end diff --git a/mix.lock b/mix.lock index 846dc5b..a0c3516 100644 --- a/mix.lock +++ b/mix.lock @@ -1,14 +1,9 @@ -%{"certifi": {:hex, :certifi, "0.4.0", "a7966efb868b179023618d29a407548f70c52466bf1849b9e8ebd0e34b7ea11f", [:rebar3], []}, - "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], []}, - "earmark": {:hex, :earmark, "0.2.1", "ba6d26ceb16106d069b289df66751734802777a3cbb6787026dd800ffeb850f3", [:mix], []}, - "ex_doc": {:hex, :ex_doc, "0.12.0", "b774aabfede4af31c0301aece12371cbd25995a21bb3d71d66f5c2fe074c603f", [:mix], [{:earmark, "~> 0.2", [hex: :earmark, optional: false]}]}, - "excoveralls": {:hex, :excoveralls, "0.5.5", "d97b6fc7aa59c5f04f2fa7ec40fc0b7555ceea2a5f7e7c442aad98ddd7f79002", [:mix], [{:hackney, ">= 0.12.0", [hex: :hackney, optional: false]}, {:exjsx, "~> 3.0", [hex: :exjsx, optional: false]}]}, - "exjsx": {:hex, :exjsx, "3.2.0", "7136cc739ace295fc74c378f33699e5145bead4fdc1b4799822d0287489136fb", [:mix], [{:jsx, "~> 2.6.2", [hex: :jsx, optional: false]}]}, - "hackney": {:hex, :hackney, "1.6.0", "8d1e9440c9edf23bf5e5e2fe0c71de03eb265103b72901337394c840eec679ac", [:rebar3], [{:ssl_verify_fun, "1.1.0", [hex: :ssl_verify_fun, optional: false]}, {:mimerl, "1.0.2", [hex: :mimerl, optional: false]}, {:metrics, "1.0.1", [hex: :metrics, optional: false]}, {:idna, "1.2.0", [hex: :idna, optional: false]}, {:certifi, "0.4.0", [hex: :certifi, optional: false]}]}, - "iconverl": {:git, "https://github.com/edescourtis/iconverl.git", "cec4271edeca4ce75cc0fa1fbba14fa0fc7f345f", [tag: "3.0.17"]}, - "idna": {:hex, :idna, "1.2.0", "ac62ee99da068f43c50dc69acf700e03a62a348360126260e87f2b54eced86b2", [:rebar3], []}, - "jsx": {:hex, :jsx, "2.6.2", "213721e058da0587a4bce3cc8a00ff6684ced229c8f9223245c6ff2c88fbaa5a", [:mix, :rebar], []}, - "metrics": {:hex, :metrics, "1.0.1", "25f094dea2cda98213cecc3aeff09e940299d950904393b2a29d191c346a8486", [:rebar3], []}, - "mimerl": {:hex, :mimerl, "1.0.2", "993f9b0e084083405ed8252b99460c4f0563e41729ab42d9074fd5e52439be88", [:rebar3], []}, - "ssl_verify_fun": {:hex, :ssl_verify_fun, "1.1.0", "edee20847c42e379bf91261db474ffbe373f8acb56e9079acb6038d4e0bf414f", [:rebar, :make], []}, - "ssl_verify_hostname": {:hex, :ssl_verify_hostname, "1.0.5", "2e73e068cd6393526f9fa6d399353d7c9477d6886ba005f323b592d389fb47be", [:make], []}} +%{ + "castore": {:hex, :castore, "1.0.17", "4f9770d2d45fbd91dcf6bd404cf64e7e58fed04fadda0923dc32acca0badffa2", [:mix], [], "hexpm", "12d24b9d80b910dd3953e165636d68f147a31db945d2dcb9365e441f8b5351e5"}, + "dialyze": {:hex, :dialyze, "0.2.1", "9fb71767f96649020d769db7cbd7290059daff23707d6e851e206b1fdfa92f9d", [:mix], [], "hexpm", "f485181fa53229356621261a384963cb47511cccf1454e82ca4fde53274fcd48"}, + "earmark": {:hex, :earmark, "0.2.1", "ba6d26ceb16106d069b289df66751734802777a3cbb6787026dd800ffeb850f3", [:mix], [], "hexpm", "c86afb8d22a5aa8315afd4257c7512011c0c9a48b0fea43af7612836b958098b"}, + "ex_doc": {:hex, :ex_doc, "0.12.0", "b774aabfede4af31c0301aece12371cbd25995a21bb3d71d66f5c2fe074c603f", [:mix], [{:earmark, "~> 0.2", [hex: :earmark, repo: "hexpm", optional: false]}], "hexpm", "76a04c6bb6876df8eae8ff8bf34fb1004bbead5172d31c9dfd71c4e3aed011b7"}, + "excoveralls": {:hex, :excoveralls, "0.18.5", "e229d0a65982613332ec30f07940038fe451a2e5b29bce2a5022165f0c9b157e", [:mix], [{:castore, "~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "523fe8a15603f86d64852aab2abe8ddbd78e68579c8525ae765facc5eae01562"}, + "iconverl": {:hex, :iconverl, "3.0.21", "3d57714f860c65f5526206aebec3d934751825d4b832ca4463a368e3b74f16b2", [:rebar3], [], "hexpm", "02854381d06ea1538ce37d8f4908c4e5b1367c6799f46c78ab84fe9a522f214e"}, + "jason": {:hex, :jason, "1.4.4", "b9226785a9aa77b6857ca22832cffa5d5011a667207eb2a0ad56adb5db443b8a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "c5eb0cab91f094599f94d55bc63409236a8ec69a21a67814529e8d5f6cc90b3b"}, +}