Skip to content

chore: drop archived exjsx JSON engine#891

Merged
yordis merged 1 commit into
elixir-tesla:masterfrom
gilbertwong96:chore/deps-warnings-exjsx
Jun 25, 2026
Merged

chore: drop archived exjsx JSON engine#891
yordis merged 1 commit into
elixir-tesla:masterfrom
gilbertwong96:chore/deps-warnings-exjsx

Conversation

@gilbertwong96

@gilbertwong96 gilbertwong96 commented Jun 25, 2026

Copy link
Copy Markdown
Contributor

The exjsx JSON library is archived and no longer maintained, so drop direct support for it as an engine in Tesla:

  • remove the optional exjsx dependency
  • remove the engine: JSX example and update the :engine doc in Tesla.Middleware.JSON
  • replace the remaining decode: &JSX.decode/1, encode: &JSX.encode/1 doc example with &Jason.decode/1 / &Jason.encode/1 (a maintained engine) to keep the :decode / :encode function example
  • remove the Engine: exjsx test block

exjsx remains in the lockfile only as a transitive dependency of the test-only httparrot server. The Elixir 1.20.1 compilation warning fixes (preferred_cli_env, unused require, gun adapter) are split into a separate PR.

@yordis

yordis commented Jun 25, 2026

Copy link
Copy Markdown
Member

Hey @gilbertwong96 thank you so much for the contribution. They are few things happening in this PR, ideally, we can keep the changes around a singular subject.

About hackney I understand your intent here, but I can't force everyone to upgrade, see #882 (comment)

Comment thread lib/tesla/middleware/json.ex Outdated
@gilbertwong96

Copy link
Copy Markdown
Contributor Author

Hey @gilbertwong96 thank you so much for the contribution. They are few things happening in this PR, ideally, we can keep the changes around a singular subject.

About hackney I understand your intent here, but I can't force everyone to upgrade, see #882 (comment)

Sure, I will split them into different PRs later.

The exjsx project is archived, so drop direct support for it as a JSON engine in Tesla: remove the optional dependency, the engine example in the JSON middleware doc, and the engine test block. The remaining decode/encode function example in the doc now references Jason.decode/Jason.encode (maintained) instead of the archived JSX.decode/JSX.encode.

exjsx remains in the lockfile only as a transitive dependency of the test-only httparrot server.
@gilbertwong96 gilbertwong96 force-pushed the chore/deps-warnings-exjsx branch from 5737b87 to 6ab5869 Compare June 25, 2026 12:42
@gilbertwong96 gilbertwong96 changed the title chore: require hackney >= 4.0.2, drop exjsx, and silence compiler warnings chore: drop archived exjsx JSON engine Jun 25, 2026
@gilbertwong96

Copy link
Copy Markdown
Contributor Author

Just force pushed

@gilbertwong96

Copy link
Copy Markdown
Contributor Author

Opened #892 for silence warnings in Elixir 1.20

@yordis yordis merged commit e57f28e into elixir-tesla:master Jun 25, 2026
15 of 19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants