ex_ussd_simulator

Build log

nerves_system_trellis

ex_ussd_simulator 0.1.4 · fail · run ex_ussd_simulator-0.1.4-1791178964357
1604 of 1604 lines
1Resolving Hex dependencies...2Resolution completed in 0.238s3Unchanged:4  certifi 2.15.05  circular_buffer 1.1.06  cowboy 2.19.07  cowboy_telemetry 0.3.18  cowlib 2.20.0 VULNERABLE!9    EEF-CVE-2026-43966 (MEDIUM)10    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c11    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/212    https://osv.dev/vulnerability/EEF-CVE-2026-439661314    EEF-CVE-2026-43969 (LOW)15    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5616    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/117    https://osv.dev/vulnerability/EEF-CVE-2026-4396918  elixir_make 0.10.019  ex_ussd_simulator 0.1.420  hackney 1.25.0 VULNERABLE!21    EEF-CVE-2026-47071 (HIGH)22    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr23    SOCKS5 TLS upgrade ignores caller timeout in hackney24    https://osv.dev/vulnerability/EEF-CVE-2026-470712526    EEF-CVE-2026-47076 (MEDIUM)27    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq28    SSRF allowlist bypass via percent-encoded host in hackney29    https://osv.dev/vulnerability/EEF-CVE-2026-470763031    EEF-CVE-2026-47069 (LOW)32    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw233    CRLF injection in cookie domain/path options in hackney34    https://osv.dev/vulnerability/EEF-CVE-2026-470693536    EEF-CVE-2026-47075 (MEDIUM)37    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf38    CR/LF injection in query parameter in hackney39    https://osv.dev/vulnerability/EEF-CVE-2026-4707540  httpoison 1.8.241  idna 6.1.142  interactive_cmd 0.1.443  jason 1.4.544  metrics 1.0.145  mime 2.0.746  mimerl 1.5.047  nerves 2.0.0-pre.248  nerves_discovery 0.1.549  nerves_logging 0.2.450  nerves_runtime 0.13.1351  nerves_system_bbb 2.30.252  nerves_system_br 1.34.453  nerves_system_mangopi_mq_pro 0.17.254  nerves_system_qemu_aarch64 0.4.255  nerves_system_rpi0 2.1.256  nerves_system_rpi4 2.1.257  nerves_system_rpi5 2.1.258  nerves_system_trellis 0.5.059  nerves_system_x86_64 1.34.260  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.161  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.162  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.163  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.164  nerves_toolchain_x86_64_nerves_linux_musl 15.3.165  nerves_uevent 0.1.766  parse_trans 3.4.167  phoenix 1.5.15 VULNERABLE!68    GHSA-p8f7-22gq-m7j9 (HIGH)69    aka: CVE-2022-4297570    Phoenix before 1.6.14 mishandles check_origin wildcarding71    https://osv.dev/vulnerability/GHSA-p8f7-22gq-m7j972  phoenix_html 2.14.3 VULNERABLE!73    GHSA-5g2h-9x5v-5h3x (MEDIUM)74    aka: CVE-2021-46871, GHSA-j3gg-r6gp-95q275    phoenix_html allows Cross-site Scripting in HEEx class attributes76    https://osv.dev/vulnerability/GHSA-5g2h-9x5v-5h3x77  phoenix_live_view 0.15.7 VULNERABLE!78    EEF-CVE-2026-64941 (LOW)79    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf80    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR81    https://osv.dev/vulnerability/EEF-CVE-2026-6494182  phoenix_pubsub 2.3.083  plug 1.20.384  plug_cowboy 2.9.085  plug_crypto 1.2.586  property_table 0.3.487  ranch 2.3.088  ring_logger 0.11.789  ssl_verify_fun 1.1.790  tablet 0.3.391  telemetry 0.4.392  toolshed 0.5.093  uboot_env 1.0.294  unicode_util_compat 0.7.195* Getting ex_ussd_simulator (Hex package)96* Getting nerves (Hex package)97* Getting ring_logger (Hex package)98* Getting toolshed (Hex package)99* Getting nerves_runtime (Hex package)100* Getting nerves_system_bbb (Hex package)101* Getting nerves_system_mangopi_mq_pro (Hex package)102* Getting nerves_system_qemu_aarch64 (Hex package)103* Getting nerves_system_rpi0 (Hex package)104* Getting nerves_system_rpi4 (Hex package)105* Getting nerves_system_rpi5 (Hex package)106* Getting nerves_system_trellis (Hex package)107* Getting nerves_system_x86_64 (Hex package)108* Getting nerves_system_br (Hex package)109* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)110* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)111* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)112* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)113* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)114* Getting nerves_logging (Hex package)115* Getting nerves_uevent (Hex package)116* Getting uboot_env (Hex package)117* Getting elixir_make (Hex package)118* Getting property_table (Hex package)119* Getting circular_buffer (Hex package)120* Getting interactive_cmd (Hex package)121* Getting nerves_discovery (Hex package)122* Getting tablet (Hex package)123* Getting httpoison (Hex package)124* Getting jason (Hex package)125* Getting phoenix (Hex package)126* Getting phoenix_html (Hex package)127* Getting phoenix_live_view (Hex package)128* Getting plug_cowboy (Hex package)129* Getting cowboy (Hex package)130* Getting cowboy_telemetry (Hex package)131* Getting plug (Hex package)132* Getting mime (Hex package)133* Getting plug_crypto (Hex package)134* Getting telemetry (Hex package)135* Getting cowlib (Hex package)136* Getting ranch (Hex package)137* Getting phoenix_pubsub (Hex package)138* Getting hackney (Hex package)139* Getting certifi (Hex package)140* Getting idna (Hex package)141* Getting metrics (Hex package)142* Getting mimerl (Hex package)143* Getting parse_trans (Hex package)144* Getting ssl_verify_fun (Hex package)145* Getting unicode_util_compat (Hex package)146Found packages with security advisories, see above for details147You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more148==> nerves_system_br149Generated nerves_system_br app150==> mime151Compiling 1 file (.ex)152Generated mime app153==> circular_buffer154Compiling 1 file (.ex)155Generated circular_buffer app156==> jason157Compiling 10 files (.ex)158Generated jason app159==> plug_crypto160Compiling 5 files (.ex)161Generated plug_crypto app162==> nerves_compatibility_test163===> Analyzing applications...164===> Compiling mimerl165===> Analyzing applications...166===> Compiling ranch167==> ssl_verify_fun168Compiling 7 files (.erl)169Generated ssl_verify_fun app170==> tablet171Compiling 2 files (.ex)172Generated tablet app173==> elixir_make174Compiling 8 files (.ex)175Generated elixir_make app176==> nerves_logging177 CC kmsg_tailer.o178 LD kmsg_tailer179Compiling 5 files (.ex)180Generated nerves_logging app181==> nerves_compatibility_test182===> Analyzing applications...183===> Compiling cowlib184==> nerves_discovery185Compiling 5 files (.ex)186Generated nerves_discovery app187==> ring_logger188Compiling 7 files (.ex)189Generated ring_logger app190==> interactive_cmd191Compiling 1 file (.ex)192Generated interactive_cmd app193==> nerves194Compiling 65 files (.ex)195    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)196    │197  6 │ defmodule Mix.Tasks.Nerves.Init do198    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~199    │200    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)201202    warning: redefining module Nerves (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.beam)203    │204  6 │ defmodule Nerves do205    │ ~~~~~~~~~~~~~~~~~~~206    │207    └─ lib/nerves.ex:6: Nerves (module)208209    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)210    │211  5 │ defmodule Nerves.ArtifactResolver do212    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~213    │214    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)215216    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)217    │218  6 │ defmodule Nerves.BuildAction.AppModes do219    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~220    │221    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)222223    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)224    │225  5 │ defmodule Nerves.BuildAction.CheckExecutables do226    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~227    │228    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)229230    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)231    │232  8 │ defmodule Nerves.BuildAction.Erlinit do233    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~234    │235    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)236237    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)238    │239  5 │ defmodule Nerves.BuildAction.Firmware do240    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~241    │242    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)243244    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)245    │246  7 │ defmodule Nerves.BuildAction.IExStartupCheck do247    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~248    │249    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)250251    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)252    │253  5 │ defmodule Nerves.BuildAction.NervesV1System do254    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~255    │256    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)257258    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)259    │260  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do261    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~262    │263    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)264265    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)266    │267  5 │ defmodule Nerves.BuildAction.Rootfs do268    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~269    │270    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)271272    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)273    │274  6 │ defmodule Nerves.BuildAction.SortApps do275    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~276    │277    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)278279    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)280    │281  5 │ defmodule Nerves.BuildAction.StripAll do282    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~283    │284    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)285286    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)287    │288  5 │ defmodule Nerves.BuildAction.Trimmer do289    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~290    │291    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)292293    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)294    │295  5 │ defmodule Nerves.BuildPlan do296    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~297    │298    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)299300    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)301    │302  5 │ defmodule Nerves.BuildPlan.Checks do303    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~304    │305    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)306307    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.Container.beam)308    │309  6 │ defmodule Nerves.Container do310    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~311    │312    └─ lib/nerves/container.ex:6: Nerves.Container (module)313314    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)315    │316  5 │ defmodule Nerves.Fingerprint do317    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~318    │319    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)320321    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)322    │323  5 │ defmodule Nerves.MixPackage do324    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~325    │326    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)327328    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.Paths.beam)329    │330  5 │ defmodule Nerves.Paths do331    │ ~~~~~~~~~~~~~~~~~~~~~~~~~332    │333    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)334335    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/trellis/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)336    │337  5 │ defmodule Nerves.TargetTuple do338    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~339    │340    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)341342Generated nerves app343==> nerves_toolchain_armv7_nerves_linux_gnueabihf344Compiling 1 file (.ex)345Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app346==> nerves_system_trellis347Generated nerves_system_trellis app348==> nerves_compatibility_test349===> Analyzing applications...350===> Compiling unicode_util_compat351===> Analyzing applications...352===> Compiling idna353===> Analyzing applications...354===> Compiling telemetry355===> Analyzing applications...356===> Compiling cowboy357==> phoenix_pubsub358Compiling 12 files (.ex)359Generated phoenix_pubsub app360==> nerves_compatibility_test361===> Analyzing applications...362===> Compiling certifi363==> plug364Compiling 1 file (.erl)365Compiling 42 files (.ex)366Generated plug app367==> phoenix_html368Compiling 8 files (.ex)369    warning: using single-quoted strings to represent charlists is deprecated.370    Use ~c"" if you indeed want a charlist or use "" instead.371    You may run "mix format --migrate" to change all single-quoted372    strings to use the ~c sigil and fix this warning.373    │374 12 │   @anno (if :erlang.system_info(:otp_release) >= '19' do375    │                                                  ~376    │377    └─ lib/phoenix_html/engine.ex:12:50378379    warning: the 1st pattern in clause will never match:380381        60382383    because it is expected to receive type:384385        dynamic(empty_list() or non_empty_list(term(), term()))386387    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())388389    type warning found at:390    │391 56 │   def to_iodata(?<), do: "&lt;"392    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~393    │394    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1395396    warning: the 1st pattern in clause will never match:397398        62399400    because it is expected to receive type:401402        dynamic(empty_list() or non_empty_list(term(), term()))403404    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())405406    type warning found at:407    │408 57 │   def to_iodata(?>), do: "&gt;"409    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~410    │411    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1412413    warning: the 1st pattern in clause will never match:414415        38416417    because it is expected to receive type:418419        dynamic(empty_list() or non_empty_list(term(), term()))420421    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())422423    type warning found at:424    │425 58 │   def to_iodata(?&), do: "&amp;"426    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~427    │428    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/1429430    warning: the 1st pattern in clause will never match:431432        34433434    because it is expected to receive type:435436        dynamic(empty_list() or non_empty_list(term(), term()))437438    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())439440    type warning found at:441    │442 59 │   def to_iodata(?"), do: "&quot;"443    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~444    │445    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/1446447    warning: the 1st pattern in clause will never match:448449        39450451    because it is expected to receive type:452453        dynamic(empty_list() or non_empty_list(term(), term()))454455    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())456457    type warning found at:458    │459 60 │   def to_iodata(?'), do: "&#39;"460    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~461    │462    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/1463464    warning: the 1st pattern in clause will never match:465466        {:safe, data}467468    because it is expected to receive type:469470        dynamic(empty_list() or non_empty_list(term(), term()))471472    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())473474    type warning found at:475    │476 76 │   def to_iodata({:safe, data}) do477    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~478    │479    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/1480481    warning: the following clause is redundant:482483        def to_iodata(other)484485    it has type:486487        dynamic(empty_list() or non_empty_list(term(), term()))488489    previous clauses have already matched on the following types:490491        non_empty_list(term(), term())492        empty_list()493494    │495 80 │   def to_iodata(other) do496    │       ~497    │498    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/1499500    warning: the 1st pattern in clause will never match:501502        h503504    because it is expected to receive type:505506        dynamic(empty_list() or non_empty_list(term(), term()))507508    where "h" was given the type:509510        # type: integer()511        # from: lib/phoenix_html/safe.ex:62:25512        is_integer(h)513514    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())515516    type warning found at:517    │518 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do519    │                 ~520    │521    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/1522523    warning: the 1st pattern in clause will never match:524525        h526527    because it is expected to receive type:528529        dynamic(empty_list() or non_empty_list(term(), term()))530531    where "h" was given the type:532533        # type: integer()534        # from: lib/phoenix_html/safe.ex:66:25535        is_integer(h)536537    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())538539    type warning found at:540    │541 66 │   def to_iodata(h) when is_integer(h) do542    │                 ~543    │544    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/1545546    warning: the 1st pattern in clause will never match:547548        h549550    because it is expected to receive type:551552        dynamic(empty_list() or non_empty_list(term(), term()))553554    where "h" was given the type:555556        # type: binary()557        # from: lib/phoenix_html/safe.ex:72:25558        is_binary(h)559560    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())561562    type warning found at:563    │564 72 │   def to_iodata(h) when is_binary(h) do565    │                 ~566    │567    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/1568569Generated phoenix_html app570==> nerves_compatibility_test571===> Analyzing applications...572===> Compiling parse_trans573==> uboot_env574Compiling 5 files (.ex)575Generated uboot_env app576==> nerves_compatibility_test577===> Analyzing applications...578===> Compiling metrics579===> Analyzing applications...580===> Compiling hackney581     ┌─ src/hackney_happy.erl:582     │583 101 │    catch exit(Pid, normal),584     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.585Compile directive 'nowarn_deprecated_catch' can be used to suppress586warnings in selected modules.587588     ┌─ src/hackney_happy.erl:589     │590 128 │    case (catch inet_res:getbyname(Hostname, Type)) of591     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.592Compile directive 'nowarn_deprecated_catch' can be used to suppress593warnings in selected modules.594595     ┌─ src/hackney_happy.erl:596     │597 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of598     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.599Compile directive 'nowarn_deprecated_catch' can be used to suppress600warnings in selected modules.601602603     ┌─ src/hackney_manager.erl:604     │605 114 │    catch ets:delete(?MODULE, Ref),606     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.607Compile directive 'nowarn_deprecated_catch' can be used to suppress608warnings in selected modules.609610     ┌─ src/hackney_manager.erl:611     │612 125 │            catch Transport:close(Socket);613     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.614Compile directive 'nowarn_deprecated_catch' can be used to suppress615warnings in selected modules.616617     ┌─ src/hackney_manager.erl:618     │619 129 │            catch Handler:checkin(SocketRef, Socket)620     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.621Compile directive 'nowarn_deprecated_catch' can be used to suppress622warnings in selected modules.623624     ┌─ src/hackney_manager.erl:625     │626 133 │          catch Transport:controlling_process(Socket, self()),627     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.628Compile directive 'nowarn_deprecated_catch' can be used to suppress629warnings in selected modules.630631     ┌─ src/hackney_manager.erl:632     │633 134 │          catch Transport:close(Socket),634     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.635Compile directive 'nowarn_deprecated_catch' can be used to suppress636warnings in selected modules.637638     ┌─ src/hackney_manager.erl:639     │640 227 │            catch ets:delete(?MODULE, Ref),641     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.642Compile directive 'nowarn_deprecated_catch' can be used to suppress643warnings in selected modules.644645     ┌─ src/hackney_manager.erl:646     │647 255 │    catch ets:delete(?MODULE, Ref),648     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.649Compile directive 'nowarn_deprecated_catch' can be used to suppress650warnings in selected modules.651652     ┌─ src/hackney_manager.erl:653     │654 269 │          catch Transport:controlling_process(Socket, self()),655     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.656Compile directive 'nowarn_deprecated_catch' can be used to suppress657warnings in selected modules.658659     ┌─ src/hackney_manager.erl:660     │661 270 │          catch Transport:close(Socket),662     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.663Compile directive 'nowarn_deprecated_catch' can be used to suppress664warnings in selected modules.665666     ┌─ src/hackney_manager.erl:667     │668 383 │          catch unlink(Stream),669     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.670Compile directive 'nowarn_deprecated_catch' can be used to suppress671warnings in selected modules.672673     ┌─ src/hackney_manager.erl:674     │675 416 │        catch ets:delete(?REFS, Ref),676     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.677Compile directive 'nowarn_deprecated_catch' can be used to suppress678warnings in selected modules.679680     ┌─ src/hackney_manager.erl:681     │682 426 │        catch ets:delete(?REFS, Ref),683     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.684Compile directive 'nowarn_deprecated_catch' can be used to suppress685warnings in selected modules.686687     ┌─ src/hackney_manager.erl:688     │689 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of690     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.691Compile directive 'nowarn_deprecated_catch' can be used to suppress692warnings in selected modules.693694     ┌─ src/hackney_manager.erl:695     │696 487 │           catch Transport:close(Socket),697     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.698Compile directive 'nowarn_deprecated_catch' can be used to suppress699warnings in selected modules.700701     ┌─ src/hackney_manager.erl:702     │703 543 │        catch ets:delete(?REFS, Ref),704     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.705Compile directive 'nowarn_deprecated_catch' can be used to suppress706warnings in selected modules.707708     ┌─ src/hackney_manager.erl:709     │710 544 │        catch ets:delete(?MODULE, Ref),711     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.712Compile directive 'nowarn_deprecated_catch' can be used to suppress713warnings in selected modules.714715     ┌─ src/hackney_manager.erl:716     │717 559 │        catch ets:delete(?REFS, Ref),718     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.719Compile directive 'nowarn_deprecated_catch' can be used to suppress720warnings in selected modules.721722     ┌─ src/hackney_manager.erl:723     │724 560 │        catch ets:delete(?MODULE, Ref),725     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.726Compile directive 'nowarn_deprecated_catch' can be used to suppress727warnings in selected modules.728729     ┌─ src/hackney_manager.erl:730     │731 618 │        catch unlink(Pid),732     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.733Compile directive 'nowarn_deprecated_catch' can be used to suppress734warnings in selected modules.735736737    ┌─ src/hackney_pool.erl:738    │739 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of740    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.741Compile directive 'nowarn_deprecated_catch' can be used to suppress742warnings in selected modules.743744     ┌─ src/hackney_pool.erl:745     │746 101 │                _ = catch hackney_connection:close(Connection, Socket),747     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.748Compile directive 'nowarn_deprecated_catch' can be used to suppress749warnings in selected modules.750751     ┌─ src/hackney_pool.erl:752     │753 130 │            _ = catch hackney_connection:close(Connection, Socket),754     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.755Compile directive 'nowarn_deprecated_catch' can be used to suppress756warnings in selected modules.757758     ┌─ src/hackney_pool.erl:759     │760 134 │        catch hackney_connection:close(Connection, Socket),761     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.762Compile directive 'nowarn_deprecated_catch' can be used to suppress763warnings in selected modules.764765     ┌─ src/hackney_pool.erl:766     │767 319 │                 catch Transport:close(Socket),768     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.769Compile directive 'nowarn_deprecated_catch' can be used to suppress770warnings in selected modules.771772     ┌─ src/hackney_pool.erl:773     │774 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of775     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.776Compile directive 'nowarn_deprecated_catch' can be used to suppress777warnings in selected modules.778779     ┌─ src/hackney_pool.erl:780     │781 423 │                    _ = catch hackney_connection:close(Connection, S),782     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.783Compile directive 'nowarn_deprecated_catch' can be used to suppress784warnings in selected modules.785786     ┌─ src/hackney_pool.erl:787     │788 444 │        catch hackney_connection:close(Connection, Socket),789     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.790Compile directive 'nowarn_deprecated_catch' can be used to suppress791warnings in selected modules.792793     ┌─ src/hackney_pool.erl:794     │795 543 │            _ = (catch hackney_connection:close(Connection, Socket)),796     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.797Compile directive 'nowarn_deprecated_catch' can be used to suppress798warnings in selected modules.799800801     ┌─ src/hackney_trace.erl:802     │803 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),804     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.805Compile directive 'nowarn_deprecated_catch' can be used to suppress806warnings in selected modules.807808     ┌─ src/hackney_trace.erl:809     │810 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),811     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.812Compile directive 'nowarn_deprecated_catch' can be used to suppress813warnings in selected modules.814815     ┌─ src/hackney_trace.erl:816     │817 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),818     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.819Compile directive 'nowarn_deprecated_catch' can be used to suppress820warnings in selected modules.821822     ┌─ src/hackney_trace.erl:823     │824 147 │    (catch file:close(Fd)),825     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.826Compile directive 'nowarn_deprecated_catch' can be used to suppress827warnings in selected modules.828829     ┌─ src/hackney_trace.erl:830     │831 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),832     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.833Compile directive 'nowarn_deprecated_catch' can be used to suppress834warnings in selected modules.835836     ┌─ src/hackney_trace.erl:837     │838 155 │    (catch file:close(Fd)),839     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.840Compile directive 'nowarn_deprecated_catch' can be used to suppress841warnings in selected modules.842843     ┌─ src/hackney_trace.erl:844     │845 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,846     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.847Compile directive 'nowarn_deprecated_catch' can be used to suppress848warnings in selected modules.849850     ┌─ src/hackney_trace.erl:851     │852 165 │    (catch print_trace(Fd, Event)),853     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.854Compile directive 'nowarn_deprecated_catch' can be used to suppress855warnings in selected modules.856857858==> property_table859Compiling 8 files (.ex)860Generated property_table app861==> nerves_uevent862 CC uevent.o863 LD uevent864Compiling 5 files (.ex)865Generated nerves_uevent app866==> nerves_runtime867Compiling 14 files (.ex)868Generated nerves_runtime app869==> toolshed870Compiling 5 files (.ex)871Generated toolshed app872==> nerves_compatibility_test873===> Analyzing applications...874===> Compiling cowboy_telemetry875==> plug_cowboy876Compiling 5 files (.ex)877Generated plug_cowboy app878warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"879  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2880  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1881  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5882  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2883  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4884  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2885886==> phoenix887Compiling 66 files (.ex)888     warning: the variable "prefix" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator889     │890 194 │       <<attr::size(prefix)-binary, ":unique">> -> attr891     │                    ~892     │893     └─ lib/mix/phoenix/schema.ex:194:20: Mix.Phoenix.Schema.drop_unique/1894895     warning: using single-quoted strings to represent charlists is deprecated.896     Use ~c"" if you indeed want a charlist or use "" instead.897     You may run "mix format --migrate" to change all single-quoted898     strings to use the ~c sigil and fix this warning.899     │900 258 │           notBefore: {:utcTime, '#{not_before}000000Z'},901     │                                 ~902     │903     └─ lib/mix/tasks/phx.gen.cert.ex:258:33904905     warning: using single-quoted strings to represent charlists is deprecated.906     Use ~c"" if you indeed want a charlist or use "" instead.907     You may run "mix format --migrate" to change all single-quoted908     strings to use the ~c sigil and fix this warning.909     │910 259 │           notAfter: {:utcTime, '#{not_after}000000Z'}911     │                                ~912     │913     └─ lib/mix/tasks/phx.gen.cert.ex:259:32914915    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead916    │917 55 │             Logger.warn(918    │                    ~919    │920    └─ lib/phoenix/code_reloader/server.ex:55:20: Phoenix.CodeReloader.Server.handle_call/3921922    warning: unused require Logger923    │924  9 │   require Logger925    │   ~926    │927    └─ lib/phoenix/config.ex:9:3928929      warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.930931      This error happens when you have function calls without parentheses inside keywords. For example:932933          function(arg, one: nested_call a, b, c)934          function(arg, one: if expr, do: :this, else: :that)935936      In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:937938          function(arg, one: if(expr, do: :this, else: :that))939          function(arg, one: nested_call(a, b, c))940941      Ambiguity found at:942      │943 1002 │   defp get_disposition_type(other), do: raise ArgumentError, "expected :disposition to be :attachment or :inline, got: #{inspect(other)}"944      │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~945      │946      └─ lib/phoenix/controller.ex:1002947948     warning: unused require Logger949     │950 240 │   require Logger951     │   ~952     │953     └─ lib/phoenix/endpoint.ex:240:3954955      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead956      │957 1013 │       Logger.warn "send_download/3 has been invoked during an AJAX request. " <>958      │              ~959      │960      └─ lib/phoenix/controller.ex:1013:14: Phoenix.Controller.warn_if_ajax/1961962    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead963    │964 82 │     Logger.warn "Phoenix.Endpoint.CowboyAdapter is deprecated and it will be removed in next versions. " <>965    │            ~966    │967    └─ lib/phoenix/endpoint/cowboy_adapter.ex:82:12: Phoenix.Endpoint.CowboyAdapter.child_specs/2968969    warning: unused require Phoenix.Endpoint970    │971  6 │   require Phoenix.Endpoint972    │   ~973    │974    └─ lib/phoenix/controller.ex:6:3975976    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead977    │978 71 │             Logger.warn("no configuration found for otp_app #{inspect(otp_app)} and module #{inspect(mod)}")979    │                    ~980    │981    └─ lib/phoenix/endpoint/supervisor.ex:71:20: Phoenix.Endpoint.Supervisor.init/1982983    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead984    │985 95 │       Logger.warn(":instrumenters configuration for #{inspect(mod)} is deprecated and has no effect")986    │              ~987    │988    └─ lib/phoenix/endpoint/supervisor.ex:95:14: Phoenix.Endpoint.Supervisor.init/1989990     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead991     │992 116 │       Logger.warn """993     │              ~994     │995     └─ lib/phoenix/endpoint/supervisor.ex:116:14: Phoenix.Endpoint.Supervisor.pubsub_children/2996997     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead998     │999 166 │         Logger.warn "Phoenix.Endpoint.CowboyHandler is deprecated, please use Phoenix.Endpoint.CowboyAdapter instead"1000     │                ~1001     │1002     └─ lib/phoenix/endpoint/supervisor.ex:166:16: Phoenix.Endpoint.Supervisor.user_adapter/210031004     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1005     │1006 170 │         Logger.warn "The :handler option in #{inspect endpoint} is deprecated, please use :adapter instead"1007     │                ~1008     │1009     └─ lib/phoenix/endpoint/supervisor.ex:170:16: Phoenix.Endpoint.Supervisor.user_adapter/210101011     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1012     │1013 346 │       Logger.warn("url: [host: ...] configuration value #{inspect(host)} for #{inspect(endpoint)} is invalid")1014     │              ~1015     │1016     └─ lib/phoenix/endpoint/supervisor.ex:346:14: Phoenix.Endpoint.Supervisor.build_url/210171018    warning: the variable "prefix_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1019    │1020 46 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1021    │                             ~1022    │1023    └─ lib/phoenix/naming.ex:46:29: Phoenix.Naming.unsuffix/210241025     warning: using single-quoted strings to represent charlists is deprecated.1026     Use ~c"" if you indeed want a charlist or use "" instead.1027     You may run "mix format --migrate" to change all single-quoted1028     strings to use the ~c sigil and fix this warning.1029     │1030 411 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1031     │                                                  ~1032     │1033     └─ lib/phoenix/router.ex:411:5010341035    warning: unused require Phoenix.Endpoint1036    │1037 19 │   require Phoenix.Endpoint1038    │   ~1039    │1040    └─ lib/phoenix/endpoint/render_errors.ex:19:310411042    warning: using single-quoted strings to represent charlists is deprecated.1043    Use ~c"" if you indeed want a charlist or use "" instead.1044    You may run "mix format --migrate" to change all single-quoted1045    strings to use the ~c sigil and fix this warning.1046    │1047  8 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1048    │                                                  ~1049    │1050    └─ lib/phoenix/router/helpers.ex:8:5010511052    warning: missing parentheses for expression following "do:" keyword. Parentheses are required to solve ambiguity inside keywords.10531054    This error happens when you have function calls without parentheses inside keywords. For example:10551056        function(arg, one: nested_call a, b, c)1057        function(arg, one: if expr, do: :this, else: :that)10581059    In the examples above, we don't know if the arguments "b" and "c" apply to the function "function" or "nested_call". Or if the keywords "do" and "else" apply to the function "function" or "if". You can solve this by explicitly adding parentheses:10601061        function(arg, one: if(expr, do: :this, else: :that))1062        function(arg, one: nested_call(a, b, c))10631064    Ambiguity found at:1065    │1066 71 │     unless actions -- supported_actions == [], do: raise ArgumentError, """1067    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1068    │1069    └─ lib/phoenix/router/resource.ex:7110701071     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1072     │1073 734 │     Logger.warn fn -> "Ignoring unmatched topic \"#{topic}\" in #{inspect(handler)}" end1074     │            ~1075     │1076     └─ lib/phoenix/socket.ex:734:12: Phoenix.Socket.encode_ignore/210771078    warning: unused require Phoenix.Endpoint1079    │1080  6 │   require Phoenix.Endpoint1081    │   ~1082    │1083    └─ lib/phoenix/channel/server.ex:6:310841085     warning: unused require Phoenix.Endpoint1086     │1087 188 │   require Phoenix.Endpoint1088     │   ~1089     │1090     └─ lib/phoenix/socket.ex:188:310911092    warning: unused require Logger1093    │1094 93 │   require Logger1095    │   ~1096    │1097    └─ lib/phoenix/token.ex:93:310981099     warning: using single-quoted strings to represent charlists is deprecated.1100     Use ~c"" if you indeed want a charlist or use "" instead.1101     You may run "mix format --migrate" to change all single-quoted1102     strings to use the ~c sigil and fix this warning.1103     │1104 178 │   @anno (if :erlang.system_info(:otp_release) >= '19' do1105     │                                                  ~1106     │1107     └─ lib/phoenix/view.ex:178:5011081109    warning: a struct for Plug.Conn is expected on struct update:11101111        %Plug.Conn{conn | state: :sent}11121113    but got type:11141115        dynamic()11161117    where "conn" was given the type:11181119        # type: dynamic()1120        # from: lib/phoenix/endpoint/render_errors.ex:57:171121        conn11221123    when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11241125    type warning found at:1126    │1127 61 │         %Plug.Conn{conn | state: :sent}1128    │         ~1129    │1130    └─ lib/phoenix/endpoint/render_errors.ex:61:9: Phoenix.Endpoint.RenderErrors.__catch__/511311132     warning: a struct for Plug.Conn is expected on struct update:11331134         %Plug.Conn{conn | query_params: %{}, params: %{}}11351136     but got type:11371138         dynamic(%{..., params: %Plug.Conn.Unfetched{}})11391140     where "conn" was given the types:11411142         # type: dynamic(%{..., params: term()})1143         # from: lib/phoenix/endpoint/render_errors.ex:124:171144         conn.params11451146         # type: dynamic(%{..., params: %Plug.Conn.Unfetched{}})1147         # from: lib/phoenix/endpoint/render_errors.ex:124:171148         conn.params11491150     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11511152     type warning found at:1153     │1154 125 │         %Plug.Conn.Unfetched{} -> %Plug.Conn{conn | query_params: %{}, params: %{}}1155     │                                   ~1156     │1157     └─ lib/phoenix/endpoint/render_errors.ex:125:35: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111581159     warning: a struct for Plug.Conn is expected on struct update:11601161         %Plug.Conn{conn | query_params: %{}, params: params}11621163     but got type:11641165         dynamic(%{..., params: not %Plug.Conn.Unfetched{}})11661167     where "conn" was given the types:11681169         # type: dynamic(%{..., params: term()})1170         # from: lib/phoenix/endpoint/render_errors.ex:124:171171         conn.params11721173         # type: dynamic(%{..., params: not %Plug.Conn.Unfetched{}})1174         # from: lib/phoenix/endpoint/render_errors.ex:124:171175         conn.params11761177     when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"11781179     type warning found at:1180     │1181 126 │         params -> %Plug.Conn{conn | query_params: %{}, params: params}1182     │                   ~1183     │1184     └─ lib/phoenix/endpoint/render_errors.ex:126:19: Phoenix.Endpoint.RenderErrors.maybe_fetch_query_params/111851186     warning: incompatible types given to socket_children/1:11871188         socket_children(mod)11891190     given types:11911192         -dynamic(atom())-11931194     but expected one of:11951196         %{..., __sockets__: term()}11971198     where "mod" was given the types:11991200         # type: dynamic(atom() or binary())1201         # from: lib/phoenix/endpoint/supervisor.ex:64:411202         defaults(otp_app, mod)12031204         # type: dynamic(atom())1205         # from: lib/phoenix/endpoint/supervisor.ex:68:161206         mod.init(:supervisor, env_conf)12071208     type warning found at:1209     │1210 105 │       socket_children(mod) ++1211     │       ~1212     │1213     └─ lib/phoenix/endpoint/supervisor.ex:105:7: Phoenix.Endpoint.Supervisor.init/112141215      warning: a struct for Plug.Conn is expected on struct update:12161217          %Plug.Conn{conn | params: params}12181219      but got type:12201221          dynamic(%{..., params: map()})12221223      where "conn" was given the type:12241225          # type: dynamic(%{..., params: map()})1226          # from: lib/phoenix/controller.ex:1040:171227          Map.get(conn.params, required_key)12281229      when defining the variable "conn", you must also pattern match on "%Plug.Conn{}"12301231      type warning found at:1232      │1233 1047 │     %Plug.Conn{conn | params: params}1234      │     ~1235      │1236      └─ lib/phoenix/controller.ex:1047:5: Phoenix.Controller.scrub_params/212371238Generated phoenix app1239warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1240  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21241  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11242  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51243  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21244  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41245  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/212461247==> phoenix_live_view1248Compiling 22 files (.ex)1249    warning: unused require Logger1250    │1251 25 │   require Logger1252    │   ~1253    │1254    └─ lib/phoenix_live_view/socket.ex:25:312551256     warning: unused require Phoenix.ChannelTest1257     │1258 141 │   require Phoenix.ChannelTest1259     │   ~1260     │1261     └─ lib/phoenix_live_view/test/live_view_test.ex:141:312621263     warning: unused require Phoenix.ConnTest1264     │1265 140 │   require Phoenix.ConnTest1266     │   ~1267     │1268     └─ lib/phoenix_live_view/test/live_view_test.ex:140:312691270    warning: unused require Phoenix.ChannelTest1271    │1272  4 │   require Phoenix.ChannelTest1273    │   ~1274    │1275    └─ lib/phoenix_live_view/test/upload_client.ex:4:312761277    warning: unused require Logger1278    │1279  6 │   require Logger1280    │   ~1281    │1282    └─ lib/phoenix_live_view/upload_channel.ex:6:312831284     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:12851286         %Phoenix.LiveView.Socket{1287           socket1288           | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})1289         }12901291     but got type:12921293         dynamic()12941295     where "socket" was given the type:12961297         # type: dynamic()1298         # from: lib/phoenix_live_view/utils.ex:464:211299         socket13001301     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13021303     type warning found at:1304     │1305 465 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, {mod, template})}1306     │     ~1307     │1308     └─ lib/phoenix_live_view/utils.ex:465:5: Phoenix.LiveView.Utils.do_mount_opt/313091310     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13111312         %Phoenix.LiveView.Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}13131314     but got type:13151316         dynamic()13171318     where "socket" was given the type:13191320         # type: dynamic()1321         # from: lib/phoenix_live_view/utils.ex:468:211322         socket13231324     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13251326     type warning found at:1327     │1328 469 │     %Socket{socket | private: Map.put(socket.private, :phoenix_live_layout, false)}1329     │     ~1330     │1331     └─ lib/phoenix_live_view/utils.ex:469:5: Phoenix.LiveView.Utils.do_mount_opt/313321333     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13341335         %Phoenix.LiveView.Socket{1336           socket1337           | assigns: Map.merge(temp_assigns, socket.assigns),1338             private: Map.put(socket.private, :temporary_assigns, temp_assigns)1339         }13401341     but got type:13421343         dynamic()13441345     where "socket" was given the type:13461347         # type: dynamic()1348         # from: lib/phoenix_live_view/utils.ex:478:211349         socket13501351     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13521353     type warning found at:1354     │1355 485 │     %Socket{1356     │     ~1357     │1358     └─ lib/phoenix_live_view/utils.ex:485:5: Phoenix.LiveView.Utils.do_mount_opt/313591360     warning: a struct for Phoenix.LiveView.Socket is expected on struct update:13611362         %Phoenix.LiveView.Socket{1363           socket1364           | assigns: %Phoenix.LiveView.Socket.AssignsNotInSocket{__assigns__: assigns}1365         }13661367     but got type:13681369         dynamic(%{..., assigns: term(), changed: term()})13701371     where "socket" was given the type:13721373         # type: dynamic(%{..., assigns: term(), changed: term()})1374         # from: lib/phoenix_live_view/utils.ex:496:611375         %{assigns: assigns, changed: changed} = socket13761377     when defining the variable "socket", you must also pattern match on "%Phoenix.LiveView.Socket{}"13781379     type warning found at:1380     │1381 497 │     socket = %Socket{socket | assigns: %Socket.AssignsNotInSocket{__assigns__: assigns}}1382     │              ~1383     │1384     └─ lib/phoenix_live_view/utils.ex:497:14: Phoenix.LiveView.Utils.render_assigns/113851386     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:13871388         %Phoenix.LiveView.UploadEntry{entry | preflighted?: true}13891390     but got type:13911392         dynamic()13931394     where "entry" was given the type:13951396         # type: dynamic()1397         # from: lib/phoenix_live_view/upload_config.ex:341:281398         entry <- conf.entries13991400     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14011402     type warning found at:1403     │1404 341 │       | entries: for(entry <- conf.entries, do: %UploadEntry{entry | preflighted?: true})1405     │                                                 ~1406     │1407     └─ lib/phoenix_live_view/upload_config.ex:341:49: Phoenix.LiveView.UploadConfig.mark_preflighted/114081409     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14101411         %Phoenix.LiveView.UploadEntry{entry | valid?: true, uuid: generate_uuid()}14121413     but got type:14141415         dynamic()14161417     where "entry" was given the type:14181419         # type: dynamic()1420         # from: lib/phoenix_live_view/upload_config.ex:541:301421         entry14221423     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14241425     type warning found at:1426     │1427 542 │     entry = %UploadEntry{entry | valid?: true, uuid: generate_uuid()}1428     │             ~1429     │1430     └─ lib/phoenix_live_view/upload_config.ex:542:13: Phoenix.LiveView.UploadConfig.put_valid_entry/214311432    warning: Logger.disable/1 is deprecated. Use Logger.put_process_level(pid, :none) instead1433    │1434 56 │     Logger.disable(self())1435    │            ~1436    │1437    └─ lib/phoenix_live_view/test/client_proxy.ex:56:12: Phoenix.LiveViewTest.ClientProxy.init/114381439     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14401441         %Phoenix.LiveView.UploadEntry{entry | valid?: false}14421443     but got type:14441445         dynamic()14461447     where "entry" was given the type:14481449         # type: dynamic()1450         # from: lib/phoenix_live_view/upload_config.ex:554:321451         entry14521453     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14541455     type warning found at:1456     │1457 555 │     entry = %UploadEntry{entry | valid?: false}1458     │             ~1459     │1460     └─ lib/phoenix_live_view/upload_config.ex:555:13: Phoenix.LiveView.UploadConfig.put_invalid_entry/314611462     warning: a struct for Phoenix.LiveView.UploadEntry is expected on struct update:14631464         %Phoenix.LiveView.UploadEntry{entry | cancelled?: true}14651466     but got type:14671468         dynamic()14691470     where "entry" was given the type:14711472         # type: dynamic()1473         # from: lib/phoenix_live_view/upload_config.ex:638:421474         entry14751476     when defining the variable "entry", you must also pattern match on "%Phoenix.LiveView.UploadEntry{}"14771478     type warning found at:1479     │1480 638 │         update_entry(conf, entry.ref, fn entry -> %UploadEntry{entry | cancelled?: true} end)1481     │                                                   ~1482     │1483     └─ lib/phoenix_live_view/upload_config.ex:638:51: Phoenix.LiveView.UploadConfig.cancel_entry/214841485     warning: a struct for Phoenix.LiveViewTest.ClientProxy is expected on struct update:14861487         %Phoenix.LiveViewTest.ClientProxy{view | rendered: rendered}14881489     but got type:14901491         dynamic(%{..., rendered: term()})14921493     where "view" was given the type:14941495         # type: dynamic(%{..., rendered: term()})1496         # from: lib/phoenix_live_view/test/client_proxy.ex:600:241497         Phoenix.LiveViewTest.DOM.merge_diff(view.rendered, diff)14981499     when defining the variable "view", you must also pattern match on "%Phoenix.LiveViewTest.ClientProxy{}"15001501     type warning found at:1502     │1503 601 │         new_view = %ClientProxy{view | rendered: rendered}1504     │                    ~1505     │1506     └─ lib/phoenix_live_view/test/client_proxy.ex:601:20: Phoenix.LiveViewTest.ClientProxy.merge_rendered/315071508     warning: Plug.Conn.Query.decode_pair/2 is deprecated. Use decode_init/0, decode_each/2, and decode_done/2 instead1509     │1510 986 │       Plug.Conn.Query.decode_pair({name, DOM.attribute(selected, "value")}, acc)1511     │                       ~1512     │1513     └─ lib/phoenix_live_view/test/client_proxy.ex:986:23: Phoenix.LiveViewTest.ClientProxy.form_defaults/31514     └─ lib/phoenix_live_view/test/client_proxy.ex:991:21: Phoenix.LiveViewTest.ClientProxy.form_defaults/31515     └─ lib/phoenix_live_view/test/client_proxy.ex:1001:27: Phoenix.LiveViewTest.ClientProxy.form_defaults/31516     └─ lib/phoenix_live_view/test/client_proxy.ex:1010:25: Phoenix.LiveViewTest.ClientProxy.form_defaults/315171518     warning: the following clause is redundant:15191520         def to_iodata(%_{} = struct)15211522     it has type:15231524         dynamic(%Phoenix.LiveView.Rendered{})15251526     previous clauses have already matched on the following types:15271528         %Phoenix.LiveView.Rendered{}15291530     │1531 126 │     def to_iodata(%_{} = struct) do1532     │         ~1533     │1534     └─ lib/phoenix_live_view/engine.ex:126:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115351536     warning: the 1st pattern in clause will never match:15371538         nil15391540     because it is expected to receive type:15411542         dynamic(%Phoenix.LiveView.Rendered{})15431544     hint: defimpl for Phoenix.LiveView.Rendered requires its callbacks to match exclusively on %Phoenix.LiveView.Rendered{}15451546     type warning found at:1547     │1548 130 │     def to_iodata(nil) do1549     │     ~~~~~~~~~~~~~~~~~~~~~1550     │1551     └─ lib/phoenix_live_view/engine.ex:130: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115521553     warning: the following clause is redundant:15541555         def to_iodata(other)15561557     it has type:15581559         dynamic(%Phoenix.LiveView.Rendered{})15601561     previous clauses have already matched on the following types:15621563         %Phoenix.LiveView.Rendered{}15641565     │1566 134 │     def to_iodata(other) do1567     │         ~1568     │1569     └─ lib/phoenix_live_view/engine.ex:134:9: Phoenix.HTML.Safe.Phoenix.LiveView.Rendered.to_iodata/115701571Generated phoenix_live_view app1572==> httpoison1573Compiling 3 files (.ex)1574Generated httpoison app1575warning: Phoenix now requires you to explicitly list which engine to use1576for Phoenix JSON encoding. We recommend everyone to upgrade to1577Jason by setting in your config/config.exs:15781579    config :phoenix, :json_library, Jason15801581And then adding {:jason, "~> 1.0"} as a dependency.15821583If instead you would rather continue using Poison, then add to1584your config/config.exs:15851586    config :phoenix, :json_library, Poison15871588  (phoenix 1.5.15) lib/phoenix.ex:38: Phoenix.start/21589  (kernel 11.0.4) application_master.erl:299: :application_master.start_it_old/415901591==> ex_ussd_simulator1592Compiling 9 files (.ex)15931594== Compilation error in file lib/endpoint.ex ==1595** (ArgumentError) invalid :json_decoder option. The module Poison is not loaded and could not be found1596    (plug 1.20.3) lib/plug/parsers/json.ex:48: Plug.Parsers.JSON.validate_decoder!/11597    (plug 1.20.3) lib/plug/parsers/json.ex:35: Plug.Parsers.JSON.init/11598    (plug 1.20.3) lib/plug/parsers.ex:283: anonymous fn/2 in Plug.Parsers.convert_parsers/21599    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21600    (elixir 1.20.3) lib/enum.ex:1725: Enum."-map/2-lists^map/1-1-"/21601    (plug 1.20.3) lib/plug/parsers.ex:263: Plug.Parsers.init/11602    (plug 1.20.3) lib/plug/builder.ex:358: Plug.Builder.init_module_plug/41603    (plug 1.20.3) lib/plug/builder.ex:339: anonymous fn/5 in Plug.Builder.compile/31604could not compile dependency :ex_ussd_simulator, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile ex_ussd_simulator --force", update it with "mix deps.update ex_ussd_simulator" or clean it with "mix deps.clean ex_ussd_simulator"