Skip to content

chore: PE-7576 UPB-214 drop jiffy - #99

Open
kivra-kenand wants to merge 1 commit into
mainfrom
upb-214-drop-jiffy-in-kiki
Open

chore: PE-7576 UPB-214 drop jiffy#99
kivra-kenand wants to merge 1 commit into
mainfrom
upb-214-drop-jiffy-in-kiki

Conversation

@kivra-kenand

@kivra-kenand kivra-kenand commented Jul 30, 2026

Copy link
Copy Markdown

Why

Risk reduction

jiffy is a NIF, which is the most expensive kind of dependency we can carry:

  • a bug in a NIF doesn't crash a process, it crashes the whole VM - a JSON parser shouldn't hold that power

Since OTP 27, the stdlib json module does the same job, is maintained as part of OTP itself, and gets tested with every OTP release we adopt. The dependency no longer pays for what it costs.

Maintenance cost

We're also trying to reduce maintenance cost, since jiffy:

  • requires a C toolchain in every build environment (bigger Docker build stages, slower builds, occasional breakage on OTP upgrades, ...)
  • is a third-party supply-chain surface with its own release cadence
  • releases impose extra GitHub Actions credits, for us, via Renovate churn

@kivra-kenand
kivra-kenand requested a review from a team as a code owner July 30, 2026 09:05
Comment thread erlang/kivra_api_errors.erl
@kivra-pauoli kivra-pauoli changed the title chore: UPB-214 drop jiffy chore: PE-7576 UPB-214 drop jiffy Jul 30, 2026
@kivra-pauoli

Copy link
Copy Markdown
Contributor

I put PE-7576 in the description to link to Linear. Hope that's Ok.

kivra-pauoli
kivra-pauoli previously approved these changes Jul 30, 2026
@kivra-pauoli
kivra-pauoli dismissed their stale review July 30, 2026 12:01

I want other team members to look at this.

@kivra-joarod kivra-joarod left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't have strong opinions on this.

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.

3 participants