guard

Build log

host

guard 0.19.1 · fail · run guard-0.19.1-1791192619894
1149 of 1149 lines
1Resolving Hex dependencies...2Resolution completed in 0.42s3Unchanged:4  bamboo 1.3.05  bcrypt_elixir 2.0.36  certifi 2.15.07  circular_buffer 1.1.08  comeonin 5.1.39  cowboy 2.19.010  cowboy_telemetry 0.3.111  cowlib 2.20.0 VULNERABLE!12    EEF-CVE-2026-43966 (MEDIUM)13    aka: CVE-2026-43966, GHSA-w4f7-4cxr-rv3c14    HTTP Response Splitting via Non-VCHAR Bytes in cow_http_struct_hd:escape_string/215    https://osv.dev/vulnerability/EEF-CVE-2026-439661617    EEF-CVE-2026-43969 (LOW)18    aka: CVE-2026-43969, GHSA-g2wm-735q-3f5619    Cookie Request Header Injection via Unvalidated Encoder in cow_cookie:cookie/120    https://osv.dev/vulnerability/EEF-CVE-2026-4396921  decimal 1.9.0 VULNERABLE!22    EEF-CVE-2026-32686 (MEDIUM)23    aka: CVE-2026-32686, GHSA-rhv4-8758-jx7v24    Unbounded exponent in decimal enables unauthenticated DoS25    https://osv.dev/vulnerability/EEF-CVE-2026-3268626  ecto 3.10.327  elixir_make 0.10.028  expo 1.1.129  gettext 0.26.230  guard 0.19.131  guardian 1.2.1 VULNERABLE!32    EEF-CVE-2026-54894 (MEDIUM)33    aka: CVE-2026-54894, GHSA-xqch-c77q-rgh534    Atom-table exhaustion denial of service in Guardian via unbounded atom creation from binary keys35    https://osv.dev/vulnerability/EEF-CVE-2026-548943637    EEF-CVE-2026-55735 (HIGH)38    aka: CVE-2026-55735, GHSA-7975-hp3r-5qhv39    Guardian.revoke/3 acts on unverified token claims, allowing forged-token session revocation40    https://osv.dev/vulnerability/EEF-CVE-2026-5573541  hackney 1.25.0 VULNERABLE!42    EEF-CVE-2026-47071 (HIGH)43    aka: CVE-2026-47071, GHSA-gp9c-pm5m-5cxr44    SOCKS5 TLS upgrade ignores caller timeout in hackney45    https://osv.dev/vulnerability/EEF-CVE-2026-470714647    EEF-CVE-2026-47076 (MEDIUM)48    aka: CVE-2026-47076, GHSA-pj7v-xfvx-wmjq49    SSRF allowlist bypass via percent-encoded host in hackney50    https://osv.dev/vulnerability/EEF-CVE-2026-470765152    EEF-CVE-2026-47069 (LOW)53    aka: CVE-2026-47069, GHSA-mp55-p8c9-rfw254    CRLF injection in cookie domain/path options in hackney55    https://osv.dev/vulnerability/EEF-CVE-2026-470695657    EEF-CVE-2026-47075 (MEDIUM)58    aka: CVE-2026-47075, GHSA-j9wq-vxxc-94wf59    CR/LF injection in query parameter in hackney60    https://osv.dev/vulnerability/EEF-CVE-2026-4707561  idna 6.1.162  interactive_cmd 0.1.463  jason 1.1.264  jose 1.11.1265  metrics 1.0.166  mime 1.6.067  mimerl 1.5.068  nerves 2.0.0-pre.269  nerves_discovery 0.1.570  nerves_logging 0.2.471  nerves_runtime 0.13.1372  nerves_system_bbb 2.30.273  nerves_system_br 1.34.474  nerves_system_mangopi_mq_pro 0.17.275  nerves_system_qemu_aarch64 0.4.276  nerves_system_rpi0 2.1.277  nerves_system_rpi4 2.1.278  nerves_system_rpi5 2.1.279  nerves_system_trellis 0.5.080  nerves_system_x86_64 1.34.281  nerves_toolchain_aarch64_nerves_linux_gnu 15.3.182  nerves_toolchain_armv6_nerves_linux_gnueabihf 15.3.183  nerves_toolchain_armv7_nerves_linux_gnueabihf 15.3.184  nerves_toolchain_riscv64_nerves_linux_gnu 15.3.185  nerves_toolchain_x86_64_nerves_linux_musl 15.3.186  nerves_uevent 0.1.787  parse_trans 3.4.188  phoenix 1.8.1589  phoenix_pubsub 2.3.090  phoenix_template 1.1.091  plug 1.20.392  plug_cowboy 2.9.093  plug_crypto 2.2.094  property_table 0.3.495  ranch 2.3.096  ring_logger 0.11.797  ssl_verify_fun 1.1.798  tablet 0.3.399  telemetry 0.4.3100  tesla 1.3.3 VULNERABLE!101    EEF-CVE-2026-48597 (HIGH)102    aka: CVE-2026-48597, GHSA-h74c-q9j7-mpcm103    Atom table exhaustion via untrusted URL scheme in Tesla.Adapter.Mint104    https://osv.dev/vulnerability/EEF-CVE-2026-48597105106    EEF-CVE-2026-48596 (LOW)107    aka: CVE-2026-48596, GHSA-q7jx-v53g-848w108    CRLF injection in Tesla.Multipart.add_content_type_param/2 allows HTTP header injection109    https://osv.dev/vulnerability/EEF-CVE-2026-48596110111    EEF-CVE-2026-48598 (LOW)112    aka: CVE-2026-48598, GHSA-28jh-g32x-v9v4113    CRLF injection in Tesla.Multipart disposition parameters allows multipart part header injection114    https://osv.dev/vulnerability/EEF-CVE-2026-48598115116    EEF-CVE-2026-48594 (HIGH)117    aka: CVE-2026-48594, GHSA-mc85-72gr-vm9f118    Decompression bomb in Tesla.Middleware.DecompressResponse and Tesla.Middleware.Compression119    https://osv.dev/vulnerability/EEF-CVE-2026-48594120121    GHSA-9m9w-gxf7-rh8m (HIGH)122    aka: CVE-2026-48595, EEF-CVE-2026-48595123    Tesla: Authorization header leaks on cross-origin redirect via case-sensitive filtering124    https://osv.dev/vulnerability/GHSA-9m9w-gxf7-rh8m125  toolshed 0.5.0126  uboot_env 1.0.2127  unicode_util_compat 0.7.1128  websock 0.5.3129  websock_adapter 0.6.0130Found packages with security advisories, see above for details131All dependencies have been fetched132==> comeonin133Compiling 4 files (.ex)134Generated comeonin app135==> bcrypt_elixir136mkdir -p priv137cc -g -O3 -Wall -Wno-format-truncation -I"/usr/local/lib/erlang/erts-17.1/include" -Ic_src -fPIC -shared  c_src/bcrypt_nif.c c_src/blowfish.c -o priv/bcrypt_nif.so138Compiling 3 files (.ex)139    warning: using single-quoted strings to represent charlists is deprecated.140    Use ~c"" if you indeed want a charlist or use "" instead.141    You may run "mix format --migrate" to change all single-quoted142    strings to use the ~c sigil and fix this warning.143    │144 57 │     path = :filename.join(:code.priv_dir(:bcrypt_elixir), 'bcrypt_nif')145    │                                                           ~146    │147    └─ lib/bcrypt/base.ex:57:59148149    warning: use Bitwise is deprecated. import Bitwise instead150    │151  6 │   use Bitwise152    │   ~~~~~~~~~~~153    │154    └─ lib/bcrypt/base.ex:6: Bcrypt.Base (module)155156Generated bcrypt_elixir app157==> jason158Compiling 8 files (.ex)159    warning: using single-quoted strings to represent charlists is deprecated.160    Use ~c"" if you indeed want a charlist or use "" instead.161    You may run "mix format --migrate" to change all single-quoted162    strings to use the ~c sigil and fix this warning.163    │164 51 │     collapse_static(List.flatten(["{", elements] ++ '}'))165    │                                                     ~166    │167    └─ lib/codegen.ex:51:53168169     warning: using single-quoted strings to represent charlists is deprecated.170     Use ~c"" if you indeed want a charlist or use "" instead.171     You may run "mix format --migrate" to change all single-quoted172     strings to use the ~c sigil and fix this warning.173     │174 138 │       if byte > 0x7F or byte < 0x1F or byte in '"\\/' do175     │                                                ~176     │177     └─ lib/codegen.ex:138:48178179    warning: using single-quoted strings to represent charlists is deprecated.180    Use ~c"" if you indeed want a charlist or use "" instead.181    You may run "mix format --migrate" to change all single-quoted182    strings to use the ~c sigil and fix this warning.183    │184 69 │       _ in '\s\n\t\r', rest ->185    │            ~186    │187    └─ lib/decoder.ex:69:12188189    warning: using single-quoted strings to represent charlists is deprecated.190    Use ~c"" if you indeed want a charlist or use "" instead.191    You may run "mix format --migrate" to change all single-quoted192    strings to use the ~c sigil and fix this warning.193    │194 71 │       _ in '0', rest ->195    │            ~196    │197    └─ lib/decoder.ex:71:12198199    warning: using single-quoted strings to represent charlists is deprecated.200    Use ~c"" if you indeed want a charlist or use "" instead.201    You may run "mix format --migrate" to change all single-quoted202    strings to use the ~c sigil and fix this warning.203    │204 73 │       _ in '123456789', rest ->205    │            ~206    │207    └─ lib/decoder.ex:73:12208209    warning: using single-quoted strings to represent charlists is deprecated.210    Use ~c"" if you indeed want a charlist or use "" instead.211    You may run "mix format --migrate" to change all single-quoted212    strings to use the ~c sigil and fix this warning.213    │214 75 │       _ in '-', rest ->215    │            ~216    │217    └─ lib/decoder.ex:75:12218219    warning: using single-quoted strings to represent charlists is deprecated.220    Use ~c"" if you indeed want a charlist or use "" instead.221    You may run "mix format --migrate" to change all single-quoted222    strings to use the ~c sigil and fix this warning.223    │224 77 │       _ in '"', rest ->225    │            ~226    │227    └─ lib/decoder.ex:77:12228229    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 79 │       _ in '[', rest ->235    │            ~236    │237    └─ lib/decoder.ex:79:12238239    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 81 │       _ in '{', rest ->245    │            ~246    │247    └─ lib/decoder.ex:81:12248249    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 83 │       _ in ']', rest ->255    │            ~256    │257    └─ lib/decoder.ex:83:12258259    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 85 │       _ in 't', rest ->265    │            ~266    │267    └─ lib/decoder.ex:85:12268269    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 92 │       _ in 'f', rest ->275    │            ~276    │277    └─ lib/decoder.ex:92:12278279    warning: using single-quoted strings to represent charlists is deprecated.280    Use ~c"" if you indeed want a charlist or use "" instead.281    You may run "mix format --migrate" to change all single-quoted282    strings to use the ~c sigil and fix this warning.283    │284 99 │       _ in 'n', rest ->285    │            ~286    │287    └─ lib/decoder.ex:99:12288289     warning: using single-quoted strings to represent charlists is deprecated.290     Use ~c"" if you indeed want a charlist or use "" instead.291     You may run "mix format --migrate" to change all single-quoted292     strings to use the ~c sigil and fix this warning.293     │294 117 │        when byte in '123456789' do295     │                     ~296     │297     └─ lib/decoder.ex:117:21298299     warning: using single-quoted strings to represent charlists is deprecated.300     Use ~c"" if you indeed want a charlist or use "" instead.301     You may run "mix format --migrate" to change all single-quoted302     strings to use the ~c sigil and fix this warning.303     │304 125 │        when byte in '0123456789' do305     │                     ~306     │307     └─ lib/decoder.ex:125:21308309     warning: using single-quoted strings to represent charlists is deprecated.310     Use ~c"" if you indeed want a charlist or use "" instead.311     You may run "mix format --migrate" to change all single-quoted312     strings to use the ~c sigil and fix this warning.313     │314 131 │   defp number(<<e, rest::bits>>, original, skip, stack, key_decode, string_decode, len) when e in 'eE' do315     │                                                                                                   ~316     │317     └─ lib/decoder.ex:131:99318319     warning: using single-quoted strings to represent charlists is deprecated.320     Use ~c"" if you indeed want a charlist or use "" instead.321     You may run "mix format --migrate" to change all single-quoted322     strings to use the ~c sigil and fix this warning.323     │324 141 │        when byte in '0123456789' do325     │                     ~326     │327     └─ lib/decoder.ex:141:21328329     warning: using single-quoted strings to represent charlists is deprecated.330     Use ~c"" if you indeed want a charlist or use "" instead.331     You may run "mix format --migrate" to change all single-quoted332     strings to use the ~c sigil and fix this warning.333     │334 149 │        when byte in '0123456789' do335     │                     ~336     │337     └─ lib/decoder.ex:149:21338339     warning: using single-quoted strings to represent charlists is deprecated.340     Use ~c"" if you indeed want a charlist or use "" instead.341     You may run "mix format --migrate" to change all single-quoted342     strings to use the ~c sigil and fix this warning.343     │344 153 │        when e in 'eE' do345     │                  ~346     │347     └─ lib/decoder.ex:153:18348349     warning: using single-quoted strings to represent charlists is deprecated.350     Use ~c"" if you indeed want a charlist or use "" instead.351     You may run "mix format --migrate" to change all single-quoted352     strings to use the ~c sigil and fix this warning.353     │354 163 │        when byte in '0123456789' do355     │                     ~356     │357     └─ lib/decoder.ex:163:21358359     warning: using single-quoted strings to represent charlists is deprecated.360     Use ~c"" if you indeed want a charlist or use "" instead.361     You may run "mix format --migrate" to change all single-quoted362     strings to use the ~c sigil and fix this warning.363     │364 167 │        when byte in '+-' do365     │                     ~366     │367     └─ lib/decoder.ex:167:21368369     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 175 │        when byte in '0123456789' do375     │                     ~376     │377     └─ lib/decoder.ex:175:21378379     warning: using single-quoted strings to represent charlists is deprecated.380     Use ~c"" if you indeed want a charlist or use "" instead.381     You may run "mix format --migrate" to change all single-quoted382     strings to use the ~c sigil and fix this warning.383     │384 183 │        when byte in '0123456789' do385     │                     ~386     │387     └─ lib/decoder.ex:183:21388389     warning: using single-quoted strings to represent charlists is deprecated.390     Use ~c"" if you indeed want a charlist or use "" instead.391     You may run "mix format --migrate" to change all single-quoted392     strings to use the ~c sigil and fix this warning.393     │394 193 │        when byte in '0123456789' do395     │                     ~396     │397     └─ lib/decoder.ex:193:21398399     warning: using single-quoted strings to represent charlists is deprecated.400     Use ~c"" if you indeed want a charlist or use "" instead.401     You may run "mix format --migrate" to change all single-quoted402     strings to use the ~c sigil and fix this warning.403     │404 197 │        when byte in '+-' do405     │                     ~406     │407     └─ lib/decoder.ex:197:21408409     warning: using single-quoted strings to represent charlists is deprecated.410     Use ~c"" if you indeed want a charlist or use "" instead.411     You may run "mix format --migrate" to change all single-quoted412     strings to use the ~c sigil and fix this warning.413     │414 205 │        when byte in '0123456789' do415     │                     ~416     │417     └─ lib/decoder.ex:205:21418419     warning: using single-quoted strings to represent charlists is deprecated.420     Use ~c"" if you indeed want a charlist or use "" instead.421     You may run "mix format --migrate" to change all single-quoted422     strings to use the ~c sigil and fix this warning.423     │424 213 │        when byte in '0123456789' do425     │                     ~426     │427     └─ lib/decoder.ex:213:21428429     warning: using single-quoted strings to represent charlists is deprecated.430     Use ~c"" if you indeed want a charlist or use "" instead.431     You may run "mix format --migrate" to change all single-quoted432     strings to use the ~c sigil and fix this warning.433     │434 230 │   defp number_zero(<<e, rest::bits>>, original, skip, stack, key_decode, string_decode, len) when e in 'eE' do435     │                                                                                                        ~436     │437     └─ lib/decoder.ex:230:104438439     warning: using single-quoted strings to represent charlists is deprecated.440     Use ~c"" if you indeed want a charlist or use "" instead.441     You may run "mix format --migrate" to change all single-quoted442     strings to use the ~c sigil and fix this warning.443     │444 254 │       _ in '\s\n\t\r', rest ->445     │            ~446     │447     └─ lib/decoder.ex:254:12448449     warning: using single-quoted strings to represent charlists is deprecated.450     Use ~c"" if you indeed want a charlist or use "" instead.451     You may run "mix format --migrate" to change all single-quoted452     strings to use the ~c sigil and fix this warning.453     │454 256 │       _ in ']', rest ->455     │            ~456     │457     └─ lib/decoder.ex:256:12458459     warning: using single-quoted strings to represent charlists is deprecated.460     Use ~c"" if you indeed want a charlist or use "" instead.461     You may run "mix format --migrate" to change all single-quoted462     strings to use the ~c sigil and fix this warning.463     │464 260 │       _ in ',', rest ->465     │            ~466     │467     └─ lib/decoder.ex:260:12468469     warning: using single-quoted strings to represent charlists is deprecated.470     Use ~c"" if you indeed want a charlist or use "" instead.471     You may run "mix format --migrate" to change all single-quoted472     strings to use the ~c sigil and fix this warning.473     │474 278 │       _ in '\s\n\t\r', rest ->475     │            ~476     │477     └─ lib/decoder.ex:278:12478479     warning: using single-quoted strings to represent charlists is deprecated.480     Use ~c"" if you indeed want a charlist or use "" instead.481     You may run "mix format --migrate" to change all single-quoted482     strings to use the ~c sigil and fix this warning.483     │484 280 │       _ in '}', rest ->485     │            ~486     │487     └─ lib/decoder.ex:280:12488489     warning: using single-quoted strings to represent charlists is deprecated.490     Use ~c"" if you indeed want a charlist or use "" instead.491     You may run "mix format --migrate" to change all single-quoted492     strings to use the ~c sigil and fix this warning.493     │494 285 │       _ in ',', rest ->495     │            ~496     │497     └─ lib/decoder.ex:285:12498499     warning: using single-quoted strings to represent charlists is deprecated.500     Use ~c"" if you indeed want a charlist or use "" instead.501     You may run "mix format --migrate" to change all single-quoted502     strings to use the ~c sigil and fix this warning.503     │504 299 │       _ in '\s\n\t\r', rest ->505     │            ~506     │507     └─ lib/decoder.ex:299:12508509     warning: using single-quoted strings to represent charlists is deprecated.510     Use ~c"" if you indeed want a charlist or use "" instead.511     You may run "mix format --migrate" to change all single-quoted512     strings to use the ~c sigil and fix this warning.513     │514 301 │       _ in '}', rest ->515     │            ~516     │517     └─ lib/decoder.ex:301:12518519     warning: using single-quoted strings to represent charlists is deprecated.520     Use ~c"" if you indeed want a charlist or use "" instead.521     You may run "mix format --migrate" to change all single-quoted522     strings to use the ~c sigil and fix this warning.523     │524 308 │       _ in '"', rest ->525     │            ~526     │527     └─ lib/decoder.ex:308:12528529     warning: using single-quoted strings to represent charlists is deprecated.530     Use ~c"" if you indeed want a charlist or use "" instead.531     You may run "mix format --migrate" to change all single-quoted532     strings to use the ~c sigil and fix this warning.533     │534 319 │       _ in '\s\n\t\r', rest ->535     │            ~536     │537     └─ lib/decoder.ex:319:12538539     warning: using single-quoted strings to represent charlists is deprecated.540     Use ~c"" if you indeed want a charlist or use "" instead.541     You may run "mix format --migrate" to change all single-quoted542     strings to use the ~c sigil and fix this warning.543     │544 321 │       _ in ':', rest ->545     │            ~546     │547     └─ lib/decoder.ex:321:12548549     warning: using single-quoted strings to represent charlists is deprecated.550     Use ~c"" if you indeed want a charlist or use "" instead.551     You may run "mix format --migrate" to change all single-quoted552     strings to use the ~c sigil and fix this warning.553     │554 335 │       _ in '"', rest ->555     │            ~556     │557     └─ lib/decoder.ex:335:12558559     warning: using single-quoted strings to represent charlists is deprecated.560     Use ~c"" if you indeed want a charlist or use "" instead.561     You may run "mix format --migrate" to change all single-quoted562     strings to use the ~c sigil and fix this warning.563     │564 338 │       _ in '\\', rest ->565     │            ~566     │567     └─ lib/decoder.ex:338:12568569     warning: using single-quoted strings to represent charlists is deprecated.570     Use ~c"" if you indeed want a charlist or use "" instead.571     You may run "mix format --migrate" to change all single-quoted572     strings to use the ~c sigil and fix this warning.573     │574 358 │       _ in '"', rest ->575     │            ~576     │577     └─ lib/decoder.ex:358:12578579     warning: using single-quoted strings to represent charlists is deprecated.580     Use ~c"" if you indeed want a charlist or use "" instead.581     You may run "mix format --migrate" to change all single-quoted582     strings to use the ~c sigil and fix this warning.583     │584 362 │       _ in '\\', rest ->585     │            ~586     │587     └─ lib/decoder.ex:362:12588589     warning: using single-quoted strings to represent charlists is deprecated.590     Use ~c"" if you indeed want a charlist or use "" instead.591     You may run "mix format --migrate" to change all single-quoted592     strings to use the ~c sigil and fix this warning.593     │594 382 │       _ in 'b', rest ->595     │            ~596     │597     └─ lib/decoder.ex:382:12598599     warning: using single-quoted strings to represent charlists is deprecated.600     Use ~c"" if you indeed want a charlist or use "" instead.601     You may run "mix format --migrate" to change all single-quoted602     strings to use the ~c sigil and fix this warning.603     │604 383 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '\b'], 0)605     │                                                                                   ~606     │607     └─ lib/decoder.ex:383:83608609     warning: using single-quoted strings to represent charlists is deprecated.610     Use ~c"" if you indeed want a charlist or use "" instead.611     You may run "mix format --migrate" to change all single-quoted612     strings to use the ~c sigil and fix this warning.613     │614 384 │       _ in 't', rest ->615     │            ~616     │617     └─ lib/decoder.ex:384:12618619     warning: using single-quoted strings to represent charlists is deprecated.620     Use ~c"" if you indeed want a charlist or use "" instead.621     You may run "mix format --migrate" to change all single-quoted622     strings to use the ~c sigil and fix this warning.623     │624 385 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '\t'], 0)625     │                                                                                   ~626     │627     └─ lib/decoder.ex:385:83628629     warning: using single-quoted strings to represent charlists is deprecated.630     Use ~c"" if you indeed want a charlist or use "" instead.631     You may run "mix format --migrate" to change all single-quoted632     strings to use the ~c sigil and fix this warning.633     │634 386 │       _ in 'n', rest ->635     │            ~636     │637     └─ lib/decoder.ex:386:12638639     warning: using single-quoted strings to represent charlists is deprecated.640     Use ~c"" if you indeed want a charlist or use "" instead.641     You may run "mix format --migrate" to change all single-quoted642     strings to use the ~c sigil and fix this warning.643     │644 387 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '\n'], 0)645     │                                                                                   ~646     │647     └─ lib/decoder.ex:387:83648649     warning: using single-quoted strings to represent charlists is deprecated.650     Use ~c"" if you indeed want a charlist or use "" instead.651     You may run "mix format --migrate" to change all single-quoted652     strings to use the ~c sigil and fix this warning.653     │654 388 │       _ in 'f', rest ->655     │            ~656     │657     └─ lib/decoder.ex:388:12658659     warning: using single-quoted strings to represent charlists is deprecated.660     Use ~c"" if you indeed want a charlist or use "" instead.661     You may run "mix format --migrate" to change all single-quoted662     strings to use the ~c sigil and fix this warning.663     │664 389 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '\f'], 0)665     │                                                                                   ~666     │667     └─ lib/decoder.ex:389:83668669     warning: using single-quoted strings to represent charlists is deprecated.670     Use ~c"" if you indeed want a charlist or use "" instead.671     You may run "mix format --migrate" to change all single-quoted672     strings to use the ~c sigil and fix this warning.673     │674 390 │       _ in 'r', rest ->675     │            ~676     │677     └─ lib/decoder.ex:390:12678679     warning: using single-quoted strings to represent charlists is deprecated.680     Use ~c"" if you indeed want a charlist or use "" instead.681     You may run "mix format --migrate" to change all single-quoted682     strings to use the ~c sigil and fix this warning.683     │684 391 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '\r'], 0)685     │                                                                                   ~686     │687     └─ lib/decoder.ex:391:83688689     warning: using single-quoted strings to represent charlists is deprecated.690     Use ~c"" if you indeed want a charlist or use "" instead.691     You may run "mix format --migrate" to change all single-quoted692     strings to use the ~c sigil and fix this warning.693     │694 392 │       _ in '"', rest ->695     │            ~696     │697     └─ lib/decoder.ex:392:12698699     warning: using single-quoted strings to represent charlists is deprecated.700     Use ~c"" if you indeed want a charlist or use "" instead.701     You may run "mix format --migrate" to change all single-quoted702     strings to use the ~c sigil and fix this warning.703     │704 393 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '\"'], 0)705     │                                                                                   ~706     │707     └─ lib/decoder.ex:393:83708709     warning: using single-quoted strings to represent charlists is deprecated.710     Use ~c"" if you indeed want a charlist or use "" instead.711     You may run "mix format --migrate" to change all single-quoted712     strings to use the ~c sigil and fix this warning.713     │714 394 │       _ in '/', rest ->715     │            ~716     │717     └─ lib/decoder.ex:394:12718719     warning: using single-quoted strings to represent charlists is deprecated.720     Use ~c"" if you indeed want a charlist or use "" instead.721     You may run "mix format --migrate" to change all single-quoted722     strings to use the ~c sigil and fix this warning.723     │724 395 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '/'], 0)725     │                                                                                   ~726     │727     └─ lib/decoder.ex:395:83728729     warning: using single-quoted strings to represent charlists is deprecated.730     Use ~c"" if you indeed want a charlist or use "" instead.731     You may run "mix format --migrate" to change all single-quoted732     strings to use the ~c sigil and fix this warning.733     │734 396 │       _ in '\\', rest ->735     │            ~736     │737     └─ lib/decoder.ex:396:12738739     warning: using single-quoted strings to represent charlists is deprecated.740     Use ~c"" if you indeed want a charlist or use "" instead.741     You may run "mix format --migrate" to change all single-quoted742     strings to use the ~c sigil and fix this warning.743     │744 397 │         string(rest, original, skip + 2, stack, key_decode, string_decode, [acc | '\\'], 0)745     │                                                                                   ~746     │747     └─ lib/decoder.ex:397:83748749     warning: using single-quoted strings to represent charlists is deprecated.750     Use ~c"" if you indeed want a charlist or use "" instead.751     You may run "mix format --migrate" to change all single-quoted752     strings to use the ~c sigil and fix this warning.753     │754 398 │       _ in 'u', rest ->755     │            ~756     │757     └─ lib/decoder.ex:398:12758759     warning: using single-quoted strings to represent charlists is deprecated.760     Use ~c"" if you indeed want a charlist or use "" instead.761     You may run "mix format --migrate" to change all single-quoted762     strings to use the ~c sigil and fix this warning.763     │764 555 │       digits1 = 'Dd'765     │                 ~766     │767     └─ lib/decoder.ex:555:17768769     warning: using single-quoted strings to represent charlists is deprecated.770     Use ~c"" if you indeed want a charlist or use "" instead.771     You may run "mix format --migrate" to change all single-quoted772     strings to use the ~c sigil and fix this warning.773     │774 648 │        when byte in '\s\n\r\t' do775     │                     ~776     │777     └─ lib/decoder.ex:648:21778779     warning: using single-quoted strings to represent charlists is deprecated.780     Use ~c"" if you indeed want a charlist or use "" instead.781     You may run "mix format --migrate" to change all single-quoted782     strings to use the ~c sigil and fix this warning.783     │784 145 │     ']'785     │     ~786     │787     └─ lib/encode.ex:145:5788789     warning: using single-quoted strings to represent charlists is deprecated.790     Use ~c"" if you indeed want a charlist or use "" instead.791     You may run "mix format --migrate" to change all single-quoted792     strings to use the ~c sigil and fix this warning.793     │794 169 │     '}'795     │     ~796     │797     └─ lib/encode.ex:169:5798799     warning: using single-quoted strings to represent charlists is deprecated.800     Use ~c"" if you indeed want a charlist or use "" instead.801     You may run "mix format --migrate" to change all single-quoted802     strings to use the ~c sigil and fix this warning.803     │804 191 │     '}'805     │     ~806     │807     └─ lib/encode.ex:191:5808809     warning: using single-quoted strings to represent charlists is deprecated.810     Use ~c"" if you indeed want a charlist or use "" instead.811     You may run "mix format --migrate" to change all single-quoted812     strings to use the ~c sigil and fix this warning.813     │814 257 │   slash_escapes = Enum.zip('\b\t\n\f\r\"\\', 'btnfr"\\')815     │                            ~816     │817     └─ lib/encode.ex:257:28818819     warning: using single-quoted strings to represent charlists is deprecated.820     Use ~c"" if you indeed want a charlist or use "" instead.821     You may run "mix format --migrate" to change all single-quoted822     strings to use the ~c sigil and fix this warning.823     │824 257 │   slash_escapes = Enum.zip('\b\t\n\f\r\"\\', 'btnfr"\\')825     │                                              ~826     │827     └─ lib/encode.ex:257:46828829     warning: using single-quoted strings to represent charlists is deprecated.830     Use ~c"" if you indeed want a charlist or use "" instead.831     You may run "mix format --migrate" to change all single-quoted832     strings to use the ~c sigil and fix this warning.833     │834 164 │   defp pp_byte(byte, rest, output, depth, empty, opts) when byte in ' \n\r\t' do835     │                                                                     ~836     │837     └─ lib/formatter.ex:164:69838839     warning: using single-quoted strings to represent charlists is deprecated.840     Use ~c"" if you indeed want a charlist or use "" instead.841     You may run "mix format --migrate" to change all single-quoted842     strings to use the ~c sigil and fix this warning.843     │844 168 │   defp pp_byte(byte, rest, output, depth, empty, opts) when byte in '{[' do845     │                                                                     ~846     │847     └─ lib/formatter.ex:168:69848849     warning: using single-quoted strings to represent charlists is deprecated.850     Use ~c"" if you indeed want a charlist or use "" instead.851     You may run "mix format --migrate" to change all single-quoted852     strings to use the ~c sigil and fix this warning.853     │854 181 │   defp pp_byte(byte, rest, output, depth, true = _empty, opts) when byte in '}]' do855     │                                                                             ~856     │857     └─ lib/formatter.ex:181:77858859     warning: using single-quoted strings to represent charlists is deprecated.860     Use ~c"" if you indeed want a charlist or use "" instead.861     You may run "mix format --migrate" to change all single-quoted862     strings to use the ~c sigil and fix this warning.863     │864 187 │   defp pp_byte(byte, rest, output, depth, false = empty, opts) when byte in '}]' do865     │                                                                             ~866     │867     └─ lib/formatter.ex:187:77868869     warning: using single-quoted strings to represent charlists is deprecated.870     Use ~c"" if you indeed want a charlist or use "" instead.871     You may run "mix format --migrate" to change all single-quoted872     strings to use the ~c sigil and fix this warning.873     │874 193 │   defp pp_byte(byte, rest, output, depth, _empty, opts) when byte in ',' do875     │                                                                      ~876     │877     └─ lib/formatter.ex:193:70878879     warning: using single-quoted strings to represent charlists is deprecated.880     Use ~c"" if you indeed want a charlist or use "" instead.881     You may run "mix format --migrate" to change all single-quoted882     strings to use the ~c sigil and fix this warning.883     │884 199 │   defp pp_byte(byte, rest, output, depth, empty, opts) when byte in ':' do885     │                                                                     ~886     │887     └─ lib/formatter.ex:199:69888889Generated jason app890==> ecto891Compiling 56 files (.ex)892     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead893     │894 474 │       Logger.warn """895     │              ~896     │897     └─ lib/ecto/changeset/relation.ex:474:14: Ecto.Changeset.Relation.process_current/3898899    warning: unused require Logger900    │901  6 │   require Logger902    │   ~903    │904    └─ lib/ecto/query/builder/join.ex:6:3905906     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead907     │908 287 │   @spec insert(t, name, Changeset.t | Ecto.Schema.t | fun(Changeset.t | Ecto.Schema.t), Keyword.t) :: t909     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~910     │911     └─ lib/ecto/multi.ex:287: Ecto.Multi (module)912913     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead914     │915 323 │   @spec update(t, name, Changeset.t | fun(Changeset.t), Keyword.t) :: t916     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~917     │918     └─ lib/ecto/multi.ex:323: Ecto.Multi (module)919920     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead921     │922 356 │   @spec insert_or_update(t, name, Changeset.t | fun(Changeset.t), Keyword.t) :: t923     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~924     │925     └─ lib/ecto/multi.ex:356: Ecto.Multi (module)926927     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead928     │929 397 │   @spec delete(t, name, Changeset.t | Ecto.Schema.t | fun(Changeset.t | Ecto.Schema.t), Keyword.t) :: t930     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~931     │932     └─ lib/ecto/multi.ex:397: Ecto.Multi (module)933934     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead935     │936 426 │   @spec one(937     │   ~~~~~~~~~~938     │939     └─ lib/ecto/multi.ex:426: Ecto.Multi (module)940941     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead942     │943 457 │   @spec all(944     │   ~~~~~~~~~~945     │946     └─ lib/ecto/multi.ex:457: Ecto.Multi (module)947948     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead949     │950 488 │   @spec exists?(951     │   ~~~~~~~~~~~~~~952     │953     └─ lib/ecto/multi.ex:488: Ecto.Multi (module)954955     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead956     │957 597 │   @spec insert_all(958     │   ~~~~~~~~~~~~~~~~~959     │960     └─ lib/ecto/multi.ex:597: Ecto.Multi (module)961962     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead963     │964 640 │   @spec update_all(t, name, Ecto.Queryable.t | fun(Ecto.Queryable.t), Keyword.t, Keyword.t) :: t965     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~966     │967     └─ lib/ecto/multi.ex:640: Ecto.Multi (module)968969     warning: fun/1 is not valid in typespecs. Either specify fun() or use (... -> return) instead970     │971 678 │   @spec delete_all(t, name, Ecto.Queryable.t | fun(Ecto.Queryable.t), Keyword.t) :: t972     │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~973     │974     └─ lib/ecto/multi.ex:678: Ecto.Multi (module)975976     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead977     │978 208 │           Logger.warn """979     │                  ~980     │981     └─ lib/ecto/repo/preloader.ex:208:18: Ecto.Repo.Preloader.fetch_ids/4982983    warning: unused require Ecto.Query984    │985  6 │   require Ecto.Query986    │   ~987    │988    └─ lib/ecto/repo/preloader.ex:6:3989990      warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead991      │992 3156 │       Logger.warn """993      │              ~994      │995      └─ lib/ecto/changeset.ex:3156:14: Ecto.Changeset.optimistic_lock/3996997     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)998     │999 340 │         raise BadStructError, struct: struct, term: data1000     │         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1001     │1002     └─ lib/ecto/repo/queryable.ex:340: Ecto.Repo.Queryable.process/410031004      warning: Decimal.compare/2 is deprecated. Use Decimal.cmp/2 instead. This function will be re-introduced in Decimal v2.0 with new return value1005      │1006 2912 │     result = Decimal.compare(value, target_value) |> normalize_compare()1007      │                      ~1008      │1009      └─ lib/ecto/changeset.ex:2912:22: Ecto.Changeset.compare_numbers/610101011    warning: expected a map or struct when accessing .__adapter__ in expression:10121013        repo.__adapter__10141015    where "repo" was given the type:10161017        # type: dynamic(atom())1018        # from: lib/mix/tasks/ecto.drop.ex:60:71019        Mix.Ecto.ensure_repo(repo, args)10201021    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()10221023    type warning found at:1024    │1025 61 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1026    │                              ~1027    │1028    └─ lib/mix/tasks/ecto.drop.ex:61:30: Mix.Tasks.Ecto.Drop.run/110291030    warning: expected a map or struct when accessing .__adapter__ in expression:10311032        repo.__adapter__10331034    where "repo" was given the type:10351036        # type: dynamic(atom())1037        # from: lib/mix/tasks/ecto.create.ex:50:71038        Mix.Ecto.ensure_repo(repo, args)10391040    hint: "var.field" (without parentheses) means "var" is a map() while "var.fun()" (with parentheses) means "var" is an atom()10411042    type warning found at:1043    │1044 51 │       ensure_implements(repo.__adapter__, Ecto.Adapter.Storage,1045    │                              ~1046    │1047    └─ lib/mix/tasks/ecto.create.ex:51:30: Mix.Tasks.Ecto.Create.run/110481049     warning: the following clause is redundant:10501051         {decimal, ""} ->10521053     previous clauses have already matched on the following types:10541055         {:ok,1056          %Decimal{coef: :qNaN or :sNaN} or1057            %Decimal{sign: integer(), coef: :inf or :qNaN or :sNaN or integer(), exp: integer()} or1058            (%{..., sign: integer()} and not %Decimal{sign: integer(), coef: :NaN}) or1059            (map() and not %Decimal{coef: :NaN}) or atom() or bitstring() or empty_list() or float() or1060            fun() or integer() or non_empty_list(term(), term()) or pid() or port() or reference() or {...}}10611062     where "decimal" was given the type:10631064         # type: dynamic(:ok)1065         # from: lib/ecto/type.ex1066         {decimal, ""}10671068     type warning found at:1069     │1070 836 │       {decimal, ""} -> check_decimal(decimal, false)1071     │                     ~1072     │1073     └─ lib/ecto/type.ex:836:21: Ecto.Type.cast_decimal/110741075     warning: the following clause is redundant:10761077         {_, remainder} when is_binary(remainder) and byte_size(remainder) > 0 ->10781079     previous clauses have already matched on the following types:10801081         {:ok,1082          %Decimal{coef: :qNaN or :sNaN} or1083            %Decimal{sign: integer(), coef: :inf or :qNaN or :sNaN or integer(), exp: integer()} or1084            (%{..., sign: integer()} and not %Decimal{sign: integer(), coef: :NaN}) or1085            (map() and not %Decimal{coef: :NaN}) or atom() or bitstring() or empty_list() or float() or1086            fun() or integer() or non_empty_list(term(), term()) or pid() or port() or reference() or {...}}10871088     where "remainder" was given the types:10891090         # type: binary()1091         # from: lib/ecto/type.ex:837:271092         is_binary(remainder)10931094         # type: binary()1095         # from: lib/ecto/type.ex1096         {_, remainder}10971098     type warning found at:1099     │1100 837 │       {_, remainder} when is_binary(remainder) and byte_size(remainder) > 0 -> :error1101     │                                                                             ~1102     │1103     └─ lib/ecto/type.ex:837:77: Ecto.Type.cast_decimal/111041105Generated ecto app1106==> bamboo1107Compiling 25 files (.ex)1108    warning: redefining @doc attribute previously set at line 33.11091110    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:11111112        @doc """1113        new docs1114        """1115        def deliver(...)11161117    │1118 39 │   @doc "Adds email to `Bamboo.SentEmail`"1119    │   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~1120    │1121    └─ lib/bamboo/adapters/local_adapter.ex:39: Bamboo.LocalAdapter.deliver/211221123     warning: Logger.warn/1 is deprecated. Use Logger.warning/2 instead1124     │1125 259 │     Logger.warn(1126     │            ~1127     │1128     └─ lib/bamboo/mailer.ex:259:12: Bamboo.Mailer.parse_opts/211291130    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 module1131    │1132  2 │   use Plug.Router1133    │   ^^^^^^^^^^^^^^^1134    │1135    └─ lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)11361137    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 module1138    │1139  2 │   use Plug.Router1140    │   ^^^^^^^^^^^^^^^1141    │1142    └─ lib/bamboo/plug/sent_email_api/sent_email_api_plug.ex:2: Bamboo.SentEmailApiPlug (module)114311441145== Compilation error in file lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex ==1146** (CompileError) lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex: cannot compile module Bamboo.SentEmailViewerPlug (errors have been logged)1147    (elixir 1.20.3) expanding macro: Kernel.use/11148    lib/bamboo/plug/sent_email_viewer/email_preview_plug.ex:2: Bamboo.SentEmailViewerPlug (module)1149could 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"