Skip to content

🌱 tokens: refresh model price table 2026-11-09 - #17354

Merged
clubanderson merged 3 commits into
v5from
bot/price-table-refresh
Nov 9, 2026
Merged

clubanderson merged 3 commits into
v5from
bot/price-table-refresh

Conversation

@clubanderson

Copy link
Copy Markdown
Member

Price table refresh

Source: https://openrouter.ai/api/v1/models (OpenRouter public model catalogue; per-token USD list prices).

priceTableDate: 2026-11-02 β†’ 2026-11-09.

Changes (4)

All figures are USD per million tokens.

model source id input output cache read cache write
deepseek-chat deepseek/deepseek-chat 0.2574 β†’ 0.32 1.0287 β†’ 0.89 – 0.2574 β†’ 0.32
kimi-k2-7-code moonshotai/kimi-k2.7-code 0.95 β†’ 0.60 4.00 β†’ 3.50 0.19 β†’ 0.16 0.95 β†’ 0.60
kimi-k3 moonshotai/kimi-k3 3.00 β†’ 0.192 15.00 β†’ 16.00 0.30 β†’ 0.182 3.00 β†’ 0.192
llama-3-3-70b-instruct meta-llama/llama-3.3-70b-instruct 0.10 β†’ 0.59 0.32 β†’ 0.79 0.10 β†’ 0.295 0.10 β†’ 0.59

Verified unchanged (44)

claude-fable-5, claude-fable-5-1, claude-haiku-4-5, claude-opus-4-1, claude-opus-4-5, claude-opus-4-6, claude-opus-4-7, claude-opus-4-8, claude-opus-5, claude-opus-5-5, claude-sonnet-4-5, claude-sonnet-4-6, claude-sonnet-5, claude-sonnet-5-5, gemini-2-5-flash, gemini-2-5-pro, gemini-3-1-pro-preview, gemini-3-5-flash, gemini-3-6-flash, gemini-3-6-flash-high, gemini-3-6-flash-low, gemini-3-6-flash-medium, gemini-3-7-flash, gemini-3-7-flash-high, gemini-3-7-flash-low, gemini-3-7-flash-medium, gemini-3-flash-preview, gpt-4-1, gpt-4o, gpt-5-2, gpt-5-3-codex, gpt-5-4, gpt-5-4-mini, gpt-5-5, gpt-5-6-luna, gpt-5-6-sol, gpt-5-6-terra, gpt-5-mini, gpt-6-astra, gpt-6-luna, gpt-6-sol, gpt-oss-120b-medium, grok-4-5, o3

Not verifiable via the source (18)

These rows keep their current value and still need a manual check against the vendor's price page.

  • claude-opus-4-6-thinking β€” not listed by the source; current value kept
  • deepseek-r1 β€” not listed by the source; current value kept
  • deepseek-reasoner β€” not listed by the source; current value kept
  • deepseek-v3 β€” not listed by the source; current value kept
  • gemini-2-0-flash β€” not listed by the source; current value kept
  • gemini-3-1-pro-high β€” not listed by the source; current value kept
  • gemini-3-1-pro-low β€” not listed by the source; current value kept
  • gemini-3-pro-preview β€” not listed by the source; current value kept
  • gemini-flash-3-5 β€” not listed by the source; current value kept
  • gpt-5-3 β€” not listed by the source; current value kept
  • gpt-5-3-codex-spark β€” not listed by the source; current value kept
  • gpt-5-6 β€” not listed by the source; current value kept
  • gpt-daybreak-blue-latest β€” not listed by the source; current value kept
  • gpt-daybreak-red-latest β€” not listed by the source; current value kept
  • llama-3-3-70b β€” not listed by the source; current value kept
  • mai-code-1-flash-picker β€” not listed by the source; current value kept
  • meta-llama-3-3-70b-instruct β€” not listed by the source; current value kept
  • o4-mini β€” not listed by the source; current value kept
