Skip to content

Re-take the entitlement-key reader from upstream 6.1.0 (HF-307) - #1844

Open
marcin-kordas-hoc wants to merge 1 commit into
developfrom
hf-307-license-key-6-1-0
Open

marcin-kordas-hoc wants to merge 1 commit into
developfrom
hf-307-license-key-6-1-0

Conversation

@marcin-kordas-hoc

@marcin-kordas-hoc marcin-kordas-hoc commented Oct 25, 2026 •

Copy link
Copy Markdown
Collaborator

Context

The PR re-takes the vendored entitlement-key reader from upstream tag 6.1.0.

  • Why: the drift check fails on develop. Every file still matches the pinned tag 5.1.1, and the only problem is that upstream has released 5.2.0, 6.0.0 and 6.1.0 since.
  • What changed (in hyperformula/src/license/handsontable-license-key-parser/):
    • README.md: upstream's file at 6.1.0. It is the only file in upstream's vendor/entitlement-key-reader/ that changed between 5.1.1 and 6.1.0.
    • upstream.json: the pin names tag 6.1.0 and its commit.
    • PROVENANCE.md: the table names the new tag.
  • Result: the copy is upstream's directory at 6.1.0, byte for byte, with the one declared TypeScript 4.0 cast. The reader code is unchanged, so HyperFormula reads every key as before.

Upstream's 6.0.0 major release changes the key generator (prose templates, record fields, default schema), not the reader or the payload format.

How did you test your changes?

  • node hyperformula/script/check-license-key-parser-drift.js: 13 files ok, exit 0. With one byte added to README.md, it reports the difference and exits 1.
  • Full Jest suite with the develop branch of hyperformula-tests, unchanged: 520 of 520 suites pass; 6742 tests pass, 3 skipped. No paired tests branch: no reader code changed.

Compatibility with Excel and Google Sheets

Not applicable.

Public API changes

None.

Out of scope and follow-ups

  • The license test fixtures in hyperformula-tests were minted with license-key 5.1.1. They read the same with this reader, but their header says 5.1.1 is the version HyperFormula vendors.
  • The fixture README says to drop the token stand-ins and remint once the generator accepts fun:* and feat:* tokens. The 6.x generator accepts them. Reminting is a separate change.

Types of changes

  • Breaking change (existing functionality no longer works as before) – agreed with the maintainers
  • New feature or improvement (a non-breaking change that adds functionality)
  • Bug fix (a non-breaking change that fixes an issue)
  • Additional language file, or a change to an existing language file (translations)
  • Change to the documentation

Related issues

  1. HF-307

Checklist

🤖 Generated with Claude Code


Note

Low Risk
Documentation and upstream pin only; reader implementation unchanged, so license validation behavior should be identical.

Overview
Re-syncs the vendored entitlement-key reader with upstream license-key tag 6.1.0 so the drift check passes again (newer tags existed while the pin still pointed at 5.1.1).

Pin and provenance: upstream.json and PROVENANCE.md now record tag 6.1.0, commit 824cfd4bc, and taken_on 2026-10-25. The single allowed local divergence in extractKeyData.ts (TypeScript 4.0 cast) is unchanged.

Docs only: README.md is brought in from upstream 6.1.0—the only file that differed between 5.1.1 and 6.1.0 in that directory. Updates include HyperFormula fun: / feat: capability examples instead of legacy functions_* / spreadsheet, guidance that hasCapability is exact-match and that HyperFormula expands fun:all, feat:all, and group tokens in its own registry, and a revised license-key CLI fixture command listing spec Example 1 tokens.

Runtime: No .ts reader changes; key parsing behavior is intended to stay the same.

Reviewed by Cursor Bugbot for commit 6f0688b. Bugbot is set up for automated code reviews on this repo. Configure here.

…6.1.0

The reader in hyperformula/src/license/handsontable-license-key-parser/ is
now upstream's vendor/entitlement-key-reader at tag 6.1.0. Between 5.1.1 and
6.1.0 only README.md changed in that directory, so the reader code, the one
declared TypeScript 4.0 cast and HyperFormula's behaviour stay the same. The
pin in upstream.json and the table in PROVENANCE.md name the new tag.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@cloudflare-workers-and-pages

Copy link
Copy Markdown

Deploying with  Cloudflare Workers  Cloudflare Workers

The latest updates on your project. Learn more about integrating Git with Workers.

Status Name Latest Commit Preview URL Updated (UTC)
✅ Deployment successful!
View logs
hyperformula-docs 6f0688b Commit Preview URL

Branch Preview URL
Oct 25 2026, 02:00 AM

@github-actions

github-actions Bot commented Oct 25, 2026 •

Copy link
Copy Markdown

Performance comparison of head (6f0688b) vs base (d143456)

                                     testName |    base |    head | change
--------------------------------------------------------------------------
                                      Sheet A |  522.84 |  506.43 | -3.14%
                                      Sheet B |  164.79 |  166.99 | +1.34%
                                      Sheet T |  146.43 |  147.48 | +0.72%
                                Column ranges |  480.26 |  478.34 | -0.40%
                                Sorted lookup | 14252.6 | 14096.3 | -1.10%
Sheet A:  change value, add/remove row/column |   17.09 |   16.83 | -1.52%
 Sheet B: change value, add/remove row/column |  152.53 |  142.87 | -6.33%
                   Column ranges - add column |  160.95 |  156.57 | -2.72%
                Column ranges - without batch |  484.24 |  507.17 | +4.74%
                        Column ranges - batch |   125.6 |  126.12 | +0.41%

@codecov

codecov Bot commented Oct 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 97.28%. Comparing base (d143456) to head (6f0688b).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff            @@
##           develop    #1844   +/-   ##
========================================
  Coverage    97.28%   97.28%           
========================================
  Files          207      207           
  Lines        16218    16218           
  Branches      3556     3588   +32     
========================================
  Hits         15777    15777           
  Misses         433      433           
  Partials         8        8           
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

This branch has not been deployed

No deployments
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.

1 participant