Packages
appsignal
2.17.4
2.17.4
2.17.3
2.17.2
2.17.1
2.17.0
2.16.0
2.15.11
2.15.10
2.15.9
2.15.8
2.15.7
2.15.6
2.15.5
2.15.4
2.15.3
2.15.2
2.15.1
2.15.0
2.14.1
2.14.0
2.13.4
2.13.3
2.13.2
2.13.1
2.13.0
2.12.3
2.12.2
2.12.1
2.12.0
2.11.0
2.10.2
2.10.1
2.10.0
2.9.2
2.9.1
2.9.0
2.8.3
2.8.2
2.8.1
2.8.0
2.7.13
2.7.12
2.7.11
2.7.10
2.7.9
2.7.8
2.7.7
2.7.6
2.7.5
2.7.4
2.7.3
2.7.2
2.7.1
2.7.0
2.7.0-beta.1
2.6.1
2.6.0
2.5.3
2.5.2
2.5.1
2.5.0
2.4.3
2.4.2
2.4.1
2.4.0
2.3.1
2.3.0
2.2.19
2.2.18
2.2.17
2.2.16
2.2.15
2.2.14
2.2.13
2.2.12
retired
2.2.11
2.2.10
2.2.9
2.2.8
2.2.7
2.2.6
2.2.5
2.2.4
2.2.3
2.2.2
2.2.1
2.2.0
2.1.15
2.1.14
2.1.13
2.1.12
2.1.11
2.1.10
2.1.9
2.1.8
2.1.7
2.1.7-beta.1
2.1.6
2.1.5
2.1.4
2.1.3
2.1.2
2.1.1
2.1.0
2.0.8
2.0.7
2.0.6
2.0.6-beta.1
2.0.5
retired
2.0.4
retired
2.0.3
retired
2.0.2
retired
2.0.1
retired
2.0.0
retired
2.0.0-beta.11
2.0.0-beta.10
2.0.0-beta.9
2.0.0-beta.8
2.0.0-beta.7
2.0.0-beta.6
2.0.0-beta.5
2.0.0-beta.4
2.0.0-beta.3
2.0.0-beta.2
2.0.0-beta.1
2.0.0-alpha.7
2.0.0-alpha.6
2.0.0-alpha.5
2.0.0-alpha.4
2.0.0-alpha.3
2.0.0-alpha.2
2.0.0-alpha.1
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.13.0-beta.2
1.13.0-beta.1
1.12.1
1.12.0
1.12.0-beta.3
1.12.0-beta.2
1.12.0-beta.1
1.11.8
1.11.7
1.11.6
1.11.5
1.11.4
1.11.3
1.11.2
1.11.1
1.11.0
1.11.0-beta.1
1.10.13
1.10.12
1.10.11
1.10.10
1.10.9
1.10.8
1.10.7
1.10.6
1.10.5
1.10.4
1.10.3
1.10.2
1.10.1
1.10.0
1.9.4
1.9.3
1.9.2
1.9.1
1.9.1-beta.1
1.9.0
1.9.0-beta.1
1.9.0-alpha.1
1.8.2
1.8.1
1.8.1-beta.2
1.8.1-beta.1
1.8.0
1.7.2
1.7.1
1.7.0
1.7.0-beta.2
1.7.0-beta.1
1.7.0-alpha.4
1.7.0-alpha.3
1.7.0-alpha.2
1.7.0-alpha.1
1.6.7
1.6.6
1.6.6-beta.2
1.6.6-beta.1
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.6.0-beta.1
1.6.0-alpha.1
1.5.1
1.5.0
1.5.0-beta.2
1.5.0-beta.1
1.4.11-beta.1
1.4.10
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.4.0-alpha.1
1.3.6
1.3.6-beta.1
1.3.5
1.3.4
1.3.4-beta.1
1.3.3
1.3.2
1.3.1
1.3.0
1.3.0-beta.3
1.3.0-beta.2
1.3.0-beta.1
1.2.3
1.2.2
1.2.1
1.2.0
1.1.1
1.1.0
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
1.0.0-rc.1
0.13.0
0.12.3
0.12.2
0.12.1
0.12.0
0.11.6
0.11.5
0.11.4
0.11.3
0.11.2
0.11.1
0.11.0
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
Collects error and performance data from your Elixir applications and sends it to AppSignal
Current section
280 Versions
Jump to
Current section
280 Versions
Compare versions
4
files changed
+91
additions
-55
deletions
| @@ -1,5 +1,17 @@ | |
| 1 1 | # AppSignal for Elixir changelog |
| 2 2 | |
| 3 | + ## 2.17.4 |
| 4 | + |
| 5 | + _Published on 2026-07-09._ |
| 6 | + |
| 7 | + ### Changed |
| 8 | + |
| 9 | + - Allow HTTPoison 3.0 to be used as an optional dependency. Applications |
| 10 | + on HTTPoison 3.0 can now use AppSignal's HTTPoison instrumentation |
| 11 | + without a version conflict. |
| 12 | + |
| 13 | + (patch [f697a54d](https://github.com/appsignal/appsignal-elixir/commit/f697a54db8780bde36430e074142bbb250c50844)) |
| 14 | + |
| 3 15 | ## 2.17.3 |
| 4 16 | |
| 5 17 | _Published on 2026-06-04._ |
| @@ -3,57 +3,10 @@ | |
| 3 3 | <<"https://github.com/appsignal/appsignal-elixir/blob/main/CHANGELOG.md">>}, |
| 4 4 | {<<"GitHub">>,<<"https://github.com/appsignal/appsignal-elixir">>}]}. |
| 5 5 | {<<"name">>,<<"appsignal">>}. |
| 6 | - {<<"version">>,<<"2.17.3">>}. |
| 6 | + {<<"version">>,<<"2.17.4">>}. |
| 7 7 | {<<"description">>, |
| 8 8 | <<"Collects error and performance data from your Elixir applications and sends it to AppSignal">>}. |
| 9 9 | {<<"elixir">>,<<"~> 1.9">>}. |
| 10 | - {<<"app">>,<<"appsignal">>}. |
| 11 | - {<<"requirements">>, |
| 12 | - [[{<<"name">>,<<"castore">>}, |
| 13 | - {<<"app">>,<<"castore">>}, |
| 14 | - {<<"optional">>,false}, |
| 15 | - {<<"requirement">>,<<"~> 1.0">>}, |
| 16 | - {<<"repository">>,<<"hexpm">>}], |
| 17 | - [{<<"name">>,<<"certifi">>}, |
| 18 | - {<<"app">>,<<"certifi">>}, |
| 19 | - {<<"optional">>,false}, |
| 20 | - {<<"requirement">>,<<"~> 2.14">>}, |
| 21 | - {<<"repository">>,<<"hexpm">>}], |
| 22 | - [{<<"name">>,<<"decimal">>}, |
| 23 | - {<<"app">>,<<"decimal">>}, |
| 24 | - {<<"optional">>,false}, |
| 25 | - {<<"requirement">>,<<"~> 2.0 or ~> 3.1">>}, |
| 26 | - {<<"repository">>,<<"hexpm">>}], |
| 27 | - [{<<"name">>,<<"finch">>}, |
| 28 | - {<<"app">>,<<"finch">>}, |
| 29 | - {<<"optional">>,false}, |
| 30 | - {<<"requirement">>,<<"~> 0.19">>}, |
| 31 | - {<<"repository">>,<<"hexpm">>}], |
| 32 | - [{<<"name">>,<<"jason">>}, |
| 33 | - {<<"app">>,<<"jason">>}, |
| 34 | - {<<"optional">>,false}, |
| 35 | - {<<"requirement">>,<<"~> 1.0">>}, |
| 36 | - {<<"repository">>,<<"hexpm">>}], |
| 37 | - [{<<"name">>,<<"decorator">>}, |
| 38 | - {<<"app">>,<<"decorator">>}, |
| 39 | - {<<"optional">>,false}, |
| 40 | - {<<"requirement">>,<<"~> 1.2.3 or ~> 1.3">>}, |
| 41 | - {<<"repository">>,<<"hexpm">>}], |
| 42 | - [{<<"name">>,<<"telemetry">>}, |
| 43 | - {<<"app">>,<<"telemetry">>}, |
| 44 | - {<<"optional">>,false}, |
| 45 | - {<<"requirement">>,<<"~> 0.4 or ~> 1.0">>}, |
| 46 | - {<<"repository">>,<<"hexpm">>}], |
| 47 | - [{<<"name">>,<<"httpoison">>}, |
| 48 | - {<<"app">>,<<"httpoison">>}, |
| 49 | - {<<"optional">>,true}, |
| 50 | - {<<"requirement">>,<<"~> 2.0">>}, |
| 51 | - {<<"repository">>,<<"hexpm">>}], |
| 52 | - [{<<"name">>,<<"logger_backends">>}, |
| 53 | - {<<"app">>,<<"logger_backends">>}, |
| 54 | - {<<"optional">>,false}, |
| 55 | - {<<"requirement">>,<<"~> 1.0">>}, |
| 56 | - {<<"repository">>,<<"hexpm">>}]]}. |
| 57 10 | {<<"files">>, |
| 58 11 | [<<"lib">>,<<"lib/appsignal.ex">>,<<"lib/appsignal">>, |
| 59 12 | <<"lib/appsignal/transaction.ex">>, |
| @@ -105,5 +58,52 @@ | |
| 105 58 | <<"mix.exs">>,<<"mix_helpers.exs">>,<<"CHANGELOG.md">>, |
| 106 59 | <<"CODE_OF_CONDUCT.md">>,<<"README.md">>,<<"SUPPORT.md">>,<<"LICENSE">>, |
| 107 60 | <<"Makefile">>,<<"agent.exs">>,<<"priv/cacert.pem">>]}. |
| 61 | + {<<"app">>,<<"appsignal">>}. |
| 62 | + {<<"requirements">>, |
| 63 | + [[{<<"name">>,<<"castore">>}, |
| 64 | + {<<"app">>,<<"castore">>}, |
| 65 | + {<<"optional">>,false}, |
| 66 | + {<<"requirement">>,<<"~> 1.0">>}, |
| 67 | + {<<"repository">>,<<"hexpm">>}], |
| 68 | + [{<<"name">>,<<"certifi">>}, |
| 69 | + {<<"app">>,<<"certifi">>}, |
| 70 | + {<<"optional">>,false}, |
| 71 | + {<<"requirement">>,<<"~> 2.14">>}, |
| 72 | + {<<"repository">>,<<"hexpm">>}], |
| 73 | + [{<<"name">>,<<"decimal">>}, |
| 74 | + {<<"app">>,<<"decimal">>}, |
| 75 | + {<<"optional">>,false}, |
| 76 | + {<<"requirement">>,<<"~> 2.0 or ~> 3.1">>}, |
| 77 | + {<<"repository">>,<<"hexpm">>}], |
| 78 | + [{<<"name">>,<<"finch">>}, |
| 79 | + {<<"app">>,<<"finch">>}, |
| 80 | + {<<"optional">>,false}, |
| 81 | + {<<"requirement">>,<<"~> 0.19">>}, |
| 82 | + {<<"repository">>,<<"hexpm">>}], |
| 83 | + [{<<"name">>,<<"jason">>}, |
| 84 | + {<<"app">>,<<"jason">>}, |
| 85 | + {<<"optional">>,false}, |
| 86 | + {<<"requirement">>,<<"~> 1.0">>}, |
| 87 | + {<<"repository">>,<<"hexpm">>}], |
| 88 | + [{<<"name">>,<<"decorator">>}, |
| 89 | + {<<"app">>,<<"decorator">>}, |
| 90 | + {<<"optional">>,false}, |
| 91 | + {<<"requirement">>,<<"~> 1.2.3 or ~> 1.3">>}, |
| 92 | + {<<"repository">>,<<"hexpm">>}], |
| 93 | + [{<<"name">>,<<"telemetry">>}, |
| 94 | + {<<"app">>,<<"telemetry">>}, |
| 95 | + {<<"optional">>,false}, |
| 96 | + {<<"requirement">>,<<"~> 0.4 or ~> 1.0">>}, |
| 97 | + {<<"repository">>,<<"hexpm">>}], |
| 98 | + [{<<"name">>,<<"httpoison">>}, |
| 99 | + {<<"app">>,<<"httpoison">>}, |
| 100 | + {<<"optional">>,true}, |
| 101 | + {<<"requirement">>,<<"~> 2.0 or ~> 3.0">>}, |
| 102 | + {<<"repository">>,<<"hexpm">>}], |
| 103 | + [{<<"name">>,<<"logger_backends">>}, |
| 104 | + {<<"app">>,<<"logger_backends">>}, |
| 105 | + {<<"optional">>,false}, |
| 106 | + {<<"requirement">>,<<"~> 1.0">>}, |
| 107 | + {<<"repository">>,<<"hexpm">>}]]}. |
| 108 108 | {<<"licenses">>,[<<"MIT">>]}. |
| 109 109 | {<<"build_tools">>,[<<"mix">>,<<"make">>]}. |
| @@ -350,7 +350,7 @@ defmodule Appsignal.Config do | |
| 350 350 | ) |
| 351 351 | @bool_keys ~w( |
| 352 352 | APPSIGNAL_ACTIVE APPSIGNAL_DEBUG APPSIGNAL_INSTRUMENT_NET_HTTP APPSIGNAL_ENABLE_FRONTEND_ERROR_CATCHING |
| 353 | - APPSIGNAL_ENABLE_GC_INSTRUMENTATION APPSIGNAL_RUNNING_IN_CONTAINER |
| 353 | + APPSIGNAL_RUNNING_IN_CONTAINER |
| 354 354 | APPSIGNAL_ENABLE_HOST_METRICS APPSIGNAL_SEND_SESSION_DATA APPSIGNAL_SKIP_SESSION_DATA |
| 355 355 | APPSIGNAL_TRANSACTION_DEBUG_MODE APPSIGNAL_FILES_WORLD_ACCESSIBLE APPSIGNAL_SEND_PARAMS |
| 356 356 | APPSIGNAL_ENABLE_MINUTELY_PROBES APPSIGNAL_ENABLE_STATSD APPSIGNAL_ENABLE_NGINX_METRICS |
| @@ -30,7 +30,7 @@ defmodule Appsignal.Mixfile do | |
| 30 30 | use Mix.Project |
| 31 31 | |
| 32 32 | @source_url "https://github.com/appsignal/appsignal-elixir" |
| 33 | - @version "2.17.3" |
| 33 | + @version "2.17.4" |
| 34 34 | |
| 35 35 | def project do |
| 36 36 | [ |
| @@ -54,7 +54,8 @@ defmodule Appsignal.Mixfile do | |
| 54 54 | ], |
| 55 55 | dialyzer: [ |
| 56 56 | plt_file: {:no_warn, "priv/plts/dialyzer.plt"}, |
| 57 | - plt_add_apps: [:mix] |
| 57 | + plt_add_apps: [:mix], |
| 58 | + ignore_warnings: ".dialyzer_ignore.exs" |
| 58 59 | ] |
| 59 60 | ] |
| 60 61 | end |
| @@ -135,6 +136,14 @@ defmodule Appsignal.Mixfile do | |
| 135 136 | false -> "~> 0.4 or ~> 1.0" |
| 136 137 | end |
| 137 138 | |
| 139 | + # httpoison 3.0 depends on hackney 4.0, which pulls in quic and requires |
| 140 | + # OTP 26 or later. Cap httpoison at 2.x on older OTP releases. |
| 141 | + httpoison_version = |
| 142 | + case otp_version < "26" do |
| 143 | + true -> "~> 2.0" |
| 144 | + false -> "~> 2.0 or ~> 3.0" |
| 145 | + end |
| 146 | + |
| 138 147 | mime_dependency = |
| 139 148 | case Version.compare(system_version, "1.10.0") do |
| 140 149 | :lt -> [{:mime, "~> 1.0", only: [:test, :test_no_nif]}] |
| @@ -148,8 +157,15 @@ defmodule Appsignal.Mixfile do | |
| 148 157 | |
| 149 158 | _ -> |
| 150 159 | case Version.compare(system_version, "1.14.0") do |
| 151 | - :lt -> "~> 1.14 and < 1.19.0" |
| 152 | - _ -> "~> 1.14" |
| 160 | + :lt -> |
| 161 | + "~> 1.14 and < 1.19.0" |
| 162 | + |
| 163 | + _ -> |
| 164 | + # plug 1.20.0 requires Elixir ~> 1.15, so cap it on 1.14. |
| 165 | + case Version.compare(system_version, "1.15.0") do |
| 166 | + :lt -> "~> 1.14 and < 1.20.0" |
| 167 | + _ -> "~> 1.14" |
| 168 | + end |
| 153 169 | end |
| 154 170 | end |
| 155 171 | |
| @@ -165,6 +181,14 @@ defmodule Appsignal.Mixfile do | |
| 165 181 | _ -> [{:logger_backends, "~> 1.0"}] |
| 166 182 | end |
| 167 183 | |
| 184 | + # hpax is a transitive dependency (via finch/mint). Version 1.0.4 requires |
| 185 | + # Elixir ~> 1.15, so pin to the last compatible version on older Elixirs. |
| 186 | + hpax_dependency = |
| 187 | + case Version.compare(system_version, "1.15.0") do |
| 188 | + :lt -> [{:hpax, ">= 1.0.0 and < 1.0.4", override: true}] |
| 189 | + _ -> [] |
| 190 | + end |
| 191 | + |
| 168 192 | [ |
| 169 193 | {:castore, "~> 1.0"}, |
| 170 194 | {:certifi, "~> 2.14"}, |
| @@ -180,7 +204,7 @@ defmodule Appsignal.Mixfile do | |
| 180 204 | {:credo, credo_version, only: [:test, :dev], runtime: false}, |
| 181 205 | {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, |
| 182 206 | {:telemetry, telemetry_version}, |
| 183 | - {:httpoison, "~> 2.0", optional: true} |
| 184 | - ] ++ mime_dependency ++ logger_backends_dependency |
| 207 | + {:httpoison, httpoison_version, optional: true} |
| 208 | + ] ++ mime_dependency ++ logger_backends_dependency ++ hpax_dependency |
| 185 209 | end |
| 186 210 | end |