Notes (21)
  • deepseek-chat: source publishes no cache-read rate; hand-set 0.07 kept
  • gemini-2-5-flash: source cache-write rate 0.083333 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-2-5-pro: source cache-write rate 0.375 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-1-pro-preview: source cache-write rate 0.375 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-5-flash: source cache-write rate 0.083333 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-6-flash-high: not listed by the source; priced via its base model gemini-3-6-flash (google/gemini-3.6-flash)
  • gemini-3-6-flash-high: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-6-flash-low: not listed by the source; priced via its base model gemini-3-6-flash (google/gemini-3.6-flash)
  • gemini-3-6-flash-low: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-6-flash-medium: not listed by the source; priced via its base model gemini-3-6-flash (google/gemini-3.6-flash)
  • gemini-3-6-flash-medium: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-6-flash: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-7-flash-high: not listed by the source; priced via its base model gemini-3-7-flash (google/gemini-3.7-flash)
  • gemini-3-7-flash-high: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-7-flash-low: not listed by the source; priced via its base model gemini-3-7-flash (google/gemini-3.7-flash)
  • gemini-3-7-flash-low: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-7-flash-medium: not listed by the source; priced via its base model gemini-3-7-flash (google/gemini-3.7-flash)
  • gemini-3-7-flash-medium: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-7-flash: source cache-write rate 0.041667 is below input (storage-rate semantics); cache write kept equal to input
  • gemini-3-flash-preview: source cache-write rate 0.083333 is below input (storage-rate semantics); cache write kept equal to input
  • gpt-oss-120b-medium: not listed by the source; priced via its base model gpt-oss-120b (openai/gpt-oss-120b)

List prices are a ceiling on what hive's estimate can show, not a bill: subscription seats, self-hosted inference and negotiated rates all bill differently. Review the figures above against the vendor's own page before merging.

Review

  • Each changed rate matches the vendor's own price page (OpenRouter mirrors list price but can lag or round)
  • Rows under Not verifiable still look right; add a sibling alias or update by hand if not

Generated by price-table-refresh with go run ./internal/tools/pricetable; the branch is force-pushed by later runs until merged. Not auto-merged: a human reviews prices.

Automated refresh of src/pkg/tokens/pricing.go from OpenRouter's public
model catalogue by src/internal/tools/pricetable; see the PR body for
every rate that moved and every row that could not be verified.

Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
Signed-off-by: clubanderson <407614+clubanderson@users.noreply.github.com>
@kubestellar-prow kubestellar-prow Bot added dco-signoff: yes Indicates the PR's author has signed the DCO. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Nov 9, 2026
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Open PR overlap check

Base branch: v5

Conflicts are checked with every PR merged onto the current tip of v5, so a PR that only needs a rebase is not reported as conflicting with its siblings.

No conflicting open PRs or same-file overlaps were found.

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Re-fetched https://openrouter.ai/api/v1/models and checked all four changed rows: every figure in the diff matches the catalogue (moonshotai/kimi-k3 prompt 0.192 / completion 16.00 / cache-read 0.182; moonshotai/kimi-k2.7-code 0.60 / 3.50 / 0.16; deepseek/deepseek-chat 0.32 / 0.89; meta-llama/llama-3.3-70b-instruct 0.59 / 0.79 / 0.295). The refresh did what src/pkg/tokens/pricing.go:28-34 says the tool does. Looks correct to me as a faithful transcription.

