legendary_core

Build log

nerves_system_bbb

legendary_core 8.12.0 · fail · run legendary_core-8.12.0-1790974005865
1833 of 1833 lines
1Resolving Hex dependencies...2Resolution completed in 0.745s3Unchanged:4  bamboo 1.6.05  bamboo_smtp 3.0.06  castore 0.1.227  certifi 2.15.08  circular_buffer 1.1.09  cldr_utils 2.29.710  connection 1.1.011  cowboy 2.19.012  cowboy_telemetry 0.4.013  cowlib 2.20.0 VULNERABLE!14    EEF-CVE-2026-43966 (MEDIUM)15    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c16    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/217    https://osv.dev/vulnerability/EEF-CVE-2026-439661819    EEF-CVE-2026-43969 (LOW)20    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5621    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/122    https://osv.dev/vulnerability/EEF-CVE-2026-4396923  db_connection 2.10.224  decimal 2.4.1 VULNERABLE!25    EEF-CVE-2026-32686 (MEDIUM)26    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v27    Unbounded exponent in decimal enables unauthenticated DoS28    https://osv.dev/vulnerability/EEF-CVE-2026-3268629  ecto 3.11.230  ecto_sql 3.11.331  elixir_make 0.10.032  ex_aws 2.4.433  ex_aws_s3 2.5.934  ex_cldr 2.33.235  ex_prompt 0.2.036  ex_url 1.4.037  expo 1.1.138  fun_with_flags 1.9.039  fun_with_flags_ui 0.8.140  gen_smtp 0.15.041  gettext 0.26.242  hackney 1.25.0 VULNERABLE!43    EEF-CVE-2026-47071 (HIGH)44    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr45    SOCKS5 TLS upgrade ignores caller timeout in hackney46    https://osv.dev/vulnerability/EEF-CVE-2026-470714748    EEF-CVE-2026-47076 (MEDIUM)49    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq50    SSRF allowlist bypass via percent-encoded host in hackney51    https://osv.dev/vulnerability/EEF-CVE-2026-470765253    EEF-CVE-2026-47069 (LOW)54    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw255    CRLF injection in cookie domain/path options in hackney56    https://osv.dev/vulnerability/EEF-CVE-2026-470695758    EEF-CVE-2026-47075 (MEDIUM)59    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf60    CR/LF injection in query parameter in hackney61    https://osv.dev/vulnerability/EEF-CVE-2026-4707562  idna 6.1.163  interactive_cmd 0.1.464  jason 1.4.565  legendary_core 8.12.066  libcluster 3.5.067  linguist 0.3.268  metrics 1.0.169  mime 2.0.770  mimerl 1.5.071  nerves 2.0.0-pre.272  nerves_discovery 0.1.573  nerves_logging 0.2.474  nerves_runtime 0.13.1375  nerves_system_bbb 2.30.276  nerves_system_br 1.34.477  nerves_system_mangopi_mq_pro 0.17.278  nerves_system_qemu_aarch64 0.4.279  nerves_system_rpi0 2.1.280  nerves_system_rpi4 2.1.281  nerves_system_rpi5 2.1.282  nerves_system_trellis 0.5.083  nerves_system_x86_64 1.34.284  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.185  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.186  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.187  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.188  nerves_toolchain_x86_64_nerves_linux_musl 15.3.189  nerves_uevent 0.1.790  nimble_parsec 1.4.291  oban 2.19.492  parse_trans 3.4.193  phoenix 1.7.2494  phoenix_ecto 4.7.095  phoenix_html 3.3.496  phoenix_live_view 0.18.18 VULNERABLE!97    EEF-CVE-2026-64941 (LOW)98    aka: CVE-2026-64941, GHSA-36m4-rm57-3prf99    Open redirect in Phoenix.LiveView.validate_local_url!/2 via ASCII tab, LF and CR100    https://osv.dev/vulnerability/EEF-CVE-2026-64941101  phoenix_pubsub 2.3.0102  phoenix_template 1.0.4103  phoenix_view 2.0.4104  plug 1.20.3105  plug_cowboy 2.9.0106  plug_crypto 2.2.0107  postgrex 0.16.5 VULNERABLE!108    EEF-CVE-2026-32687 (HIGH)109    aka: CVE-2026-32687, GHSA-r73h-97w8-m54h110    SQL injection via channel name in Postgrex.Notifications.listen/3 and unlisten/3111    https://osv.dev/vulnerability/EEF-CVE-2026-32687112113    EEF-CVE-2026-58225 (LOW)114    aka: CVE-2026-58225, GHSA-4mw9-4qgj-m97w115    SQL injection via unescaped dollar-quote in Postgrex.Notifications reconnect replay causes notification denial of service116    https://osv.dev/vulnerability/EEF-CVE-2026-58225117  pow 1.0.39118  property_table 0.3.4119  ranch 2.3.0120  ring_logger 0.11.7121  shorter_maps 2.2.5122  ssl_verify_fun 1.1.7123  sweet_xml 0.7.5124  tablet 0.3.3125  telemetry 1.4.2126  telemetry_metrics 0.6.2127  telemetry_poller 1.3.0128  toolshed 0.5.0129  uboot_env 1.0.2130  unicode_util_compat 0.7.1131  waffle 1.1.10132  websock 0.5.3133  websock_adapter 0.5.9134  yamerl 0.10.0135  yaml_elixir 2.12.2136* Getting legendary_core (Hex package)137* Getting nerves (Hex package)138* Getting ring_logger (Hex package)139* Getting toolshed (Hex package)140* Getting nerves_runtime (Hex package)141* Getting nerves_system_bbb (Hex package)142* Getting nerves_system_mangopi_mq_pro (Hex package)143* Getting nerves_system_qemu_aarch64 (Hex package)144* Getting nerves_system_rpi0 (Hex package)145* Getting nerves_system_rpi4 (Hex package)146* Getting nerves_system_rpi5 (Hex package)147* Getting nerves_system_trellis (Hex package)148* Getting nerves_system_x86_64 (Hex package)149* Getting nerves_system_br (Hex package)150* Getting nerves_toolchain_x86_64_nerves_linux_musl (Hex package)151* Getting nerves_toolchain_armv7_nerves_linux_gnueabihf (Hex package)152* Getting nerves_toolchain_aarch64_nerves_linux_gnu (Hex package)153* Getting nerves_toolchain_armv6_nerves_linux_gnueabihf (Hex package)154* Getting nerves_toolchain_riscv64_nerves_linux_gnu (Hex package)155* Getting nerves_logging (Hex package)156* Getting nerves_uevent (Hex package)157* Getting uboot_env (Hex package)158* Getting elixir_make (Hex package)159* Getting property_table (Hex package)160* Getting circular_buffer (Hex package)161* Getting interactive_cmd (Hex package)162* Getting nerves_discovery (Hex package)163* Getting tablet (Hex package)164* Getting bamboo (Hex package)165* Getting bamboo_smtp (Hex package)166* Getting ecto_sql (Hex package)167* Getting ex_aws (Hex package)168* Getting ex_aws_s3 (Hex package)169* Getting ex_cldr (Hex package)170* Getting ex_prompt (Hex package)171* Getting ex_url (Hex package)172* Getting fun_with_flags (Hex package)173* Getting fun_with_flags_ui (Hex package)174* Getting gettext (Hex package)175* Getting jason (Hex package)176* Getting libcluster (Hex package)177* Getting linguist (Hex package)178* Getting mime (Hex package)179* Getting oban (Hex package)180* Getting phoenix (Hex package)181* Getting phoenix_ecto (Hex package)182* Getting phoenix_html (Hex package)183* Getting phoenix_live_view (Hex package)184* Getting phoenix_pubsub (Hex package)185* Getting phoenix_template (Hex package)186* Getting phoenix_view (Hex package)187* Getting plug_cowboy (Hex package)188* Getting postgrex (Hex package)189* Getting pow (Hex package)190* Getting shorter_maps (Hex package)191* Getting sweet_xml (Hex package)192* Getting telemetry_metrics (Hex package)193* Getting telemetry_poller (Hex package)194* Getting waffle (Hex package)195* Getting hackney (Hex package)196* Getting certifi (Hex package)197* Getting idna (Hex package)198* Getting metrics (Hex package)199* Getting mimerl (Hex package)200* Getting parse_trans (Hex package)201* Getting ssl_verify_fun (Hex package)202* Getting unicode_util_compat (Hex package)203* Getting telemetry (Hex package)204* Getting ecto (Hex package)205* Getting decimal (Hex package)206* Getting connection (Hex package)207* Getting db_connection (Hex package)208* Getting cowboy (Hex package)209* Getting cowboy_telemetry (Hex package)210* Getting plug (Hex package)211* Getting plug_crypto (Hex package)212* Getting cowlib (Hex package)213* Getting ranch (Hex package)214* Getting castore (Hex package)215* Getting websock_adapter (Hex package)216* Getting websock (Hex package)217* Getting yaml_elixir (Hex package)218* Getting yamerl (Hex package)219* Getting expo (Hex package)220* Getting nimble_parsec (Hex package)221* Getting cldr_utils (Hex package)222* Getting gen_smtp (Hex package)223Found packages with security advisories, see above for details224You have added/upgraded packages you could sponsor, run `mix hex.sponsor` to learn more225==> nerves_system_br226Generated nerves_system_br app227==> connection228Compiling 1 file (.ex)229     warning: using single-quoted strings to represent charlists is deprecated.230     Use ~c"" if you indeed want a charlist or use "" instead.231     You may run "mix format --migrate" to change all single-quoted232     strings to use the ~c sigil and fix this warning.233     │234 553 │         [{:data, [{'State', mod_state}]}]235     │                    ~236     │237     └─ lib/connection.ex:553:20238239     warning: using single-quoted strings to represent charlists is deprecated.240     Use ~c"" if you indeed want a charlist or use "" instead.241     You may run "mix format --migrate" to change all single-quoted242     strings to use the ~c sigil and fix this warning.243     │244 680 │     format = '** Generic server ~p terminating \n' ++245     │              ~246     │247     └─ lib/connection.ex:680:14248249     warning: using single-quoted strings to represent charlists is deprecated.250     Use ~c"" if you indeed want a charlist or use "" instead.251     You may run "mix format --migrate" to change all single-quoted252     strings to use the ~c sigil and fix this warning.253     │254 681 │       '** Last message in was ~p~n' ++ ## No last message255     │       ~256     │257     └─ lib/connection.ex:681:7258259     warning: using single-quoted strings to represent charlists is deprecated.260     Use ~c"" if you indeed want a charlist or use "" instead.261     You may run "mix format --migrate" to change all single-quoted262     strings to use the ~c sigil and fix this warning.263     │264 682 │       '** When Server state == ~p~n' ++265     │       ~266     │267     └─ lib/connection.ex:682:7268269     warning: using single-quoted strings to represent charlists is deprecated.270     Use ~c"" if you indeed want a charlist or use "" instead.271     You may run "mix format --migrate" to change all single-quoted272     strings to use the ~c sigil and fix this warning.273     │274 683 │       '** Reason for termination == ~n** ~p~n'275     │       ~276     │277     └─ lib/connection.ex:683:7278279Generated connection app280==> mime281Compiling 1 file (.ex)282Generated mime app283==> circular_buffer284Compiling 1 file (.ex)285Generated circular_buffer app286==> nerves_compatibility_test287===> Analyzing applications...288===> Compiling gen_smtp289     ┌─ src/gen_smtp_server_session.erl:290     │291 265 │  		case catch Module:code_change(OldVsn, State#state.callbackstate, Extra) of292     │  		     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.293Compile directive 'nowarn_deprecated_catch' can be used to suppress294warnings in selected modules.295296     ┌─ src/gen_smtp_server_session.erl:297     │298 389 │  							crypto:start(), % ensure crypto is started, we're gonna need it299     │  							╰── Warning: crypto:start/0 is deprecated; use application:start(crypto) instead300301302    ┌─ src/smtp_util.erl:303    │304 73 │  	Bin = crypto:hmac(md5, Key, Data),305    │  	      ╰── Warning: crypto:hmac/3 is removed; use crypto:mac/4 instead306307308    ┌─ src/gen_smtp_application.erl:309    │310 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;311    │           ╰── Warning: variable '_App' is bound multiple times in this pattern.312If you mean to ignore this value, use '_' or313a different underscore-prefixed name314315    ┌─ src/gen_smtp_application.erl:316    │317 12 │  start_ok(_App, {error, {already_started, _App}}) -> ok;318    │                                           ╰── Warning: variable '_App' is bound multiple times in this pattern.319If you mean to ignore this value, use '_' or320a different underscore-prefixed name321322323     ┌─ src/gen_smtp_server.erl:324     │325 225 │  	lists:foreach(fun(#listener{socket=S}) -> catch smtp_socket:close(S) end, State#state.listeners),326     │  	                                          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.327Compile directive 'nowarn_deprecated_catch' can be used to suppress328warnings in selected modules.329330331     ┌─ src/gen_smtp_client.erl:332     │333 620 │  			case catch smtp_socket:to_ssl_client(Socket, proplists:get_value(tls_options, Options, []), 5000) of334     │  			     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.335Compile directive 'nowarn_deprecated_catch' can be used to suppress336warnings in selected modules.337338339==> plug_crypto340Compiling 5 files (.ex)341Generated plug_crypto app342==> nerves_compatibility_test343===> Analyzing applications...344===> Compiling mimerl345===> Analyzing applications...346===> Compiling yamerl347/work/proj/deps_bbb/yamerl/src/yamerl_constr.erl:801:5: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.348Compile directive 'nowarn_deprecated_catch' can be used to suppress349warnings in selected modules.350%  801|     catch Mod:module_info(),351%     |     ^352353     ┌─ src/yamerl_constr.erl:354     │355 801 │      catch Mod:module_info(),356     │      ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.357Compile directive 'nowarn_deprecated_catch' can be used to suppress358warnings in selected modules.359360361/work/proj/deps_bbb/yamerl/src/yamerl_node_binary.erl:65:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.362Compile directive 'nowarn_deprecated_catch' can be used to suppress363warnings in selected modules.364%   65|    case catch base64:decode(Text) of365%     |         ^366367/work/proj/deps_bbb/yamerl/src/yamerl_node_binary.erl:72:9: Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.368Compile directive 'nowarn_deprecated_catch' can be used to suppress369warnings in selected modules.370%   72|    case catch base64:decode(Text) of371%     |         ^372373    ┌─ src/yamerl_node_binary.erl:374    │375 65 │     case catch base64:decode(Text) of376    │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.377Compile directive 'nowarn_deprecated_catch' can be used to suppress378warnings in selected modules.379380    ┌─ src/yamerl_node_binary.erl:381    │382 72 │     case catch base64:decode(Text) of383    │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.384Compile directive 'nowarn_deprecated_catch' can be used to suppress385warnings in selected modules.386387388==> ex_prompt389Compiling 1 file (.ex)390Generated ex_prompt app391==> nerves_compatibility_test392===> Analyzing applications...393===> Compiling ranch394==> ssl_verify_fun395Compiling 7 files (.erl)396Generated ssl_verify_fun app397==> tablet398Compiling 2 files (.ex)399Generated tablet app400==> elixir_make401Compiling 8 files (.ex)402Generated elixir_make app403==> nerves_logging404 CC kmsg_tailer.o405 LD kmsg_tailer406Compiling 5 files (.ex)407Generated nerves_logging app408warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"409  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/2410  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/1411  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/5412  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/2413  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/4414  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/2415416==> castore417Compiling 1 file (.ex)418Generated castore app419==> nerves_compatibility_test420===> Analyzing applications...421===> Compiling cowlib422==> nerves_discovery423Compiling 5 files (.ex)424Generated nerves_discovery app425==> ring_logger426Compiling 7 files (.ex)427Generated ring_logger app428==> decimal429Compiling 4 files (.ex)430      warning: this clause of defp check_dbl_min_max/1 is never used (or it will always fail/warn when invoked)431      │432 2842 │   defp check_dbl_min_max(%Decimal{coef: :inf} = infinity), do: infinity433      │        ~434      │435      └─ lib/decimal.ex:2842:8: Decimal.check_dbl_min_max/1436437Generated decimal app438==> jason439Compiling 10 files (.ex)440Generated jason app441==> yaml_elixir442Compiling 6 files (.ex)443Generated yaml_elixir app444==> interactive_cmd445Compiling 1 file (.ex)446Generated interactive_cmd app447==> nerves448Compiling 65 files (.ex)449    warning: redefining module Mix.Tasks.Nerves.Init (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Mix.Tasks.Nerves.Init.beam)450    │451  6 │ defmodule Mix.Tasks.Nerves.Init do452    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~453    │454    └─ lib/mix/tasks/nerves.init.ex:6: Mix.Tasks.Nerves.Init (module)455456    warning: redefining module Nerves (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.beam)457    │458  6 │ defmodule Nerves do459    │ ~~~~~~~~~~~~~~~~~~~460    │461    └─ lib/nerves.ex:6: Nerves (module)462463    warning: redefining module Nerves.ArtifactResolver (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.ArtifactResolver.beam)464    │465  5 │ defmodule Nerves.ArtifactResolver do466    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~467    │468    └─ lib/nerves/artifact_resolver.ex:5: Nerves.ArtifactResolver (module)469470    warning: redefining module Nerves.BuildAction.AppModes (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.AppModes.beam)471    │472  6 │ defmodule Nerves.BuildAction.AppModes do473    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~474    │475    └─ lib/nerves/build_action/app_modes.ex:6: Nerves.BuildAction.AppModes (module)476477    warning: redefining module Nerves.BuildAction.CheckExecutables (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.CheckExecutables.beam)478    │479  5 │ defmodule Nerves.BuildAction.CheckExecutables do480    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~481    │482    └─ lib/nerves/build_action/check_executables.ex:5: Nerves.BuildAction.CheckExecutables (module)483484    warning: redefining module Nerves.BuildAction.Erlinit (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Erlinit.beam)485    │486  8 │ defmodule Nerves.BuildAction.Erlinit do487    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~488    │489    └─ lib/nerves/build_action/erlinit.ex:8: Nerves.BuildAction.Erlinit (module)490491    warning: redefining module Nerves.BuildAction.Firmware (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Firmware.beam)492    │493  5 │ defmodule Nerves.BuildAction.Firmware do494    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~495    │496    └─ lib/nerves/build_action/firmware.ex:5: Nerves.BuildAction.Firmware (module)497498    warning: redefining module Nerves.BuildAction.IExStartupCheck (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.IExStartupCheck.beam)499    │500  7 │ defmodule Nerves.BuildAction.IExStartupCheck do501    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~502    │503    └─ lib/nerves/build_action/iex_startup_check.ex:7: Nerves.BuildAction.IExStartupCheck (module)504505    warning: redefining module Nerves.BuildAction.NervesV1System (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1System.beam)506    │507  5 │ defmodule Nerves.BuildAction.NervesV1System do508    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~509    │510    └─ lib/nerves/build_action/nerves_v1_system.ex:5: Nerves.BuildAction.NervesV1System (module)511512    warning: redefining module Nerves.BuildAction.NervesV1Toolchain (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.NervesV1Toolchain.beam)513    │514  5 │ defmodule Nerves.BuildAction.NervesV1Toolchain do515    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~516    │517    └─ lib/nerves/build_action/nerves_v1_toolchain.ex:5: Nerves.BuildAction.NervesV1Toolchain (module)518519    warning: redefining module Nerves.BuildAction.Rootfs (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Rootfs.beam)520    │521  5 │ defmodule Nerves.BuildAction.Rootfs do522    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~523    │524    └─ lib/nerves/build_action/rootfs.ex:5: Nerves.BuildAction.Rootfs (module)525526    warning: redefining module Nerves.BuildAction.SortApps (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.SortApps.beam)527    │528  6 │ defmodule Nerves.BuildAction.SortApps do529    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~530    │531    └─ lib/nerves/build_action/sort_apps.ex:6: Nerves.BuildAction.SortApps (module)532533    warning: redefining module Nerves.BuildAction.StripAll (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.StripAll.beam)534    │535  5 │ defmodule Nerves.BuildAction.StripAll do536    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~537    │538    └─ lib/nerves/build_action/strip_all.ex:5: Nerves.BuildAction.StripAll (module)539540    warning: redefining module Nerves.BuildAction.Trimmer (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildAction.Trimmer.beam)541    │542  5 │ defmodule Nerves.BuildAction.Trimmer do543    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~544    │545    └─ lib/nerves/build_action/trimmer.ex:5: Nerves.BuildAction.Trimmer (module)546547    warning: redefining module Nerves.BuildPlan (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.beam)548    │549  5 │ defmodule Nerves.BuildPlan do550    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~551    │552    └─ lib/nerves/build_plan.ex:5: Nerves.BuildPlan (module)553554    warning: redefining module Nerves.BuildPlan.Checks (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.BuildPlan.Checks.beam)555    │556  5 │ defmodule Nerves.BuildPlan.Checks do557    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~558    │559    └─ lib/nerves/build_plan/checks.ex:5: Nerves.BuildPlan.Checks (module)560561    warning: redefining module Nerves.Container (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Container.beam)562    │563  6 │ defmodule Nerves.Container do564    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~565    │566    └─ lib/nerves/container.ex:6: Nerves.Container (module)567568    warning: redefining module Nerves.Fingerprint (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Fingerprint.beam)569    │570  5 │ defmodule Nerves.Fingerprint do571    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~572    │573    └─ lib/nerves/fingerprint.ex:5: Nerves.Fingerprint (module)574575    warning: redefining module Nerves.MixPackage (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.MixPackage.beam)576    │577  5 │ defmodule Nerves.MixPackage do578    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~579    │580    └─ lib/nerves/mix_package.ex:5: Nerves.MixPackage (module)581582    warning: redefining module Nerves.Paths (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.Paths.beam)583    │584  5 │ defmodule Nerves.Paths do585    │ ~~~~~~~~~~~~~~~~~~~~~~~~~586    │587    └─ lib/nerves/paths.ex:5: Nerves.Paths (module)588589    warning: redefining module Nerves.TargetTuple (current version loaded from /work/proj/_build/bbb/lib/nerves/ebin/Elixir.Nerves.TargetTuple.beam)590    │591  5 │ defmodule Nerves.TargetTuple do592    │ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~593    │594    └─ lib/nerves/target_tuple.ex:5: Nerves.TargetTuple (module)595596Generated nerves app597==> nerves_toolchain_armv7_nerves_linux_gnueabihf598Compiling 1 file (.ex)599Generated nerves_toolchain_armv7_nerves_linux_gnueabihf app600==> nimble_parsec601Compiling 4 files (.ex)602Generated nimble_parsec app603==> nerves_compatibility_test604===> Analyzing applications...605===> Compiling unicode_util_compat606===> Analyzing applications...607===> Compiling idna608===> Analyzing applications...609===> Compiling telemetry610==> libcluster611Compiling 13 files (.ex)612Generated libcluster app613==> telemetry_metrics614Compiling 7 files (.ex)615     warning: unused require Logger616     │617 391 │   require Logger618     │   ~619     │620     └─ lib/telemetry_metrics.ex:391:3621622Generated telemetry_metrics app623==> nerves_compatibility_test624===> Analyzing applications...625===> Compiling telemetry_poller626==> ecto627Compiling 56 files (.ex)628     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead629     │630 297 │   @spec insert(631     │   ~~~~~~~~~~~~~632     │633     └─ lib/ecto/multi.ex:297: Ecto.Multi (module)634635     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead636     │637 338 │   @spec update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t638     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~639     │640     └─ lib/ecto/multi.ex:338: Ecto.Multi (module)641642     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead643     │644 371 │   @spec insert_or_update(t, name, Changeset.t() | fun(Changeset.t()), Keyword.t()) :: t645     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~646     │647     └─ lib/ecto/multi.ex:371: Ecto.Multi (module)648649     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead650     │651 417 │   @spec delete(652     │   ~~~~~~~~~~~~~653     │654     └─ lib/ecto/multi.ex:417: Ecto.Multi (module)655656     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead657     │658 451 │   @spec one(659     │   ~~~~~~~~~~660     │661     └─ lib/ecto/multi.ex:451: Ecto.Multi (module)662663     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead664     │665 482 │   @spec all(666     │   ~~~~~~~~~~667     │668     └─ lib/ecto/multi.ex:482: Ecto.Multi (module)669670     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead671     │672 513 │   @spec exists?(673     │   ~~~~~~~~~~~~~~674     │675     └─ lib/ecto/multi.ex:513: Ecto.Multi (module)676677     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead678     │679 623 │   @spec insert_all(680     │   ~~~~~~~~~~~~~~~~~681     │682     └─ lib/ecto/multi.ex:623: Ecto.Multi (module)683684     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead685     │686 667 │   @spec update_all(687     │   ~~~~~~~~~~~~~~~~~688     │689     └─ lib/ecto/multi.ex:667: Ecto.Multi (module)690691     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead692     │693 712 │   @spec delete_all(t, name, Ecto.Queryable.t() | fun(Ecto.Queryable.t()), Keyword.t()) :: t694     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~695     │696     └─ lib/ecto/multi.ex:712: Ecto.Multi (module)697698     warning: BadStructError.exception/1 is undefined (module BadStructError is not available or is yet to be defined). Make sure the module name is correct and has been specified in full (or that an alias has been defined)699     │700 347 │         raise BadStructError, struct: struct, term: data701     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~702     │703     └─ lib/ecto/repo/queryable.ex:347: Ecto.Repo.Queryable.process/4704705Generated ecto app706==> db_connection707Compiling 18 files (.ex)708Generated db_connection app709==> nerves_compatibility_test710===> Analyzing applications...711===> Compiling cowboy712==> expo713Compiling 2 files (.erl)714Compiling 22 files (.ex)715Generated expo app716==> gettext717Compiling 18 files (.ex)718     warning: unused require Gettext.Macros719     │720 594 │   require Gettext.Macros721     │   ~722     │723     └─ lib/gettext.ex:594:3724725     warning: Kernel.ParallelCompiler.async/1 is deprecated. Use `pmap/2` instead726     │727 426 │               Kernel.ParallelCompiler.async(fn ->728     │                                       ~729     │730     └─ lib/gettext/compiler.ex:426:39: Gettext.Compiler.compile_po_files/3731732     warning: the following clause is redundant:733734         defp ensure_empty_msgstr!(%Expo.Message.Plural{} = message)735736     it has type:737738         dynamic(%Expo.Message.Plural{})739740     previous clauses have already matched on the following types:741742         %Expo.Message.Singular{}743         %Expo.Message.Plural{}744745     │746 391 │   defp ensure_empty_msgstr!(%Message.Plural{} = message) do747     │        ~748     │749     └─ lib/gettext/extractor.ex:391:8: Gettext.Extractor.ensure_empty_msgstr!/1750751Generated gettext app752==> phoenix_pubsub753Compiling 12 files (.ex)754Generated phoenix_pubsub app755==> nerves_compatibility_test756===> Analyzing applications...757===> Compiling certifi758==> cldr_utils759Compiling 12 files (.ex)760Generated cldr_utils app761==> ex_cldr762warning: in order to compile .yrl files, you must add "compilers: [:yecc] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs763Compiling 1 file (.yrl)764warning: in order to compile .xrl files, you must add "compilers: [:leex] ++ Mix.compilers()" to the "def project" section of ex_cldr's mix.exs765Compiling 1 file (.xrl)766Compiling 2 files (.erl)767Compiling 41 files (.ex)768    warning: unused require Logger769    │770 89 │     require Logger771    │     ~772    │773    └─ lib/cldr/install.ex:89:5774775    warning: using single-quoted strings to represent charlists is deprecated.776    Use ~c"" if you indeed want a charlist or use "" instead.777    You may run "mix format --migrate" to change all single-quoted778    strings to use the ~c sigil and fix this warning.779    │780 41 │   defmacro sigil_l(locale_name, 'u') do781    │                                 ~782    │783    └─ lib/cldr/language_tag/sigil.ex:41:33784785    warning: unused require Logger786    │787  8 │   require Logger788    │   ~789    │790    └─ lib/cldr/locale/cache.ex:8:3791792    warning: unused require Cldr.Backend.Compiler793    │794 47 │   require Cldr.Backend.Compiler795    │   ~796    │797    └─ lib/cldr.ex:47:3798799Compiling lib/cldr/validity/subdivision.ex (it's taking more than 10s)800Compiling lib/cldr/validity/language.ex (it's taking more than 10s)801     warning: the following clause is redundant:802803         defp encode_key("x0", private_use) when is_list(private_use)804805     it has type:806807         binary(), dynamic(empty_list() or non_empty_list(term(), term()))808809     previous clauses have already matched on the following types:810811         term(), empty_list() or non_empty_list(term(), term())812         term(), {term()}813         term(), {term(), term()}814         term(), {term(), term(), term()}815816     │817 113 │   defp encode_key("x0", private_use) when is_list(private_use) do818     │        ~819     │820     └─ lib/cldr/validity/t.ex:113:8: Cldr.Validity.T.encode_key/2821822    warning: the following clause is redundant:823824        def normalize(nil)825826    it has type:827828        nil829830    previous clauses have already matched on the following types:831832        binary()833        atom()834835    │836 36 │   def normalize(nil) do837    │       ~838    │839    └─ lib/cldr/validity/script.ex:36:7: Cldr.Validity.Script.normalize/1840841     warning: the following clause will never match:842843         {:error, {exception, reason}} ->844845     it is expected to match on type:846847         dynamic(false)848849     type warning found at:850     │851 137 │       {:error, {exception, reason}} ->852     │       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~853     │854     └─ lib/cldr/config/rbnf_config.ex:137: Cldr.Rbnf.Config.for_locale/1855856     warning: the 1st pattern in clause will never match:857858         nil859860     because it is expected to receive type:861862         dynamic(bitstring())863864     hint: defimpl for BitString requires its callbacks to match exclusively on bitstring()865866     type warning found at:867     │868 335 │     def to_string(nil) do869     │     ~~~~~~~~~~~~~~~~~~~~~870     │871     └─ lib/cldr/language_tag.ex:335: Cldr.LanguageTag.Chars.BitString.to_string/1872873Generated ex_cldr app874==> ex_url875Compiling 12 files (.ex)876    warning: variable "territory" is unused (if the variable is not meant to be used, prefix it with an underscore)877    │878 70 │     defp parse_phone_number(number, territory \\ nil) do879    │                                     ~~~~~~~~~880    │881    └─ lib/url/tel.ex:70:37: URL.Tel.parse_phone_number/2882883    warning: variable "format" is unused (if the variable is not meant to be used, prefix it with an underscore)884    │885 74 │     defp format(%__MODULE__{tel: tel}, format \\ :international) do886    │                                        ~~~~~~887    │888    └─ lib/url/tel.ex:74:40: URL.Tel.format/2889890    warning: function phone_context/1 is unused891    │892 78 │     defp phone_context(_) do893    │          ~894    │895    └─ lib/url/tel.ex:78:10: URL.Tel (module)896897    warning: function parse_phone_number/2 is unused898    │899 70 │     defp parse_phone_number(number, territory \\ nil) do900    │          ~901    │902    └─ lib/url/tel.ex:70:10: URL.Tel (module)903904    warning: function gettext_territory/0 is unused905    │906 98 │     defp gettext_territory do907    │          ~908    │909    └─ lib/url/tel.ex:98:10: URL.Tel (module)910911    warning: function get_territory/0 is unused912    │913 83 │   defp get_territory do914    │        ~915    │916    └─ lib/url/tel.ex:83:8: URL.Tel (module)917918    warning: function cldr_territory/0 is unused919    │920 88 │     defp cldr_territory do921    │          ~922    │923    └─ lib/url/tel.ex:88:10: URL.Tel (module)924925Generated ex_url app926==> linguist927Compiling 5 files (.ex)928Generating Linguist.Cldr for 2 locales named [:en, :und] with a default locale named :en929Generated linguist app930==> plug931Compiling 1 file (.erl)932Compiling 42 files (.ex)933Generated plug app934==> phoenix_html935Compiling 9 files (.ex)936    warning: comparison between distinct types found:937938        id == nil939940    given types:941942        dynamic(not false and not nil and not binary()) == nil943944    where "id" was given the types:945946        # type: dynamic(not false and not nil)947        # from: lib/phoenix_html/form_data.ex:92:8948        id = Keyword.get(opts, :id) || name949950        # type: dynamic(not false and not nil and not binary())951        # from: lib/phoenix_html/form_data.ex:94:12952        is_binary(id)953954    While Elixir can compare across all types, you are comparing across types which are always disjoint, and the result is either always true or always false955956    type warning found at:957    │958 94 │     unless is_binary(id) or is_nil(id) do959    │     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~960    │961    └─ lib/phoenix_html/form_data.ex:94: Phoenix.HTML.FormData.Atom.to_form/2962963    warning: the 1st pattern in clause will never match:964965        60966967    because it is expected to receive type:968969        dynamic(empty_list() or non_empty_list(term(), term()))970971    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())972973    type warning found at:974    │975 56 │   def to_iodata(?<), do: "&lt;"976    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~977    │978    └─ lib/phoenix_html/safe.ex:56: Phoenix.HTML.Safe.List.to_iodata/1979980    warning: the 1st pattern in clause will never match:981982        62983984    because it is expected to receive type:985986        dynamic(empty_list() or non_empty_list(term(), term()))987988    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())989990    type warning found at:991    │992 57 │   def to_iodata(?>), do: "&gt;"993    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~994    │995    └─ lib/phoenix_html/safe.ex:57: Phoenix.HTML.Safe.List.to_iodata/1996997    warning: the 1st pattern in clause will never match:998999        3810001001    because it is expected to receive type:10021003        dynamic(empty_list() or non_empty_list(term(), term()))10041005    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10061007    type warning found at:1008    │1009 58 │   def to_iodata(?&), do: "&amp;"1010    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1011    │1012    └─ lib/phoenix_html/safe.ex:58: Phoenix.HTML.Safe.List.to_iodata/110131014    warning: the 1st pattern in clause will never match:10151016        3410171018    because it is expected to receive type:10191020        dynamic(empty_list() or non_empty_list(term(), term()))10211022    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10231024    type warning found at:1025    │1026 59 │   def to_iodata(?"), do: "&quot;"1027    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1028    │1029    └─ lib/phoenix_html/safe.ex:59: Phoenix.HTML.Safe.List.to_iodata/110301031    warning: the 1st pattern in clause will never match:10321033        3910341035    because it is expected to receive type:10361037        dynamic(empty_list() or non_empty_list(term(), term()))10381039    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10401041    type warning found at:1042    │1043 60 │   def to_iodata(?'), do: "&#39;"1044    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1045    │1046    └─ lib/phoenix_html/safe.ex:60: Phoenix.HTML.Safe.List.to_iodata/110471048    warning: the 1st pattern in clause will never match:10491050        {:safe, data}10511052    because it is expected to receive type:10531054        dynamic(empty_list() or non_empty_list(term(), term()))10551056    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10571058    type warning found at:1059    │1060 76 │   def to_iodata({:safe, data}) do1061    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1062    │1063    └─ lib/phoenix_html/safe.ex:76: Phoenix.HTML.Safe.List.to_iodata/110641065    warning: the following clause is redundant:10661067        def to_iodata(other)10681069    it has type:10701071        dynamic(empty_list() or non_empty_list(term(), term()))10721073    previous clauses have already matched on the following types:10741075        non_empty_list(term(), term())1076        empty_list()10771078    │1079 80 │   def to_iodata(other) do1080    │       ~1081    │1082    └─ lib/phoenix_html/safe.ex:80:7: Phoenix.HTML.Safe.List.to_iodata/110831084    warning: the 1st pattern in clause will never match:10851086        h10871088    because it is expected to receive type:10891090        dynamic(empty_list() or non_empty_list(term(), term()))10911092    where "h" was given the type:10931094        # type: integer()1095        # from: lib/phoenix_html/safe.ex:62:251096        is_integer(h)10971098    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())10991100    type warning found at:1101    │1102 62 │   def to_iodata(h) when is_integer(h) and h <= 255 do1103    │                 ~1104    │1105    └─ lib/phoenix_html/safe.ex:62:17: Phoenix.HTML.Safe.List.to_iodata/111061107    warning: the 1st pattern in clause will never match:11081109        h11101111    because it is expected to receive type:11121113        dynamic(empty_list() or non_empty_list(term(), term()))11141115    where "h" was given the type:11161117        # type: integer()1118        # from: lib/phoenix_html/safe.ex:66:251119        is_integer(h)11201121    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11221123    type warning found at:1124    │1125 66 │   def to_iodata(h) when is_integer(h) do1126    │                 ~1127    │1128    └─ lib/phoenix_html/safe.ex:66:17: Phoenix.HTML.Safe.List.to_iodata/111291130    warning: the 1st pattern in clause will never match:11311132        h11331134    because it is expected to receive type:11351136        dynamic(empty_list() or non_empty_list(term(), term()))11371138    where "h" was given the type:11391140        # type: binary()1141        # from: lib/phoenix_html/safe.ex:72:251142        is_binary(h)11431144    hint: defimpl for List requires its callbacks to match exclusively on empty_list() or non_empty_list(term(), term())11451146    type warning found at:1147    │1148 72 │   def to_iodata(h) when is_binary(h) do1149    │                 ~1150    │1151    └─ lib/phoenix_html/safe.ex:72:17: Phoenix.HTML.Safe.List.to_iodata/111521153Generated phoenix_html app1154==> phoenix_template1155Compiling 4 files (.ex)1156     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 operator1157     │1158 505 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1159     │                             ~1160     │1161     └─ lib/phoenix/template.ex:505:29: Phoenix.Template.unsuffix/211621163Generated phoenix_template app1164==> phoenix_view1165Compiling 1 file (.ex)1166     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 operator1167     │1168 655 │       <<prefix::binary-size(prefix_size), ^suffix::binary>> -> prefix1169     │                             ~1170     │1171     └─ lib/phoenix_view.ex:655:29: Phoenix.View.unsuffix/211721173Generated phoenix_view app1174warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1175  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21176  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11177  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51178  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21179  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41180  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/211811182==> postgrex1183Compiling 64 files (.ex)1184    warning: the variable "positions_bytes" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1185    │1186 52 │     <<positions::binary-size(positions_bytes), remaining_data::binary>> = rest1187    │                              ~1188    │1189    └─ lib/postgrex/extensions/tsvector.ex:52:30: Postgrex.Extensions.TSVector.decode_tsvector_values/111901191    warning: the variable "rest_size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1192    │1193 98 │           <<data::size(rest_size)>> = rest1194    │                        ~1195    │1196    └─ lib/postgrex/messages.ex:98:24: Postgrex.Messages.parse/311971198    warning: unused require Postgrex.Messages1199    │1200 55 │   require Postgrex.Messages1201    │   ~1202    │1203    └─ lib/postgrex/query.ex:55:312041205      warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1206      │1207 3201 │       <<body::binary(size), rest::binary>> ->1208      │                      ~1209      │1210      └─ lib/postgrex/protocol.ex:3201:22: Postgrex.Protocol.msg_decode/112111212    warning: the variable "last_pos" (context Postgrex.Extensions.BitString) is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1213    │1214 16 │         <<binary::binary-size(last_pos), last::bits>> = val1215    │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1216    │1217    └─ lib/postgrex/extensions/bit_string.ex:16: Postgrex.DefaultTypes."Elixir.Postgrex.Extensions.BitString"/112181219      warning: the following clause will never match:12201221          {:error, %Postgrex.Error{} = err, s, buffer} ->12221223      because it attempts to match on the result of:12241225          msg_send(%{s | buffer: nil}, msgs, buffer)12261227      which has type:12281229          dynamic(:ok or {:disconnect, term(), term()})12301231      type warning found at:1232      │1233 1128 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1234      │       ~1235      │1236      └─ lib/postgrex/protocol.ex:1128:7: Postgrex.Protocol.handle_simple/312371238      warning: the following clause will never match:12391240          {:error, %Postgrex.Error{} = err, s, buffer} ->12411242      because it attempts to match on the result of:12431244          msg_send(%{s | buffer: nil}, msgs, buffer)12451246      which has type:12471248          dynamic(:ok or {:disconnect, term(), term()})12491250      type warning found at:1251      │1252 1238 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1253      │       ~1254      │1255      └─ lib/postgrex/protocol.ex:1238:7: Postgrex.Protocol.handle_streaming/212561257      warning: a struct for Postgrex.Query is expected on struct update:12581259          %Postgrex.Query{1260            query1261            | param_oids: param_oids,1262              param_formats: param_formats,1263              param_types: param_types1264          }12651266      but got type:12671268          dynamic()12691270      where "query" was given the type:12711272          # type: dynamic()1273          # from: lib/postgrex/protocol.ex:1637:411274          query12751276      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"12771278      type warning found at:1279      │1280 1640 │       query = %Query{1281      │               ~1282      │1283      └─ lib/postgrex/protocol.ex:1640:15: Postgrex.Protocol.describe_params/312841285      warning: a struct for Postgrex.Query is expected on struct update:12861287          %Postgrex.Query{1288            query1289            | ref: make_ref(),1290              types: types,1291              columns: nil,1292              result_oids: nil,1293              result_formats: [],1294              result_types: nil1295          }12961297      but got type:12981299          dynamic()13001301      where "query" was given the type:13021303          # type: dynamic()1304          # from: lib/postgrex/protocol.ex:1668:411305          query13061307      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"13081309      type warning found at:1310      │1311 1669 │     query = %Query{1312      │             ~1313      │1314      └─ lib/postgrex/protocol.ex:1669:13: Postgrex.Protocol.describe_result/413151316      warning: a struct for Postgrex.Query is expected on struct update:13171318          %Postgrex.Query{1319            query1320            | ref: make_ref(),1321              types: types,1322              columns: columns,1323              result_oids: result_oids,1324              result_formats: result_formats,1325              result_types: result_types1326          }13271328      but got type:13291330          dynamic()13311332      where "query" was given the type:13331334          # type: dynamic()1335          # from: lib/postgrex/protocol.ex:1682:411336          query13371338      when defining the variable "query", you must also pattern match on "%Postgrex.Query{}"13391340      type warning found at:1341      │1342 1685 │       query = %Query{1343      │               ~1344      │1345      └─ lib/postgrex/protocol.ex:1685:15: Postgrex.Protocol.describe_result/413461347      warning: the following clause will never match:13481349          {:error, %Postgrex.Error{} = err, s, buffer} ->13501351      because it attempts to match on the result of:13521353          msg_send(%{s | buffer: nil}, msgs, buffer)13541355      which has type:13561357          dynamic(:ok or {:disconnect, term(), term()})13581359      type warning found at:1360      │1361 2865 │       {:error, %Postgrex.Error{} = err, s, buffer} ->1362      │       ~1363      │1364      └─ lib/postgrex/protocol.ex:2865:7: Postgrex.Protocol.handle_transaction/313651366Generated postgrex app1367warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1368  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21369  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11370  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51371  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21372  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41373  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/213741375==> ecto_sql1376Compiling 25 files (.ex)1377    warning: the variable "size" is accessed inside size(...) of a bitstring but it was defined outside of the match. You must precede it with the pin operator1378    │1379 93 │       <<_, unquoted::binary-size(size), _>> = quoted1380    │                                  ~1381    │1382    └─ lib/ecto/adapters/postgres/connection.ex:93:34: Ecto.Adapters.Postgres.Connection.strip_quotes/113831384     warning: unused require Ecto.Query1385     │1386 140 │   require Ecto.Query1387     │   ~1388     │1389     └─ lib/ecto/adapters/tds.ex:140:313901391     warning: unused require Logger1392     │1393 139 │   require Logger1394     │   ~1395     │1396     └─ lib/ecto/adapters/tds.ex:139:313971398     warning: unused require Ecto.Query1399     │1400 107 │   require Ecto.Query1401     │   ~1402     │1403     └─ lib/ecto/migrator.ex:107:314041405      warning: this clause of defp validate_index_opts!/1 is never used (or it will always fail/warn when invoked)1406      │1407 1558 │   defp validate_index_opts!(opts), do: opts1408      │        ~1409      │1410      └─ lib/ecto/migration.ex:1558:8: Ecto.Migration.validate_index_opts!/114111412      warning: this clause of defp drop_reference_if_exists_expr/3 is never used (or it will always fail/warn when invoked)1413      │1414 1732 │     defp drop_reference_if_exists_expr(_, _, _),1415      │          ~1416      │1417      └─ lib/ecto/adapters/postgres/connection.ex:1732:10: Ecto.Adapters.Postgres.Connection.drop_reference_if_exists_expr/314181419     warning: List.zip/1 is deprecated. Use Enum.zip/1 instead1420     │1421 681 │       |> List.zip()1422     │               ~1423     │1424     └─ lib/ecto/adapters/sql.ex:681:15: Ecto.Adapters.SQL.format_table/11425     └─ lib/ecto/adapters/sql.ex:712:15: Ecto.Adapters.SQL.cells/214261427Generated ecto_sql app1428==> fun_with_flags1429Compiling 21 files (.ex)1430    warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1431    │1432 28 │     Logger.warn "FunWithFlags: couldn't load flag '#{flag_name}' from storage, falling back to stale cached value from ETS"1433    │            ~1434    │1435    └─ lib/fun_with_flags/store.ex:28:12: FunWithFlags.Store.try_to_use_the_cached_value/314361437Generated fun_with_flags app1438warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1439  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21440  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11441  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51442  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21443  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41444  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214451446==> oban1447Compiling 61 files (.ex)1448     warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1449     │1450 158 │     error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1451     │           ~1452     │1453     └─ lib/oban/repo.ex:158:11: Oban.Repo.transaction/414541455     warning: struct MyXQL.Error is undefined (module MyXQL.Error is not available or is yet to be defined)1456     │1457 123 │     error in [DBConnection.ConnectionError, Postgrex.Error, MyXQL.Error] ->1458     │           ~1459     │1460     └─ lib/oban/peers/database.ex:123:11: Oban.Peers.Database.handle_info/214611462Generated oban app1463warning: "xref: [exclude: ...]" in your mix.exs file is deprecated, instead use: "elixirc_options: [no_warn_undefined: ...]"1464  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:243: Mix.Tasks.Compile.Elixir.xref_exclude_opts/21465  (mix 1.20.3) lib/mix/tasks/compile.elixir.ex:142: Mix.Tasks.Compile.Elixir.run/11466  (mix 1.20.3) lib/mix/task.ex:502: anonymous fn/3 in Mix.Task.run_task/51467  (mix 1.20.3) lib/mix/task.compiler.ex:299: Mix.Task.Compiler.run_compiler/21468  (mix 1.20.3) lib/mix/task.compiler.ex:287: Mix.Task.Compiler.run/41469  (mix 1.20.3) lib/mix/tasks/compile.all.ex:75: Mix.Tasks.Compile.All.do_run/214701471==> phoenix_ecto1472Compiling 7 files (.ex)1473Generated phoenix_ecto app1474==> nerves_compatibility_test1475===> Analyzing applications...1476===> Compiling parse_trans1477==> uboot_env1478Compiling 5 files (.ex)1479Generated uboot_env app1480==> shorter_maps1481Compiling 1 file (.ex)1482     warning: using single-quoted strings to represent charlists is deprecated.1483     Use ~c"" if you indeed want a charlist or use "" instead.1484     You may run "mix format --migrate" to change all single-quoted1485     strings to use the ~c sigil and fix this warning.1486     │1487 192 │   defp modifier([mod], _default) when mod in 'as', do: mod1488     │                                              ~1489     │1490     └─ lib/shorter_maps.ex:192:4614911492    warning: the following clause will never match:14931494        {:error, step, reason} ->14951496    it is expected to match on type:14971498        none()14991500    type warning found at:1501    │1502 84 │       {:error, step, reason} ->1503    │       ~1504    │1505    └─ lib/shorter_maps.ex:84:7: ShorterMaps.do_sigil_m/315061507Generated shorter_maps app1508==> nerves_compatibility_test1509===> Analyzing applications...1510===> Compiling metrics1511===> Analyzing applications...1512===> Compiling hackney1513     ┌─ src/hackney_happy.erl:1514     │1515 101 │    catch exit(Pid, normal),1516     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1517Compile directive 'nowarn_deprecated_catch' can be used to suppress1518warnings in selected modules.15191520     ┌─ src/hackney_happy.erl:1521     │1522 128 │    case (catch inet_res:getbyname(Hostname, Type)) of1523     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1524Compile directive 'nowarn_deprecated_catch' can be used to suppress1525warnings in selected modules.15261527     ┌─ src/hackney_happy.erl:1528     │1529 151 │    case (catch inet:gethostbyname(Hostname, InetType)) of1530     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1531Compile directive 'nowarn_deprecated_catch' can be used to suppress1532warnings in selected modules.153315341535     ┌─ src/hackney_trace.erl:1536     │1537 132 │    (catch io:format(standard_io, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1538     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1539Compile directive 'nowarn_deprecated_catch' can be used to suppress1540warnings in selected modules.15411542     ┌─ src/hackney_trace.erl:1543     │1544 139 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1545     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1546Compile directive 'nowarn_deprecated_catch' can be used to suppress1547warnings in selected modules.15481549     ┌─ src/hackney_trace.erl:1550     │1551 146 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1552     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1553Compile directive 'nowarn_deprecated_catch' can be used to suppress1554warnings in selected modules.15551556     ┌─ src/hackney_trace.erl:1557     │1558 147 │    (catch file:close(Fd)),1559     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1560Compile directive 'nowarn_deprecated_catch' can be used to suppress1561warnings in selected modules.15621563     ┌─ src/hackney_trace.erl:1564     │1565 154 │    (catch io:format(Fd, "stop trace at ~s~n", [format_timestamp(Timestamp)])),1566     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1567Compile directive 'nowarn_deprecated_catch' can be used to suppress1568warnings in selected modules.15691570     ┌─ src/hackney_trace.erl:1571     │1572 155 │    (catch file:close(Fd)),1573     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1574Compile directive 'nowarn_deprecated_catch' can be used to suppress1575warnings in selected modules.15761577     ┌─ src/hackney_trace.erl:1578     │1579 161 │    (catch print_hackney_trace(Fd, Sev, Timestamp, Who,1580     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1581Compile directive 'nowarn_deprecated_catch' can be used to suppress1582warnings in selected modules.15831584     ┌─ src/hackney_trace.erl:1585     │1586 165 │    (catch print_trace(Fd, Event)),1587     │     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1588Compile directive 'nowarn_deprecated_catch' can be used to suppress1589warnings in selected modules.159015911592    ┌─ src/hackney_pool.erl:1593    │1594 80 │    case catch gen_server:call(Pool, {checkout, Connection, Requester, RequestRef}, CheckoutTimeout) of1595    │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1596Compile directive 'nowarn_deprecated_catch' can be used to suppress1597warnings in selected modules.15981599     ┌─ src/hackney_pool.erl:1600     │1601 101 │                _ = catch hackney_connection:close(Connection, Socket),1602     │                    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1603Compile directive 'nowarn_deprecated_catch' can be used to suppress1604warnings in selected modules.16051606     ┌─ src/hackney_pool.erl:1607     │1608 130 │            _ = catch hackney_connection:close(Connection, Socket),1609     │                ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1610Compile directive 'nowarn_deprecated_catch' can be used to suppress1611warnings in selected modules.16121613     ┌─ src/hackney_pool.erl:1614     │1615 134 │        catch hackney_connection:close(Connection, Socket),1616     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1617Compile directive 'nowarn_deprecated_catch' can be used to suppress1618warnings in selected modules.16191620     ┌─ src/hackney_pool.erl:1621     │1622 319 │                 catch Transport:close(Socket),1623     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1624Compile directive 'nowarn_deprecated_catch' can be used to suppress1625warnings in selected modules.16261627     ┌─ src/hackney_pool.erl:1628     │1629 417 │                case catch hackney_connection:controlling_process(Connection, S, self()) of1630     │                     ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1631Compile directive 'nowarn_deprecated_catch' can be used to suppress1632warnings in selected modules.16331634     ┌─ src/hackney_pool.erl:1635     │1636 423 │                    _ = catch hackney_connection:close(Connection, S),1637     │                        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1638Compile directive 'nowarn_deprecated_catch' can be used to suppress1639warnings in selected modules.16401641     ┌─ src/hackney_pool.erl:1642     │1643 444 │        catch hackney_connection:close(Connection, Socket),1644     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1645Compile directive 'nowarn_deprecated_catch' can be used to suppress1646warnings in selected modules.16471648     ┌─ src/hackney_pool.erl:1649     │1650 543 │            _ = (catch hackney_connection:close(Connection, Socket)),1651     │                 ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1652Compile directive 'nowarn_deprecated_catch' can be used to suppress1653warnings in selected modules.165416551656     ┌─ src/hackney_manager.erl:1657     │1658 114 │    catch ets:delete(?MODULE, Ref),1659     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1660Compile directive 'nowarn_deprecated_catch' can be used to suppress1661warnings in selected modules.16621663     ┌─ src/hackney_manager.erl:1664     │1665 125 │            catch Transport:close(Socket);1666     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1667Compile directive 'nowarn_deprecated_catch' can be used to suppress1668warnings in selected modules.16691670     ┌─ src/hackney_manager.erl:1671     │1672 129 │            catch Handler:checkin(SocketRef, Socket)1673     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1674Compile directive 'nowarn_deprecated_catch' can be used to suppress1675warnings in selected modules.16761677     ┌─ src/hackney_manager.erl:1678     │1679 133 │          catch Transport:controlling_process(Socket, self()),1680     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1681Compile directive 'nowarn_deprecated_catch' can be used to suppress1682warnings in selected modules.16831684     ┌─ src/hackney_manager.erl:1685     │1686 134 │          catch Transport:close(Socket),1687     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1688Compile directive 'nowarn_deprecated_catch' can be used to suppress1689warnings in selected modules.16901691     ┌─ src/hackney_manager.erl:1692     │1693 227 │            catch ets:delete(?MODULE, Ref),1694     │            ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1695Compile directive 'nowarn_deprecated_catch' can be used to suppress1696warnings in selected modules.16971698     ┌─ src/hackney_manager.erl:1699     │1700 255 │    catch ets:delete(?MODULE, Ref),1701     │    ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1702Compile directive 'nowarn_deprecated_catch' can be used to suppress1703warnings in selected modules.17041705     ┌─ src/hackney_manager.erl:1706     │1707 269 │          catch Transport:controlling_process(Socket, self()),1708     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1709Compile directive 'nowarn_deprecated_catch' can be used to suppress1710warnings in selected modules.17111712     ┌─ src/hackney_manager.erl:1713     │1714 270 │          catch Transport:close(Socket),1715     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1716Compile directive 'nowarn_deprecated_catch' can be used to suppress1717warnings in selected modules.17181719     ┌─ src/hackney_manager.erl:1720     │1721 383 │          catch unlink(Stream),1722     │          ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1723Compile directive 'nowarn_deprecated_catch' can be used to suppress1724warnings in selected modules.17251726     ┌─ src/hackney_manager.erl:1727     │1728 416 │        catch ets:delete(?REFS, Ref),1729     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1730Compile directive 'nowarn_deprecated_catch' can be used to suppress1731warnings in selected modules.17321733     ┌─ src/hackney_manager.erl:1734     │1735 426 │        catch ets:delete(?REFS, Ref),1736     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1737Compile directive 'nowarn_deprecated_catch' can be used to suppress1738warnings in selected modules.17391740     ┌─ src/hackney_manager.erl:1741     │1742 470 │    case catch hackney_stream:start_link(StreamTo2, Ref, Client) of1743     │         ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1744Compile directive 'nowarn_deprecated_catch' can be used to suppress1745warnings in selected modules.17461747     ┌─ src/hackney_manager.erl:1748     │1749 487 │           catch Transport:close(Socket),1750     │           ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1751Compile directive 'nowarn_deprecated_catch' can be used to suppress1752warnings in selected modules.17531754     ┌─ src/hackney_manager.erl:1755     │1756 543 │        catch ets:delete(?REFS, Ref),1757     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1758Compile directive 'nowarn_deprecated_catch' can be used to suppress1759warnings in selected modules.17601761     ┌─ src/hackney_manager.erl:1762     │1763 544 │        catch ets:delete(?MODULE, Ref),1764     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1765Compile directive 'nowarn_deprecated_catch' can be used to suppress1766warnings in selected modules.17671768     ┌─ src/hackney_manager.erl:1769     │1770 559 │        catch ets:delete(?REFS, Ref),1771     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1772Compile directive 'nowarn_deprecated_catch' can be used to suppress1773warnings in selected modules.17741775     ┌─ src/hackney_manager.erl:1776     │1777 560 │        catch ets:delete(?MODULE, Ref),1778     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1779Compile directive 'nowarn_deprecated_catch' can be used to suppress1780warnings in selected modules.17811782     ┌─ src/hackney_manager.erl:1783     │1784 618 │        catch unlink(Pid),1785     │        ╰── Warning: 'catch ...' is deprecated; please use 'try ... catch ... end' instead.1786Compile directive 'nowarn_deprecated_catch' can be used to suppress1787warnings in selected modules.178817891790==> bamboo1791Compiling 26 files (.ex)1792    warning: redefining @doc attribute previously set at line 33.17931794    Please remove the duplicate docs. If instead you want to override a previously defined @doc, attach the @doc attribute to a function head (the function signature not followed by any do-block). For example:17951796        @doc """1797        new docs1798        """1799        def deliver(...)18001801    │1802 39 │   @doc "Adds email to `Bamboo.SentEmail`"1803    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1804    │1805    └─ lib/bamboo/adapters/local_adapter.ex:39: Bamboo.LocalAdapter.deliver/218061807     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1808     │1809 276 │     Logger.warn(1810     │            ~1811     │1812     └─ lib/bamboo/mailer.ex:276:12: Bamboo.Mailer.parse_opts/218131814    error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1815    │1816  2 │   use Plug.Router1817    │   ^^^^^^^^^^^^^^^1818    │1819    └─ lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)18201821    error: module Plug.Router is not loaded and could not be found. This may be happening because the module you are trying to load directly or indirectly depends on the current module1822    │1823  2 │   use Plug.Router1824    │   ^^^^^^^^^^^^^^^1825    │1826    └─ lib/bamboo/plug/sent_email_api/sent_email_api_plug.ex:2: Bamboo.SentEmailApiPlug (module)182718281829== Compilation error in file lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex ==1830** (CompileError) lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex: cannot compile module Bamboo.SentEmailViewerPlug (errors have been logged)1831    (elixir 1.20.3) expanding macro: Kernel.use/11832    lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)1833could not compile dependency :bamboo, "mix compile" failed. Errors may have been logged above. You can recompile this dependency with "mix deps.compile bamboo --force", update it with "mix deps.update bamboo" or clean it with "mix deps.clean bamboo"