From 924eb3f558fc338a20c2f750d1772eb8a1bb900f Mon Sep 17 00:00:00 2001 From: Evandro Myller Date: Fri, 7 Nov 2025 19:17:02 -0300 Subject: [PATCH] refactor: use release-please markers for version instead of Application.spec Use x-release-please markers directly in the code to maintain a pseudo-hardcoded version number, rather than reading from Application.spec at runtime. This approach: - Makes the implementation consistent across Flagsmith SDKs - Relies solely on release-please for version management - Keeps version visible in source code for easier debugging - Simplifies the user_agent/0 function implementation The version is now defined directly in lib/flagsmith_client.ex between x-release-please markers, and release-please will automatically update it during releases. Also removed the redundant user_agent/0 unit test since the function now simply returns a hardcoded string with no conditional logic. The HTTP integration test sufficiently validates the User-Agent header behavior. Co-authored-by: Claude --- lib/flagsmith_client.ex | 8 ++++---- release-please-config.json | 1 + test/flagsmith_client_test.exs | 9 --------- 3 files changed, 5 insertions(+), 13 deletions(-) diff --git a/lib/flagsmith_client.ex b/lib/flagsmith_client.ex index 171700a..7155d60 100644 --- a/lib/flagsmith_client.ex +++ b/lib/flagsmith_client.ex @@ -11,10 +11,10 @@ defmodule Flagsmith.Client do @doc false @spec user_agent() :: String.t() def user_agent do - case Application.spec(:flagsmith_engine, :vsn) do - nil -> "flagsmith-elixir-sdk/unknown" - vsn -> "flagsmith-elixir-sdk/#{vsn}" - end + # x-release-please-start-version + version = "2.3.0" + # x-release-please-end + "flagsmith-elixir-sdk/#{version}" end @doc """ diff --git a/release-please-config.json b/release-please-config.json index 387721b..c2089a9 100644 --- a/release-please-config.json +++ b/release-please-config.json @@ -10,6 +10,7 @@ "prerelease": false, "include-component-in-tag": false, "extra-files": [ + "lib/flagsmith_client.ex", "test/flagsmith_client_test.exs" ] } diff --git a/test/flagsmith_client_test.exs b/test/flagsmith_client_test.exs index dac683e..eec95fa 100644 --- a/test/flagsmith_client_test.exs +++ b/test/flagsmith_client_test.exs @@ -439,15 +439,6 @@ defmodule Flagsmith.Client.Test do end describe "User-Agent header" do - test "user_agent/0 returns expected version" do - # x-release-please-start-version - expected_version = "2.3.0" - # x-release-please-end - - user_agent = Flagsmith.Client.user_agent() - assert user_agent == "flagsmith-elixir-sdk/#{expected_version}" - end - test "HTTP client includes User-Agent header", %{config: config} do # x-release-please-start-version expected_version = "2.3.0"