Two things for whoever lands this:

  1. Open question, pricing.go:193 β€” kimi-k3 input price. OpenRouter really does list $0.192/M in against $16.00/M out (an 83Γ— in/out ratio; the previous row was $3.00/$15.00, and the sibling kimi-k2-7-code on the next line is $0.60 in). I could not confirm the figure against the vendor page named in the header (platform.kimi.ai/docs/pricing/chat is JS-rendered). It is possible this is an upstream catalogue quirk rather than a real list price. Not a defect in this PR β€” the tool copied its source β€” but a maintainer may want to eyeball it before the Cost panel starts under-estimating kimi-k3 input by ~15Γ—.

  2. Stale comment, pricing.go:151 (low). The line above the deepseek-chat row still reads $0.27 in / $1.10 out; cache hit $0.07, while the row now says 0.32 / 0.89. The tool only rewrites literals, so the hand-written comment is now wrong. Trivial to fix in a follow-up if you'd rather not touch an automated PR.

On the red native-queue-policy check: the job log says it was replaying the last verdict for a cosmetic size/S label flip and refused with head/base moved, draft, closed, or held β€” a policy-engine state, not anything in this diff. Also noting the PR already carries needs-human, so the human look in (1) is on its way regardless.

β€” hive: agent=reviewer backend=copilot model=claude-fable-5.1 copilot=1.0.88

@hivecommons-hive

Copy link
Copy Markdown
Contributor

Needs a decision, not a merge: the automerge lane will not merge this unattended.

Head: verdict approved @49f0b18, 12/38 checks green, 26 pending, DCO yes, soak 0s of 10m0s.

How to release it:

  • Answer the needs-human ask β€” the hive note that added the label says what it needs (a supersession decision, a workflow approval, …) β€” then have a maintainer remove that label; the hive takes its own needs-human off when the cause clears, and /hive approve does not remove it.

Clear the cause and the hive re-evaluates on its next pass; the stage moves to stage/090-ready-for-human-merge, stage/095-pre-merge-soak or the merge queue on its own. Approval does not bypass CI, hold labels or other merge gates.

@hivecommons-hive

hivecommons-hive Bot commented Nov 9, 2026 •

Copy link
Copy Markdown
Contributor

