Drop Timex, bump HTTPoison 2.x, fix modern OTP builds#82
Open
kidbombay wants to merge 5 commits intosmeevil:masterfrom
Open
Drop Timex, bump HTTPoison 2.x, fix modern OTP builds#82kidbombay wants to merge 5 commits intosmeevil:masterfrom
kidbombay wants to merge 5 commits intosmeevil:masterfrom
Conversation
Co-authored-by: Cursor <cursoragent@cursor.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Modernizes dependencies and tooling so Cloudex builds on current Erlang/OTP (including OTP 28) and current Elixir, removes Timex from the signing path, upgrades HTTPoison to 2.x, and updates dev/test tooling and ExUnit. Cloudinary signing and HTTP usage stay the same from an API perspective, aside from using the standard library for the signing timestamp.
Motivation
:os.system_time/1is enough and drops tzdata and other transitive weight.ssl_verify_funoverride avoids resolving 1.1.5, which fails to compile on OTP 26+.import Config/config_env()instead of deprecatedMix.Config.async: truewhere appropriate; the env test restoresCLOUDEX_API_KEYso the global environment is not leaked.Changes
~> 2.3. Optional jason unchanged.ssl_verify_fun ~> 1.1.7override for safe resolution.~> 1.11(required by HTTPoison 2).Cloudex.CloudinaryApi:os.system_time(:second). JSON backend:Application.compile_env(:cloudex, :json_library, Jason).Cloudex.Url"auto","progressive").import Config,import_config "#{config_env()}.exs"inconfig/config.exs; same pattern indev/test/prod.def cli/0withpreferred_envs(replaces deprecatedpreferred_cli_envinproject/0).~> 1.7, Dialyxir~> 1.4, Mix.Test.Watch~> 1.4, ExVCR~> 0.17.use ExUnit.Case, async: trueon test modules;EnvOptionsTestuseson_exitto restoreCLOUDEX_API_KEY.cloudex.iml: remove stale library entries for dropped deps.Breaking changes
~> 1.7inmix.exs).sslvsssl_overrideif you pass custom SSL options; Cloudex does not today).Testing
mix compilemix test(including doctests)Optional follow-ups (out of scope here)