diff --git a/.github/workflows/hot_upgrade.yaml b/.github/workflows/hot_upgrade.yaml index 3ee22cd5..b87ffeb3 100644 --- a/.github/workflows/hot_upgrade.yaml +++ b/.github/workflows/hot_upgrade.yaml @@ -6,11 +6,11 @@ on: otp: description: "OTP version" required: true - default: "28" + default: "29" type: choice options: - - "27" - "28" + - "29" from_version: description: "Version to upgrade from (tag only)" required: true diff --git a/.github/workflows/releases.yaml b/.github/workflows/releases.yaml index d3047680..26859122 100644 --- a/.github/workflows/releases.yaml +++ b/.github/workflows/releases.yaml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - otp: [27, 28] + otp: [28, 29] env: ARTIFACT_NAME: deployex-ubuntu-24.04-otp-${{ matrix.otp }}.tar.gz steps: diff --git a/.github/workflows/testing-release.yaml b/.github/workflows/testing-release.yaml index 1a9dd99f..a4004574 100644 --- a/.github/workflows/testing-release.yaml +++ b/.github/workflows/testing-release.yaml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - otp: [27, 28] + otp: [28, 29] env: ARTIFACT_NAME: deployex-ubuntu-24.04-otp-${{ matrix.otp }}.tar.gz steps: diff --git a/.tool-versions b/.tool-versions index c8e6e072..ae013742 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1,3 +1,3 @@ -erlang 28.5.0.3 -elixir 1.19.5-otp-28 -terraform 1.5.6 +erlang 29.0.3 +elixir 1.20.2-otp-29 +terraform 1.5.6 \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index 95dbe76b..52dd913e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,18 @@ +# CHANGELOG (0.10.X) + +## 0.10.0 () + +### Backwards incompatible changes from 0.9.5 + +#### OTP support + * From this version onwards, OTP-27 is no longer supported in favor of the new OTP-29 version + +### Bug fixes + * None + +### Enhancements + * None + # CHANGELOG (0.9.X) ## 0.9.5 🚀 (2026-07-08) @@ -108,8 +123,8 @@ This release includes binaries for the following Ubuntu versions: - * Ubuntu 24.04 with OTP 27 - [deployex-ubuntu-24.04-otp-27.tar.gz](https://github.com/thiagoesteves/deployex/tree/main/devops/releases/otp-27/.tool-versions) * Ubuntu 24.04 with OTP 28 - [deployex-ubuntu-24.04-otp-28.tar.gz](https://github.com/thiagoesteves/deployex/tree/main/devops/releases/otp-28/.tool-versions) + * Ubuntu 24.04 with OTP 29 - [deployex-ubuntu-24.04-otp-29.tar.gz](https://github.com/thiagoesteves/deployex/tree/main/devops/releases/otp-29/.tool-versions) You can use these pre-built binaries, or you can build your own if preferred. diff --git a/README.md b/README.md index 837c44d0..5d922c25 100644 --- a/README.md +++ b/README.md @@ -80,21 +80,22 @@ Upon deployment, the following dashboard becomes available, providing easy acces Since OTP distribution is heavily used between the DeployEx and Monitored Applications, users must ensure that both applications are running the same OTP Major version to prevent compatibility issues and system malfunctions. DeployEx releases will contain binaries for the following OTP versions: -| DeployEx version | | | -| ------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | -| [**0.9.5**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.5) | **27.3.4.14** | **28.5.0.3** | -| [**0.9.4**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.4) | **27.3.4.13** | **28.5.0.2** | -| [**0.9.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.3) | **27.3.4.13** | **28.5.0.2** | -| [**0.9.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.2) | **27.3.4.13** | **28.5.0.2** | -| [**0.9.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.1) | **27.3.4.9** | **28.4.1** | -| [**0.9.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.0) | **27.3.4.9** | **28.4.1** | -| [**0.8.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.8.0) | **27.3.4.3** | **28.1.1** | -| [**0.7.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.3) | **27.3.4.3** | **28.1.1** [1] | -| [**0.7.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.2) | **27.3.4.3** | **28.1** [1] | -| [**0.7.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.1) | **27.3.4.3** | **28.1** [1] | -| [**0.7.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.0) | **27.3.4.3** | **28.1** [1] | -| [**0.6.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.1) | **27.3.4.2** | **28.0.2** [1] | -| [**0.6.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.0) | **27.3.4.2** | **28.0.2** [1] | +| DeployEx version | | | | +| ------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------- | +| :soon: [**0.10.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.10.0) | - | **28.5.0.3** | **29.0.3** | +| [**0.9.5**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.5) | **27.3.4.14** | **28.5.0.3** | - | +| [**0.9.4**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.4) | **27.3.4.13** | **28.5.0.2** | - | +| [**0.9.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.3) | **27.3.4.13** | **28.5.0.2** | - | +| [**0.9.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.2) | **27.3.4.13** | **28.5.0.2** | - | +| [**0.9.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.1) | **27.3.4.9** | **28.4.1** | - | +| [**0.9.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.9.0) | **27.3.4.9** | **28.4.1** | - | +| [**0.8.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.8.0) | **27.3.4.3** | **28.1.1** | - | +| [**0.7.3**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.3) | **27.3.4.3** | **28.1.1** [1] | - | +| [**0.7.2**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.2) | **27.3.4.3** | **28.1** [1] | - | +| [**0.7.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.1) | **27.3.4.3** | **28.1** [1] | - | +| [**0.7.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.7.0) | **27.3.4.3** | **28.1** [1] | - | +| [**0.6.1**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.1) | **27.3.4.2** | **28.0.2** [1] | - | +| [**0.6.0**](https://github.com/thiagoesteves/deployex/releases/tag/0.6.0) | **27.3.4.2** | **28.0.2** [1] | - | - **[1]** - Binaries for `OTP-28` are compiled with Elixir [1.18.4-otp-27](https://github.com/elixir-lang/elixir/releases/tag/v1.18.4) diff --git a/apps/deployer/lib/deployer/engine.ex b/apps/deployer/lib/deployer/engine.ex index 4a2e5070..b492e8e2 100644 --- a/apps/deployer/lib/deployer/engine.ex +++ b/apps/deployer/lib/deployer/engine.ex @@ -1,8 +1,6 @@ defmodule Deployer.Engine do @moduledoc false - require Logger - alias Deployer.Engine alias Deployer.Status alias Foundation.Catalog diff --git a/apps/deployer/lib/deployer/engine/supervisor.ex b/apps/deployer/lib/deployer/engine/supervisor.ex index d03d4a84..f5ca6234 100644 --- a/apps/deployer/lib/deployer/engine/supervisor.ex +++ b/apps/deployer/lib/deployer/engine/supervisor.ex @@ -2,7 +2,6 @@ defmodule Deployer.Engine.Supervisor do @moduledoc false use DynamicSupervisor - require Logger alias Deployer.Engine.Worker diff --git a/apps/deployer/lib/deployer/status/application.ex b/apps/deployer/lib/deployer/status/application.ex index 87365732..df4e938b 100644 --- a/apps/deployer/lib/deployer/status/application.ex +++ b/apps/deployer/lib/deployer/status/application.ex @@ -4,7 +4,6 @@ defmodule Deployer.Status.Application do """ use GenServer - require Logger @behaviour Deployer.Status.Adapter diff --git a/apps/deployer/mix.exs b/apps/deployer/mix.exs index bbd70eee..d2de4b11 100644 --- a/apps/deployer/mix.exs +++ b/apps/deployer/mix.exs @@ -35,7 +35,7 @@ defmodule Deployer.MixProject do {:ex_aws, "~> 2.1"}, {:ex_aws_s3, "~> 2.0"}, {:goth, "~> 1.4"}, - {:briefly, "~> 0.4.1"}, + {:briefly, "~> 0.5"}, # Static Analysis {:mox, "~> 1.0", only: :test}, {:mock, "~> 0.3.0", only: :test}, diff --git a/apps/deployex_web/lib/deployex_web/components/layouts.ex b/apps/deployex_web/lib/deployex_web/components/layouts.ex index f5d8bfe7..5b940994 100644 --- a/apps/deployex_web/lib/deployex_web/components/layouts.ex +++ b/apps/deployex_web/lib/deployex_web/components/layouts.ex @@ -63,15 +63,15 @@ defmodule DeployexWeb.Layouts do <.theme_toggle /> - - + +
{render_slot(@inner_block)}
- - + + <.live_component module={DeployexWeb.Components.NavMenu} ui_settings={@ui_settings} diff --git a/apps/deployex_web/lib/deployex_web/live/applications/logs.ex b/apps/deployex_web/lib/deployex_web/live/applications/logs.ex index c838e499..00f4dc40 100644 --- a/apps/deployex_web/lib/deployex_web/live/applications/logs.ex +++ b/apps/deployex_web/lib/deployex_web/live/applications/logs.ex @@ -1,8 +1,6 @@ defmodule DeployexWeb.ApplicationsLive.Logs do use DeployexWeb, :live_component - require Logger - alias DeployexWeb.Helper alias Foundation.Catalog alias Host.Terminal @@ -26,8 +24,7 @@ defmodule DeployexWeb.ApplicationsLive.Logs do - + >
diff --git a/apps/deployex_web/lib/deployex_web/live/applications/terminal.ex b/apps/deployex_web/lib/deployex_web/live/applications/terminal.ex index 5584bcbb..0b2750b2 100644 --- a/apps/deployex_web/lib/deployex_web/live/applications/terminal.ex +++ b/apps/deployex_web/lib/deployex_web/live/applications/terminal.ex @@ -16,8 +16,6 @@ defmodule DeployexWeb.ApplicationsLive.Terminal do @terminal_timeout :timer.minutes(15) - require Logger - @impl true @spec render(any()) :: Phoenix.LiveView.Rendered.t() def render(assigns) do diff --git a/apps/deployex_web/lib/deployex_web/live/applications/versions.ex b/apps/deployex_web/lib/deployex_web/live/applications/versions.ex index 1d1c0500..7904f165 100644 --- a/apps/deployex_web/lib/deployex_web/live/applications/versions.ex +++ b/apps/deployex_web/lib/deployex_web/live/applications/versions.ex @@ -1,8 +1,6 @@ defmodule DeployexWeb.ApplicationsLive.Versions do use DeployexWeb, :live_component - require Logger - alias Deployer.Status attr :name, :string, required: true diff --git a/apps/deployex_web/lib/deployex_web/live/components/application_card.ex b/apps/deployex_web/lib/deployex_web/live/components/application_card.ex index 0a018bcb..bd8e940e 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/application_card.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/application_card.ex @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.ApplicationCard do @moduledoc false use DeployexWeb, :html - use Phoenix.Component alias DeployexWeb.Components.Monitoring alias DeployexWeb.Helper diff --git a/apps/deployex_web/lib/deployex_web/live/components/application_dashboard.ex b/apps/deployex_web/lib/deployex_web/live/components/application_dashboard.ex index 5c042e82..74f16644 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/application_dashboard.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/application_dashboard.ex @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.ApplicationDashboard do @moduledoc false use DeployexWeb, :html - use Phoenix.Component alias DeployexWeb.Components.ApplicationCard alias DeployexWeb.Components.CertificatePanel alias DeployexWeb.Helper diff --git a/apps/deployex_web/lib/deployex_web/live/components/certificate_modal.ex b/apps/deployex_web/lib/deployex_web/live/components/certificate_modal.ex index 143be74d..98fba451 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/certificate_modal.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/certificate_modal.ex @@ -4,7 +4,6 @@ defmodule DeployexWeb.Components.CertificateModal do Accepts a normalized certificate map (see ApplicationsLive.normalize_certificate/1). """ use DeployexWeb, :html - use Phoenix.Component attr :id, :string, required: true attr :certificate, :map, required: true diff --git a/apps/deployex_web/lib/deployex_web/live/components/certificate_panel.ex b/apps/deployex_web/lib/deployex_web/live/components/certificate_panel.ex index a223ceb5..9e86c9ac 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/certificate_panel.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/certificate_panel.ex @@ -6,7 +6,6 @@ defmodule DeployexWeb.Components.CertificatePanel do `name` is passed as phx-name-id to identify which cert to show in the modal. """ use DeployexWeb, :html - use Phoenix.Component @warn_days 30 @@ -72,8 +71,8 @@ defmodule DeployexWeb.Components.CertificatePanel do View details
- - + +
Issuer
diff --git a/apps/deployex_web/lib/deployex_web/live/components/config_changes_modal.ex b/apps/deployex_web/lib/deployex_web/live/components/config_changes_modal.ex index d809a619..b1cef6ad 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/config_changes_modal.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/config_changes_modal.ex @@ -3,7 +3,6 @@ defmodule DeployexWeb.Components.ConfigChangesModal do Modal component for displaying pending configuration changes in a human-readable format. """ use DeployexWeb, :html - use Phoenix.Component alias DeployexWeb.Helper diff --git a/apps/deployex_web/lib/deployex_web/live/components/confirm.ex b/apps/deployex_web/lib/deployex_web/live/components/confirm.ex index df8953ac..2ed8c746 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/confirm.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/confirm.ex @@ -57,15 +57,15 @@ defmodule DeployexWeb.Components.Confirm do
- - + +
{render_slot(@inner_block)}
- - + +
{render_slot(@footer)} diff --git a/apps/deployex_web/lib/deployex_web/live/components/dashboard.ex b/apps/deployex_web/lib/deployex_web/live/components/dashboard.ex index a266e07c..f1310e5b 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/dashboard.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/dashboard.ex @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.Dashboard do @moduledoc false use DeployexWeb, :html - use Phoenix.Component alias DeployexWeb.Components.ApplicationDashboard alias DeployexWeb.Components.DeployexCard alias DeployexWeb.Helper diff --git a/apps/deployex_web/lib/deployex_web/live/components/deployex_card.ex b/apps/deployex_web/lib/deployex_web/live/components/deployex_card.ex index c9293617..f92db4a0 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/deployex_card.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/deployex_card.ex @@ -2,7 +2,6 @@ defmodule DeployexWeb.Components.DeployexCard do @moduledoc false use DeployexWeb, :html - use Phoenix.Component alias DeployexWeb.Components.CertificatePanel alias DeployexWeb.Components.Monitoring alias DeployexWeb.Helper diff --git a/apps/deployex_web/lib/deployex_web/live/components/monitoring.ex b/apps/deployex_web/lib/deployex_web/live/components/monitoring.ex index 32692f0a..0b681c9d 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/monitoring.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/monitoring.ex @@ -2,8 +2,6 @@ defmodule DeployexWeb.Components.Monitoring do @moduledoc false use DeployexWeb, :html - use Phoenix.Component - alias DeployexWeb.Helper attr :monitoring, :list, required: true @@ -121,8 +119,8 @@ defmodule DeployexWeb.Components.Monitoring do {@status_text}
- - + +
@@ -167,8 +165,8 @@ defmodule DeployexWeb.Components.Monitoring do
- - + +
diff --git a/apps/deployex_web/lib/deployex_web/live/components/multi_select.ex b/apps/deployex_web/lib/deployex_web/live/components/multi_select.ex index 707fe4fc..ac90a7af 100644 --- a/apps/deployex_web/lib/deployex_web/live/components/multi_select.ex +++ b/apps/deployex_web/lib/deployex_web/live/components/multi_select.ex @@ -49,8 +49,8 @@ defmodule DeployexWeb.Components.MultiSelect do <% end %> <% end %>
- - + +
- - + +
{@memory_max}G Total
- - + {@memory_used}% @@ -117,8 +116,7 @@ defmodule DeployexWeb.Components.SystemBar do {@cpus_max}% Max
- - + {@cpu}%
diff --git a/apps/deployex_web/lib/deployex_web/live/docs/index.ex b/apps/deployex_web/lib/deployex_web/live/docs/index.ex index 157bc67f..99f7b9a4 100644 --- a/apps/deployex_web/lib/deployex_web/live/docs/index.ex +++ b/apps/deployex_web/lib/deployex_web/live/docs/index.ex @@ -19,8 +19,7 @@ defmodule DeployexWeb.DocsLive do width="100%" height="100%" title="Deployex Docs" - > - + >
""" diff --git a/apps/deployex_web/lib/deployex_web/live/hot_upgrade/index.ex b/apps/deployex_web/lib/deployex_web/live/hot_upgrade/index.ex index 63b7602c..c7f140b0 100644 --- a/apps/deployex_web/lib/deployex_web/live/hot_upgrade/index.ex +++ b/apps/deployex_web/lib/deployex_web/live/hot_upgrade/index.ex @@ -263,8 +263,7 @@ defmodule DeployexWeb.HotUpgradeLive do class="progress progress-primary w-full" value={@github.download_progress} max="100" - > - + >
{@github.download_progress}% diff --git a/apps/deployex_web/lib/deployex_web/live/observer/index.ex b/apps/deployex_web/lib/deployex_web/live/observer/index.ex index 7e04b702..823022bd 100644 --- a/apps/deployex_web/lib/deployex_web/live/observer/index.ex +++ b/apps/deployex_web/lib/deployex_web/live/observer/index.ex @@ -26,8 +26,7 @@ defmodule DeployexWeb.ObserverLive do src={~p"/observer/tracing?iframe=true"} class="w-full min-h-[90vh] border-0" title="Observer Web" - > - + >
1.8.0", override: true}, {:phoenix_html, "~> 4.1"}, {:phoenix_live_reload, "~> 1.2", only: :dev}, - {:phoenix_live_view, "~> 1.0.0"}, + {:phoenix_live_view, "~> 1.2"}, {:floki, ">= 0.30.0", only: :test}, + {:lazy_html, ">= 0.1.0", only: :test}, {:phoenix_live_dashboard, "~> 0.8.3"}, {:esbuild, "~> 0.10", runtime: Mix.env() == :dev}, {:tailwind, "~> 0.3", runtime: Mix.env() == :dev}, @@ -60,9 +61,9 @@ defmodule DeployexWeb.MixProject do {:finch, "~> 0.13"}, {:telemetry_metrics, "~> 1.0"}, {:telemetry_poller, "~> 1.0"}, - {:gettext, "~> 0.26"}, + {:gettext, "~> 1.0"}, {:jason, "~> 1.2"}, - {:dns_cluster, "~> 0.1.1"}, + {:dns_cluster, "~> 0.2.0"}, {:bandit, "~> 1.5"}, {:observer_web, "~> 0.2.0"}, # Static Analysis diff --git a/apps/deployex_web/test/deployex_web/live/applications/mode_test.exs b/apps/deployex_web/test/deployex_web/live/applications/mode_test.exs index 1040ee98..fc6ad22b 100644 --- a/apps/deployex_web/test/deployex_web/live/applications/mode_test.exs +++ b/apps/deployex_web/test/deployex_web/live/applications/mode_test.exs @@ -48,7 +48,7 @@ defmodule DeployexWeb.Applications.ModeTest do refute html =~ "1.0.39" refute html =~ "1.0.40" - assert html =~ "" + assert html =~ ~r/]*selected)(?=[^>]*value="automatic")[^>]*>automatic<\/option>/ end @tag :capture_log @@ -81,7 +81,7 @@ defmodule DeployexWeb.Applications.ModeTest do refute has_element?(index_live, "#cancel-button-mode") assert render(index_live) =~ - "" + ~r/]*selected)(?=[^>]*value="automatic")[^>]*>automatic<\/option>/ end @tag :capture_log @@ -197,7 +197,7 @@ defmodule DeployexWeb.Applications.ModeTest do {:ok, _index_live, html} = live(conn, ~p"/applications") - assert html =~ "" + assert html =~ ~r/]*selected)(?=[^>]*value="1\.0\.2")[^>]*>1\.0\.2<\/option>/ end @tag :capture_log diff --git a/apps/foundation/lib/config_provider/secrets/aws.ex b/apps/foundation/lib/config_provider/secrets/aws.ex index 1b4f35d4..6c80a0c1 100644 --- a/apps/foundation/lib/config_provider/secrets/aws.ex +++ b/apps/foundation/lib/config_provider/secrets/aws.ex @@ -5,8 +5,6 @@ defmodule Foundation.ConfigProvider.Secrets.Aws do @behaviour Foundation.ConfigProvider.Secrets.Adapter @behaviour ExAws.Request.HttpClient - require Logger - alias ExAws.Operation.JSON @doc """ diff --git a/apps/foundation/lib/config_provider/secrets/env.ex b/apps/foundation/lib/config_provider/secrets/env.ex index 050d4649..5756a805 100644 --- a/apps/foundation/lib/config_provider/secrets/env.ex +++ b/apps/foundation/lib/config_provider/secrets/env.ex @@ -4,8 +4,6 @@ defmodule Foundation.ConfigProvider.Secrets.Env do """ @behaviour Foundation.ConfigProvider.Secrets.Adapter - require Logger - @secrets [ "DEPLOYEX_ADMIN_HASHED_PASSWORD", "DEPLOYEX_SECRET_KEY_BASE", diff --git a/apps/foundation/lib/config_provider/secrets/gcp.ex b/apps/foundation/lib/config_provider/secrets/gcp.ex index f612b2e7..2aac0d9e 100644 --- a/apps/foundation/lib/config_provider/secrets/gcp.ex +++ b/apps/foundation/lib/config_provider/secrets/gcp.ex @@ -4,8 +4,6 @@ defmodule Foundation.ConfigProvider.Secrets.Gcp do """ @behaviour Foundation.ConfigProvider.Secrets.Adapter - require Logger - @doc """ secrets/3. diff --git a/apps/foundation/lib/foundation/catalog/local.ex b/apps/foundation/lib/foundation/catalog/local.ex index 02f24ea1..115f2f3d 100644 --- a/apps/foundation/lib/foundation/catalog/local.ex +++ b/apps/foundation/lib/foundation/catalog/local.ex @@ -11,8 +11,6 @@ defmodule Foundation.Catalog.Local do @behaviour Foundation.Catalog.Adapter - require Logger - @token_table :tokens @deployex_name "deployex" @deployex_sname "deployex" diff --git a/apps/foundation/lib/foundation/system/finch_stream.ex b/apps/foundation/lib/foundation/system/finch_stream.ex index 8bf885cc..c9da4c10 100644 --- a/apps/foundation/lib/foundation/system/finch_stream.ex +++ b/apps/foundation/lib/foundation/system/finch_stream.ex @@ -100,8 +100,6 @@ defmodule Foundation.System.FinchStream do end """ - require Logger - @type t :: %__MODULE__{ url: String.t() | nil, file_path: String.t() | nil, diff --git a/apps/foundation/test/catalog/catalog_ex_dox_test.exs b/apps/foundation/test/catalog/catalog_ex_dox_test.exs index ca90841a..61285e2d 100644 --- a/apps/foundation/test/catalog/catalog_ex_dox_test.exs +++ b/apps/foundation/test/catalog/catalog_ex_dox_test.exs @@ -1,5 +1,5 @@ defmodule Foundation.CatalogExDocTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false doctest Foundation.Catalog end diff --git a/apps/foundation/test/catalog/catalog_test.exs b/apps/foundation/test/catalog/catalog_test.exs index 695b3402..90ddacea 100644 --- a/apps/foundation/test/catalog/catalog_test.exs +++ b/apps/foundation/test/catalog/catalog_test.exs @@ -1,5 +1,5 @@ defmodule Foundation.CatalogTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false alias Foundation.Accounts.UserToken alias Foundation.Catalog diff --git a/apps/foundation/test/catalog/certificate_test.exs b/apps/foundation/test/catalog/certificate_test.exs index 6ab7357b..8193c513 100644 --- a/apps/foundation/test/catalog/certificate_test.exs +++ b/apps/foundation/test/catalog/certificate_test.exs @@ -1,5 +1,5 @@ defmodule Foundation.Catalog.CertificateTest do - use ExUnit.Case, async: true + use ExUnit.Case, async: false alias Foundation.Catalog.Certificate diff --git a/apps/sentinel/lib/sentinel/config/upgradable.ex b/apps/sentinel/lib/sentinel/config/upgradable.ex index a6952a48..37fc4022 100644 --- a/apps/sentinel/lib/sentinel/config/upgradable.ex +++ b/apps/sentinel/lib/sentinel/config/upgradable.ex @@ -7,8 +7,6 @@ defmodule Sentinel.Config.Upgradable do they require system-level changes. """ - require Logger - alias Foundation.Yaml defstruct logs_retention_time_ms: nil, diff --git a/apps/sentinel/lib/sentinel/logs/server.ex b/apps/sentinel/lib/sentinel/logs/server.ex index d17a8e43..b7f88b8c 100644 --- a/apps/sentinel/lib/sentinel/logs/server.ex +++ b/apps/sentinel/lib/sentinel/logs/server.ex @@ -4,8 +4,6 @@ defmodule Sentinel.Logs.Server do """ use GenServer - require Logger - @behaviour Sentinel.Logs.Adapter alias Deployer.Monitor diff --git a/devops/releases/otp-29/.tool-versions b/devops/releases/otp-29/.tool-versions new file mode 100644 index 00000000..5e93d4ea --- /dev/null +++ b/devops/releases/otp-29/.tool-versions @@ -0,0 +1,2 @@ +erlang 29.0.3 +elixir 1.20.2-otp-29 diff --git a/mix.exs b/mix.exs index 7c0389ce..ff02c172 100644 --- a/mix.exs +++ b/mix.exs @@ -124,6 +124,7 @@ defmodule Deployex.MixProject do {:ex_doc, "~> 0.34", only: [:dev, :test], runtime: false}, {:dialyxir, "~> 1.4", only: [:dev, :test], runtime: false}, {:mock, "~> 0.3.0", only: :test}, + {:meck, "~> 1.2", only: :test, override: true}, {:credo, "~> 1.7", only: [:dev, :test], runtime: false}, {:mix_audit, "~> 2.1", only: [:dev, :test], runtime: false}, {:jellyfish, "~> 0.2.0"} diff --git a/mix.lock b/mix.lock index dc3a715d..ef43febd 100644 --- a/mix.lock +++ b/mix.lock @@ -1,15 +1,16 @@ %{ "bandit": {:hex, :bandit, "1.12.0", "6c5214daa2469644ac4ab0113b98abc24f75e348378e6a974c6343b3e5da22ef", [:mix], [{:hpax, "~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}, {:plug, "~> 1.18", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:thousand_island, "~> 1.5", [hex: :thousand_island, repo: "hexpm", optional: false]}, {:websock, "~> 0.5", [hex: :websock, repo: "hexpm", optional: false]}], "hexpm", "45dac82dc86f45cf4a196dee9cc5a8b791d9c9469d996055f055e6ee36c66e20"}, "bcrypt_elixir": {:hex, :bcrypt_elixir, "3.3.2", "d50091e3c9492d73e17fc1e1619a9b09d6a5ef99160eb4d736926fd475a16ca3", [:make, :mix], [{:comeonin, "~> 5.3", [hex: :comeonin, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.6", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "471be5151874ae7931911057d1467d908955f93554f7a6cd1b7d804cac8cef53"}, - "briefly": {:hex, :briefly, "0.4.1", "c90c0511e64bde1fe8da7e244e14acf5bc78c3f6d033db778205e1fa2feafa5c", [:mix], [], "hexpm", "fc0cafcd19c4ed0d0906ae5cf627cc6ce76b8652a160c6bde0ab9d77304ebb0a"}, + "briefly": {:hex, :briefly, "0.5.1", "ee10d48da7f79ed2aebdc3e536d5f9a0c3e36ff76c0ad0d4254653a152b13a8a", [:mix], [], "hexpm", "bd684aa92ad8b7b4e0d92c31200993c4bc1469fc68cd6d5f15144041bd15cb57"}, "bunt": {:hex, :bunt, "1.0.0", "081c2c665f086849e6d57900292b3a161727ab40431219529f13c4ddcf3e7a44", [:mix], [], "hexpm", "dc5f86aa08a5f6fa6b8096f0735c4e76d54ae5c9fa2c143e5a1fc7c1cd9bb6b5"}, + "cc_precompiler": {:hex, :cc_precompiler, "0.1.11", "8c844d0b9fb98a3edea067f94f616b3f6b29b959b6b3bf25fee94ffe34364768", [:mix], [{:elixir_make, "~> 0.7", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "3427232caf0835f94680e5bcf082408a70b48ad68a5f5c0b02a3bea9f3a075b9"}, "comeonin": {:hex, :comeonin, "5.5.1", "5113e5f3800799787de08a6e0db307133850e635d34e9fab23c70b6501669510", [:mix], [], "hexpm", "65aac8f19938145377cee73973f192c5645873dcf550a8a6b18187d17c13ccdb"}, "configparser_ex": {:hex, :configparser_ex, "4.0.0", "17e2b831cfa33a08c56effc610339b2986f0d82a9caa0ed18880a07658292ab6", [:mix], [], "hexpm", "02e6d1a559361a063cba7b75bc3eb2d6ad7e62730c551cc4703541fd11e65e5b"}, "credo": {:hex, :credo, "1.7.19", "cc52129665fc7c15143d47838fda0f9cd6dac9ceced7bf4da6f85fcbfe64b12a", [:mix], [{:bunt, "~> 0.2.1 or ~> 1.0", [hex: :bunt, repo: "hexpm", optional: false]}, {:file_system, "~> 0.2 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "2d8bc95d5a7bb99dd2613621d4f08c6a3575c3fd4b62e6a2b48a100352a557b8"}, "dialyxir": {:hex, :dialyxir, "1.4.7", "dda948fcee52962e4b6c5b4b16b2d8fa7d50d8645bbae8b8685c3f9ecb7f5f4d", [:mix], [{:erlex, ">= 0.2.8", [hex: :erlex, repo: "hexpm", optional: false]}], "hexpm", "b34527202e6eb8cee198efec110996c25c5898f43a4094df157f8d28f27d9efe"}, - "dns_cluster": {:hex, :dns_cluster, "0.1.3", "0bc20a2c88ed6cc494f2964075c359f8c2d00e1bf25518a6a6c7fd277c9b0c66", [:mix], [], "hexpm", "46cb7c4a1b3e52c7ad4cbe33ca5079fbde4840dedeafca2baf77996c2da1bc33"}, + "dns_cluster": {:hex, :dns_cluster, "0.2.0", "aa8eb46e3bd0326bd67b84790c561733b25c5ba2fe3c7e36f28e88f384ebcb33", [:mix], [], "hexpm", "ba6f1893411c69c01b9e8e8f772062535a4cf70f3f35bcc964a324078d8c8240"}, "earmark_parser": {:hex, :earmark_parser, "1.4.45", "cba8369ab2a1342e419bc2760eec731b17be828941dcf494045d44766227e1d5", [:mix], [], "hexpm", "d3ec045bf122965db20c0bdb420e19ee1415843135327124918473feb4b328e8"}, - "elixir_make": {:hex, :elixir_make, "0.10.0", "16577e2583a79bb79237bbff349619ef5d80afffc07eac6e4faf0d00e2ddaf7d", [:mix], [], "hexpm", "dc1f09fb7fa68866b886abd5f0f3c83553b1a19a52359a899e92af1bb3b31982"}, + "elixir_make": {:hex, :elixir_make, "0.9.0", "6484b3cd8c0cee58f09f05ecaf1a140a8c97670671a6a0e7ab4dc326c3109726", [:mix], [], "hexpm", "db23d4fd8b757462ad02f8aa73431a426fe6671c80b200d9710caf3d1dd0ffdb"}, "erlex": {:hex, :erlex, "0.2.9", "7debbbaa9f4f368b8cd648983e0f1d7963028508e9c59e9d4ed504e94ef52a55", [:mix], [], "hexpm", "8cfffc0ec7159e6d73de2ab28a588064de80f88b2798d5cbe4482cbbc200178b"}, "erlexec": {:hex, :erlexec, "2.3.4", "91e8374e269d82cce0d5cbb47ebc8a4810d56474a767a5575ab22b40cf6ff5f9", [:rebar3], [], "hexpm", "ab0c6c3569a9f991fbfe6624961a88688610738589ff9dbad24db9bb27ae233b"}, "esbuild": {:hex, :esbuild, "0.10.0", "b0aa3388a1c23e727c5a3e7427c932d89ee791746b0081bbe56103e9ef3d291f", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "468489cda427b974a7cc9f03ace55368a83e1a7be12fba7e30969af78e5f8c70"}, @@ -22,8 +23,9 @@ "expo": {:hex, :expo, "1.1.1", "4202e1d2ca6e2b3b63e02f69cfe0a404f77702b041d02b58597c00992b601db5", [:mix], [], "hexpm", "5fb308b9cb359ae200b7e23d37c76978673aa1b06e2b3075d814ce12c5811640"}, "file_system": {:hex, :file_system, "1.1.1", "31864f4685b0148f25bd3fbef2b1228457c0c89024ad67f7a81a3ffbc0bbad3a", [:mix], [], "hexpm", "7a15ff97dfe526aeefb090a7a9d3d03aa907e100e262a0f8f7746b78f8f87a5d"}, "finch": {:hex, :finch, "0.23.0", "e3f9287ac25a8832f848b144c2b57346aac65b205e2e0629a52adfe6507fd837", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mint, "~> 1.8", [hex: :mint, repo: "hexpm", optional: false]}, {:nimble_options, "~> 0.4 or ~> 1.0", [hex: :nimble_options, repo: "hexpm", optional: false]}, {:nimble_pool, "~> 1.1", [hex: :nimble_pool, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "80e58d3f936f57e3fdf404f83a3642897ae6d9fb642934e46da4d8fe761b99d5"}, + "fine": {:hex, :fine, "0.1.6", "4bf7151493443c454aac9f2fa2f34f5fefd0346a83fb5586a016c4a135c63247", [:mix], [], "hexpm", "5638eb4495488e885ebec167fa57973e5c35e1a50c344eb7666c90ec1c4e3b12"}, "floki": {:hex, :floki, "0.38.4", "10f98971e892aed2c2f1b3a0f928e488e3797e1c6dd3dfd98db40b14e9a78bcf", [:mix], [], "hexpm", "bdb34645eee8e79845c7edaca2d4099a52804ee4d4a3ecc683a69451f0244973"}, - "gettext": {:hex, :gettext, "0.26.2", "5978aa7b21fada6deabf1f6341ddba50bc69c999e812211903b169799208f2a8", [:mix], [{:expo, "~> 0.5.1 or ~> 1.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "aa978504bcf76511efdc22d580ba08e2279caab1066b76bb9aa81c4a1e0a32a5"}, + "gettext": {:hex, :gettext, "1.0.2", "5457e1fd3f4abe47b0e13ff85086aabae760497a3497909b8473e0acee57673b", [:mix], [{:expo, "~> 0.5.1 or ~> 1.0", [hex: :expo, repo: "hexpm", optional: false]}], "hexpm", "eab805501886802071ad290714515c8c4a17196ea76e5afc9d06ca85fb1bfeb3"}, "goth": {:hex, :goth, "1.4.5", "ee37f96e3519bdecd603f20e7f10c758287088b6d77c0147cd5ee68cf224aade", [:mix], [{:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: false]}, {:jose, "~> 1.11", [hex: :jose, repo: "hexpm", optional: false]}], "hexpm", "0fc2dce5bd710651ed179053d0300ce3a5d36afbdde11e500d57f05f398d5ed5"}, "heroicons": {:git, "https://github.com/tailwindlabs/heroicons.git", "0435d4ca364a608cc75e2f8683d374e55abbae26", [tag: "v2.2.0", sparse: "optimized", depth: 1]}, "hpax": {:hex, :hpax, "1.0.4", "777de5d433b0fbdc7c418159c8055910faa8047ffdb3d6b31098d2a46cd7685c", [:mix], [], "hexpm", "afc7cb142ebcc2d01ce7816190b98ce5dd49e799111b24249f3443d730f377ca"}, @@ -31,12 +33,13 @@ "jason": {:hex, :jason, "1.4.5", "2e3a008590b0b8d7388c20293e9dcc9cf3e5d642fd2a114e4cbbb52e595d940a", [:mix], [{:decimal, "~> 1.0 or ~> 2.0 or ~> 3.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "b0c823996102bcd0239b3c2444eb00409b72f6a140c1950bc8b457d836b30684"}, "jellyfish": {:hex, :jellyfish, "0.2.4", "799d26bb7c1f4e65d4fa59de550e3e5a5572714006f8afea21e81a9f4e707461", [:mix], [], "hexpm", "db4be0677db1104aa44669ee64db457c329dfc2c52211ce63349960a54af2454"}, "jose": {:hex, :jose, "1.11.12", "06e62b467b61d3726cbc19e9b5489f7549c37993de846dfb3ee8259f9ed208b3", [:mix, :rebar3], [], "hexpm", "31e92b653e9210b696765cdd885437457de1add2a9011d92f8cf63e4641bab7b"}, + "lazy_html": {:hex, :lazy_html, "0.1.11", "136c8e9cd616b4f4e9c1562daa683880891120b759606dc4c3b6b18058ba5d79", [:make, :mix], [{:cc_precompiler, "~> 0.1", [hex: :cc_precompiler, repo: "hexpm", optional: false]}, {:elixir_make, "~> 0.9.0", [hex: :elixir_make, repo: "hexpm", optional: false]}, {:fine, "~> 0.1.0", [hex: :fine, repo: "hexpm", optional: false]}], "hexpm", "3b1be592929c31eca1a21673d25696e5c14cddfe922d9d1a3e3b48be4163883b"}, "makeup": {:hex, :makeup, "1.2.1", "e90ac1c65589ef354378def3ba19d401e739ee7ee06fb47f94c687016e3713d1", [:mix], [{:nimble_parsec, "~> 1.4", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "d36484867b0bae0fea568d10131197a4c2e47056a6fbe84922bf6ba71c8d17ce"}, "makeup_elixir": {:hex, :makeup_elixir, "1.0.1", "e928a4f984e795e41e3abd27bfc09f51db16ab8ba1aebdba2b3a575437efafc2", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}, {:nimble_parsec, "~> 1.2.3 or ~> 1.3", [hex: :nimble_parsec, repo: "hexpm", optional: false]}], "hexpm", "7284900d412a3e5cfd97fdaed4f5ed389b8f2b4cb49efc0eb3bd10e2febf9507"}, "makeup_erlang": {:hex, :makeup_erlang, "1.1.0", "835f7e60792e08824cda445639555d7bf1bbbddb1b60b306e33cb6f6db24dc74", [:mix], [{:makeup, "~> 1.0", [hex: :makeup, repo: "hexpm", optional: false]}], "hexpm", "1cd6780fb1dd1a03979abaed0fe82712b0625118fd5257d3ebbf73f960c73c3c"}, - "meck": {:hex, :meck, "0.9.2", "85ccbab053f1db86c7ca240e9fc718170ee5bda03810a6292b5306bf31bae5f5", [:rebar3], [], "hexpm", "81344f561357dc40a8344afa53767c32669153355b626ea9fcbc8da6b3045826"}, + "meck": {:hex, :meck, "1.2.0", "c3618447506589a2931be80d006ea883aff156dd56e8822f7c1bb49896e94edb", [:rebar3], [], "hexpm", "a2cfd08306ef4992db7cd2aa3521b797456abec9f562f3f0341633052dee4af9"}, "mime": {:hex, :mime, "2.0.7", "b8d739037be7cd402aee1ba0306edfdef982687ee7e9859bee6198c1e7e2f128", [:mix], [], "hexpm", "6171188e399ee16023ffc5b76ce445eb6d9672e2e241d2df6050f3c771e80ccd"}, - "mint": {:hex, :mint, "1.9.0", "d6f534c2a3e98b2a8cc749b4796eb77e9e3af79a76f96e4c74035a827de0d318", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1 or ~> 0.2.0 or ~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "007154c7d8c43916aed3c93afd1f11aebbaa9c5ff4b7ba55ebe0d17ee0296042"}, + "mint": {:hex, :mint, "1.9.1", "3bc120b743ed2e99ad920910f2613e9faebabb2257731b0e2ea4d8ccd9eceede", [:mix], [{:castore, "~> 0.1.0 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}, {:hpax, "~> 0.1.1 or ~> 0.2.0 or ~> 1.0", [hex: :hpax, repo: "hexpm", optional: false]}], "hexpm", "831101bd560b086316fab5f7adb21a4f3455717d8e4bc8368b052e09aa9163e0"}, "mix_audit": {:hex, :mix_audit, "2.1.5", "c0f77cee6b4ef9d97e37772359a187a166c7a1e0e08b50edf5bf6959dfe5a016", [:make, :mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:yaml_elixir, "~> 2.11", [hex: :yaml_elixir, repo: "hexpm", optional: false]}], "hexpm", "87f9298e21da32f697af535475860dc1d3617a010e0b418d2ec6142bc8b42d69"}, "mock": {:hex, :mock, "0.3.9", "10e44ad1f5962480c5c9b9fa779c6c63de9bd31997c8e04a853ec990a9d841af", [:mix], [{:meck, "~> 0.9.2", [hex: :meck, repo: "hexpm", optional: false]}], "hexpm", "9e1b244c4ca2551bb17bb8415eed89e40ee1308e0fbaed0a4fdfe3ec8a4adbd3"}, "mox": {:hex, :mox, "1.2.0", "a2cd96b4b80a3883e3100a221e8adc1b98e4c3a332a8fc434c39526babafd5b3", [:mix], [{:nimble_ownership, "~> 1.0", [hex: :nimble_ownership, repo: "hexpm", optional: false]}], "hexpm", "c7b92b3cc69ee24a7eeeaf944cd7be22013c52fcb580c1f33f50845ec821089a"}, @@ -49,14 +52,14 @@ "phoenix_html": {:hex, :phoenix_html, "4.3.0", "d3577a5df4b6954cd7890c84d955c470b5310bb49647f0a114a6eeecc850f7ad", [:mix], [], "hexpm", "3eaa290a78bab0f075f791a46a981bbe769d94bc776869f4f3063a14f30497ad"}, "phoenix_live_dashboard": {:hex, :phoenix_live_dashboard, "0.8.7", "405880012cb4b706f26dd1c6349125bfc903fb9e44d1ea668adaf4e04d4884b7", [:mix], [{:ecto, "~> 3.6.2 or ~> 3.7", [hex: :ecto, repo: "hexpm", optional: true]}, {:ecto_mysql_extras, "~> 0.5", [hex: :ecto_mysql_extras, repo: "hexpm", optional: true]}, {:ecto_psql_extras, "~> 0.7", [hex: :ecto_psql_extras, repo: "hexpm", optional: true]}, {:ecto_sqlite3_extras, "~> 1.1.7 or ~> 1.2.0", [hex: :ecto_sqlite3_extras, repo: "hexpm", optional: true]}, {:mime, "~> 1.6 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.19 or ~> 1.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}, {:telemetry_metrics, "~> 0.6 or ~> 1.0", [hex: :telemetry_metrics, repo: "hexpm", optional: false]}], "hexpm", "3a8625cab39ec261d48a13b7468dc619c0ede099601b084e343968309bd4d7d7"}, "phoenix_live_reload": {:hex, :phoenix_live_reload, "1.6.2", "b18b0773a1ba77f28c52decbb0f10fd1ac4d3ae5b8632399bbf6986e3b665f62", [:mix], [{:file_system, "~> 0.2.10 or ~> 1.0", [hex: :file_system, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.4", [hex: :phoenix, repo: "hexpm", optional: false]}], "hexpm", "d1f89c18114c50d394721365ffb428cce24f1c13de0467ffa773e2ff4a30d5b9"}, - "phoenix_live_view": {:hex, :phoenix_live_view, "1.0.18", "943431edd0ef8295ffe4949f0897e2cb25c47d3d7ebba2b008d7c68598b887f1", [:mix], [{:floki, "~> 0.36", [hex: :floki, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0 or ~> 1.8.0-rc", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "724934fd0a68ecc57281cee863674454b06163fed7f5b8005b5e201ba4b23316"}, + "phoenix_live_view": {:hex, :phoenix_live_view, "1.2.6", "b2b50c51993b068fe2a29eda45ca4fe67bf74f146343468485686a253c65a8da", [:mix], [{:igniter, ">= 0.6.16 and < 1.0.0-0", [hex: :igniter, repo: "hexpm", optional: true]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:lazy_html, "~> 0.1.0", [hex: :lazy_html, repo: "hexpm", optional: true]}, {:phoenix, "~> 1.6.15 or ~> 1.7.0 or ~> 1.8.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 3.3 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.15", [hex: :plug, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "5dc549a78dab94e80a340c760090e9e7bab16ac47841e34f4fff5819e02cbf35"}, "phoenix_pubsub": {:hex, :phoenix_pubsub, "2.2.0", "ff3a5616e1bed6804de7773b92cbccfc0b0f473faf1f63d7daf1206c7aeaaa6f", [:mix], [], "hexpm", "adc313a5bf7136039f63cfd9668fde73bba0765e0614cba80c06ac9460ff3e96"}, "phoenix_template": {:hex, :phoenix_template, "1.0.4", "e2092c132f3b5e5b2d49c96695342eb36d0ed514c5b252a77048d5969330d639", [:mix], [{:phoenix_html, "~> 2.14.2 or ~> 3.0 or ~> 4.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}], "hexpm", "2c0c81f0e5c6753faf5cca2f229c9709919aba34fab866d3bc05060c9c444206"}, "plug": {:hex, :plug, "1.20.2", "adbee2441232412e37fbb357fd5e4cd533fdd253b29f2e1992262b0f1fb01462", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "b16baf55877d60891002ffc1ce0b3ff7d6f30a38a23e02e4d4293c4ac266f136"}, "plug_crypto": {:hex, :plug_crypto, "2.1.1", "19bda8184399cb24afa10be734f84a16ea0a2bc65054e23a62bb10f06bc89491", [:mix], [], "hexpm", "6470bce6ffe41c8bd497612ffde1a7e4af67f36a15eea5f921af71cf3e11247c"}, "req": {:hex, :req, "0.5.17", "0096ddd5b0ed6f576a03dde4b158a0c727215b15d2795e59e0916c6971066ede", [:mix], [{:brotli, "~> 0.3.1", [hex: :brotli, repo: "hexpm", optional: true]}, {:ezstd, "~> 1.0", [hex: :ezstd, repo: "hexpm", optional: true]}, {:finch, "~> 0.17", [hex: :finch, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mime, "~> 2.0.6 or ~> 2.1", [hex: :mime, repo: "hexpm", optional: false]}, {:nimble_csv, "~> 1.0", [hex: :nimble_csv, repo: "hexpm", optional: true]}, {:plug, "~> 1.0", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "0b8bc6ffdfebbc07968e59d3ff96d52f2202d0536f10fef4dc11dc02a2a43e39"}, "sobelow": {:hex, :sobelow, "0.14.1", "2f81e8632f15574cba2402bcddff5497b413c01e6f094bc0ab94e83c2f74db81", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}], "hexpm", "8fac9a2bd90fdc4b15d6fca6e1608efb7f7c600fa75800813b794ee9364c87f2"}, - "swoosh": {:hex, :swoosh, "1.26.2", "1e5f398c6ab313d028b9bf604165f051e279093090c50b6f93090cf6a599b0f7", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, ">= 1.9.0 and < 5.0.0", [hex: :hackney, repo: "hexpm", optional: true]}, {:idna, ">= 6.0.0 and < 8.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.2.3", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.5.10 or ~> 0.6 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "08c6a1636b82721d0f64259053a733526526d077011ff6a7776f80e21dc60757"}, + "swoosh": {:hex, :swoosh, "1.26.3", "9d8b60077305ce259298d9a1102e5be67cd3c41d1ea930c29e9288af195ca017", [:mix], [{:bandit, ">= 1.0.0", [hex: :bandit, repo: "hexpm", optional: true]}, {:cowboy, "~> 1.1 or ~> 2.4", [hex: :cowboy, repo: "hexpm", optional: true]}, {:ex_aws, "~> 2.1", [hex: :ex_aws, repo: "hexpm", optional: true]}, {:finch, "~> 0.6", [hex: :finch, repo: "hexpm", optional: true]}, {:gen_smtp, "~> 0.13 or ~> 1.0", [hex: :gen_smtp, repo: "hexpm", optional: true]}, {:hackney, ">= 1.9.0 and < 5.0.0", [hex: :hackney, repo: "hexpm", optional: true]}, {:idna, ">= 6.0.0 and < 8.0.0", [hex: :idna, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:mail, "~> 0.2", [hex: :mail, repo: "hexpm", optional: true]}, {:mime, "~> 1.1 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:mua, "~> 0.2.3", [hex: :mua, repo: "hexpm", optional: true]}, {:multipart, "~> 0.4", [hex: :multipart, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: true]}, {:plug_cowboy, ">= 1.0.0", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:req, "~> 0.5.10 or ~> 0.6 or ~> 1.0", [hex: :req, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.2 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "c7683d070fe8f8aa9d174e61b01f2d527be73cd8ac40037b7109184941eb569f"}, "tailwind": {:hex, :tailwind, "0.5.1", "35435b13158c90d37da11e1cfc808755fca1d7b6c5ab87b1b19c5de87e2f0a10", [:mix], [], "hexpm", "c4e26302a59fec72abc5610ecb6ad2116d9aa31f31aab2d4b8eb6e95d25a689c"}, "telemetry": {:hex, :telemetry, "1.4.2", "a0cb522801dffb1c49fe6e30561badffc7b6d0e180db1300df759faa22062855", [:rebar3], [], "hexpm", "928f6495066506077862c0d1646609eed891a4326bee3126ba54b60af61febb1"}, "telemetry_metrics": {:hex, :telemetry_metrics, "1.1.0", "5bd5f3b5637e0abea0426b947e3ce5dd304f8b3bc6617039e2b5a008adc02f8f", [:mix], [{:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "e7b79e8ddfde70adb6db8a6623d1778ec66401f366e9a8f5dd0955c56bc8ce67"}, diff --git a/mix/shared.exs b/mix/shared.exs index 938636c6..9ac4a838 100644 --- a/mix/shared.exs +++ b/mix/shared.exs @@ -1,5 +1,5 @@ defmodule Mix.Shared do - def version, do: "0.9.5" + def version, do: "0.10.0-rc1" def elixir, do: "~> 1.16"