Hive status β€” updated in place; edits do not notify. Full history is in the Activity Monitor.

  • quality (2026-11-09 11:00 UTC): Evidence for the open question on the kimi-k3 row (review above, item 1): it is a catalogue defect, not a list price.

    Re-fetched https://openrouter.ai/api/v1/models at 2026-11-09T10:5xZ and compared the three kimi-k3 ids OpenRouter publishes:

    id prompt /M completion /M cache read /M
    moonshotai/kimi-k3 (this PR's source) 0.192 16.00 0.182
    moonshotai/kimi-k3:batch 0.917 6.00 0.226
    moonshotai/kimi-k3.1-pro 2.00 10.00 0.20

    A batch tier priced ~5Γ— the standard tier's input, and a standard-tier cache read at 95 % of input, are not consistent with any real price sheet; the base row is corrupt on OpenRouter's side. The diff transcribed it faithfully β€” no fault in the tool run β€” but merging as-is makes the Cost panel under-estimate kimi-k3 input ~15Γ— until a later weekly refresh happens to overwrite it.

    Suggested human call: land the other three rows and keep kimi-k3 at 3.00 / 15.00 / 0.30 (either edit this branch β€” it is a bot branch, bot/price-table-refresh β€” or let the next weekly run re-propose once OpenRouter fixes the row). Not pushing to it from this lane.

    The systemic side β€” the reconciler has no plausibility guard, so this class recurs every week and shows up in the report as an ordinary change β€” is filed as [quality] pricetable reconciler has no plausibility guard β€” corrupt catalogue rows (kimi-k3 0.192/16.00) land as ordinary changesΒ #17364 with the tests that would hold such a row back.

    β€” hive: agent=quality

Review findings from reviewer (folded here because this head already carries its hive review):

Conclusion: the diff is correct as a transcription of OpenRouter, but it applies a kimi-k3 quote that this repository's own tool now refuses to apply. The branch was generated before #17365 landed, and the later Merge branch 'v5' commit only rebased it β€” it did not re-run the reconciler.

Evidence (read on v5 at merge-base):

  • src/internal/tools/pricetable/reconcile.go:30-44 β€” πŸ› fix: pricetable reconciler holds implausible quotes for reviewΒ #17365 added thresholds: any field moving more than 5Γ—, output/input ratio above 30, cache-read at or above 90% of input. A quote tripping any of them goes to a Held for review section instead of the table.
  • src/internal/tools/pricetable/main_test.go:288-312 and :565-575 β€” the fixture for that guard is literally this row: kimi-k3 … 3.00 β†’ proposed 0.192 | 15.00 β†’ proposed 16.00, with the test asserting "kimi-k3 quote is implausible and must not be emitted as a change". It trips all three rules.
  • This PR's src/pkg/tokens/pricing.go:193 writes exactly that quote: "kimi-k3": {InputPerMTok: 0.192, OutputPerMTok: 16.00, CacheReadPerMTok: 0.182, …}.

So merging as-is lands the one row the repo decided (a few hours earlier) needs a human to confirm against Kimi's own price page first. An 83Γ— output/input spread with cache-read at 95% of input is more consistent with a catalogue defect than a list-price move.

Also worth knowing before deciding:

  • llama-3-3-70b-instruct (pricing.go:160) moves input 0.10 β†’ 0.59, a 5.9Γ— move, so the new guard would hold it too on the next run. This one looks legitimate, though: it brings the row in line with its siblings llama-3-3-70b and meta-llama-3-3-70b-instruct on the adjacent lines, which were already 0.59 / 0.79. If you wait for the regenerated branch, expect to hand-apply this row.
  • deepseek-chat and kimi-k2-7-code are within the guard's thresholds and look fine.
  • Low, docs-currency: the comment at pricing.go:151 still reads deepseek-chat / V3: $0.27 in / $1.10 out while the row beneath it now says 0.32 / 0.89. The generator does not rewrite comments, so this will drift each refresh unless the comment is dropped or made generic.

The body's own checklist ("each changed rate matches the vendor's own price page") is the right gate here; I have not approved or changed anything.

Review findings from reviewer-2 (folded here because this head already carries its hive review):

Transcription is correct; one row's source value looks suspect and needs the human price check this PR already asks for.

I re-fetched https://openrouter.ai/api/v1/models and compared it to the four changed literals in src/pkg/tokens/pricing.go (lines 152, 160, 193, 194). All four match the catalogue exactly (per-token Γ— 1e6), and priceTableDate at line 43 is bumped. The relative assertions in pricing_test.go (e.g. the llama alias check at lines 122–129) read from modelPrices rather than pinning numbers, so nothing breaks β€” CI agrees.

Open question β€” kimi-k3 (pricing.go:193). The new row is input $0.192 / output $16.00 / cache-read $0.182. Two things make that figure unlike every other row in the table:

  • output is 83Γ— input (the next-widest ratio in the file is ~5Γ—);
  • cache-read is 95 % of input, where every other provider row sits at 10–50 %.

The previous row ($3 / $15 / $0.30) is consistent with the comment at pricing.go:82 ("Kimi K3 uses the published default 5-minute cache-write rate ($3/MTok)"), which this PR leaves in place and which now contradicts the literal. I tried to confirm against platform.kimi.ai/docs/pricing/chat but the page is client-rendered and I could not read the table, so I cannot verify whether OpenRouter is right and the comment is stale, or OpenRouter is carrying a mis-entered figure. The PR body's own checklist ("each changed rate matches the vendor's own price page") is the right gate here β€” I'd just point it at this row first. The other three changes (deepseek-chat, kimi-k2-7-code, llama-3-3-70b-instruct) are within normal ranges of their previous values and I have no concern about them.

Minor, not blocking: the deepseek-chat lead comment at pricing.go:151 ("$0.27 in / $1.10 out") also now disagrees with the literal below it. The header at pricing.go:86–87 says inline comments are deliberately not rewritten by the refresh, so this is by design β€” noting it only so nobody reads the comment as the value.

I have not approved or changed anything; the decision above is for a maintainer.

@hivecommons-hive hivecommons-hive Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Correctness re-review at 5d7f693 (delta since 49f0b18 is only Merge branch 'v5'; the PR's own diff vs merge-base is still src/pkg/tokens/pricing.go + the changelog fragment).

The merge pulled in #17365, which taught internal/tools/pricetable to hold implausible quotes instead of applying them (src/internal/tools/pricetable/reconcile.go:33-44, :243-285). This branch's table was generated by the pre-#17365 reconciler and was only merged, not regenerated β€” so it now applies rows that the repo's own gate rejects. I ran the head reconciler in -dry-run against the merge-base pricing.go with a catalogue carrying exactly the four quotes in the PR body; it reports:

row reconciler verdict at head
kimi-k3 (pricing.go:193) held β€” InputPerMTok moves more than 5Γ— (3.00 β†’ 0.192); CacheWritePerMTok moves more than 5Γ— (3.00 β†’ 0.192); output/input ratio above 30 (16.00 / 0.192); cache read at or above 90% of input (0.182 vs 0.192)
llama-3-3-70b-instruct (pricing.go:160) held β€” InputPerMTok moves more than 5Γ— (0.10 β†’ 0.59); CacheWritePerMTok moves more than 5Γ— (0.10 β†’ 0.59)
deepseek-chat, kimi-k2-7-code applied

kimi-k3 (in-scope). An $0.192/M input against $16.00/M output is an 83Γ— ratio with no sibling in the table anywhere near it; this is the upstream catalogue anomaly noted at the previous head, and the repo has since decided (#17365) that such a quote is a question for a human, not a change. Merging as-is writes it into the Cost panel estimate. Suggested fix β€” keep the current value, as the reconciler would:

	"kimi-k3":                  {InputPerMTok: 3.00, OutputPerMTok: 15.00, CacheReadPerMTok: 0.30, CacheWritePerMTok: 3.00},

Alternatively, let the next scheduled price-table-refresh run force-push this branch (the body says it will); with #17365 in v5 it will regenerate with kimi-k3 under Held for review and no pricing.go hunk for it.

llama-3-3-70b-instruct (advisory). Also held by the new gate, but here the proposed 0.59 / 0.79 / 0.295 / 0.59 matches the two sibling rows llama-3-3-70b (pricing.go:159) and meta-llama-3-3-70b-instruct (pricing.go:161), so the old 0.10 / 0.32 looks like the outlier and the move is plausibly correct. Fine to keep; just noting it will show up as "held" on the regenerated branch and need a hand edit.

Prior findings: kimi-k3 anomaly β€” still present (and now contradicted by the in-tree gate, hence this request); stale deepseek-chat comment at pricing.go:151 ($0.27 in / $1.10 out vs 0.32 / 0.89 on line 152) β€” still present, docs-currency, not a blocker from this perspective.

β€” hive: agent=adjudicator backend=copilot model=claude-fable-5.1 copilot=1.0.88

…at comment

The OpenRouter moonshotai/kimi-k3 quote (0.192 in / 16.00 out / 0.182
cache read) is a catalogue anomaly (83x output/input ratio, batch tier
priced above standard); the reconciler's plausibility guard from #17365
now holds such rows for review instead of applying them. Keep the row at
3.00 / 15.00 / 0.30 / 3.00 as the guard would, land the other three
rows, and update the hand-written deepseek-chat comment to match the new
literal.

Signed-off-by: Andrew Anderson <andy@clubanderson.com>
@clubanderson

Copy link
Copy Markdown
Member Author

Pushed c1d4601 addressing both findings from the adjudicator re-review at 5d7f693:

  • kimi-k3 (pricing.go:193): kept at 3.00 / 15.00 / 0.30 / 3.00, as the πŸ› fix: pricetable reconciler holds implausible quotes for reviewΒ #17365 plausibility guard would hold it. The OpenRouter moonshotai/kimi-k3 quote (0.192 in / 16.00 out, cache read at 95 % of input, :batch tier priced 5Γ— standard) is a catalogue defect, not a list price (quality note above).
  • deepseek-chat comment (pricing.go:151): rewritten to match the new 0.32 / 0.89 literal.
  • changelog fragment: "4 rows moved" β†’ "3 rows moved", with a note on the held row.
  • llama-3-3-70b-instruct kept at 0.59 / 0.79 / 0.295 / 0.59: it matches its two sibling rows, so the old 0.10 / 0.32 was the outlier (advisory finding, no change requested).

Origin note: this PR shows @clubanderson as author because price-table-refresh.yml opens it with TOPUP_PUSH_TOKEN (a user PAT); the commit itself is github-actions[bot]. Removing needs-human β€” the decision it asked for (kimi-k3 row) is taken above.

/lgtm
/approve

@kubestellar-prow

Copy link
Copy Markdown
Contributor

@clubanderson: you cannot LGTM your own PR.

Details

In response to this:

Pushed c1d4601 addressing both findings from the adjudicator re-review at 5d7f693:

  • kimi-k3 (pricing.go:193): kept at 3.00 / 15.00 / 0.30 / 3.00, as the πŸ› fix: pricetable reconciler holds implausible quotes for reviewΒ #17365 plausibility guard would hold it. The OpenRouter moonshotai/kimi-k3 quote (0.192 in / 16.00 out, cache read at 95 % of input, :batch tier priced 5Γ— standard) is a catalogue defect, not a list price (quality note above).
  • deepseek-chat comment (pricing.go:151): rewritten to match the new 0.32 / 0.89 literal.
  • changelog fragment: "4 rows moved" β†’ "3 rows moved", with a note on the held row.
  • llama-3-3-70b-instruct kept at 0.59 / 0.79 / 0.295 / 0.59: it matches its two sibling rows, so the old 0.10 / 0.32 was the outlier (advisory finding, no change requested).

Origin note: this PR shows @clubanderson as author because price-table-refresh.yml opens it with TOPUP_PUSH_TOKEN (a user PAT); the commit itself is github-actions[bot]. Removing needs-human β€” the decision it asked for (kimi-k3 row) is taken above.

/lgtm
/approve

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository.

@kubestellar-prow

Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: clubanderson

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@kubestellar-prow kubestellar-prow Bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Nov 9, 2026
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Mutation testing (advisory)

gremlins found 8 surviving mutant(s) in changed files: the code ran under tests, but changing it did not fail any test.

File Line Mutation
src/pkg/tokens/pricing.go 237 CONDITIONALS_BOUNDARY
src/pkg/tokens/pricing.go 237 CONDITIONALS_NEGATION
src/pkg/tokens/pricing.go 238 ARITHMETIC_BASE
src/pkg/tokens/pricing.go 241 CONDITIONALS_BOUNDARY
src/pkg/tokens/pricing.go 261 CONDITIONALS_BOUNDARY
src/pkg/tokens/pricing.go 410 ARITHMETIC_BASE
src/pkg/tokens/pricing.go 410 CONDITIONALS_BOUNDARY
src/pkg/tokens/pricing.go 410 CONDITIONALS_NEGATION

Advisory only; this job never blocks the PR (#17349).

@clubanderson
clubanderson merged commit aeed957 into v5 Nov 9, 2026
81 of 86 checks passed
@kubestellar-prow
kubestellar-prow Bot deleted the bot/price-table-refresh branch November 9, 2026 21:44
@github-actions

github-actions Bot commented Nov 9, 2026

Copy link
Copy Markdown
Contributor

Thank you for your contribution! Your PR has been merged.

We'd love to hear how your experience was: share feedback

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. dco-signoff: yes Indicates the PR's author has signed the DCO. size/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant