Merge main into stable#3737
Conversation
fix(release): generate SDK tool catalog before building the Python SDK Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: 558fe805108b7998818ce83e019c3e048d622906 Ported-Public-Prefix: superdoc/public
## Summary Merges latest stable patches into main with a real merge commit so stable release tags remain reachable from main. This keeps `@next` prerelease version calculation ahead of the latest published stable release. ## Merge requirement This PR must be merged with GitHub's merge-commit option. Squash or rebase merging will discard stable ancestry and break `@next` version calculation again. ## Conflict handling Merge status: `clean`. Version-only release artifact conflicts are auto-resolved to keep stable's already-published versions. Non-version conflicts fail this workflow instead of committing conflict markers. --- _Auto-created by sync-patches workflow._ Co-authored-by: semantic-release-bot <semantic-release-bot@martynus.net> Source-PR: #3727 Closes #3727 Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: 973f3938470982a8f9539a33a562388c65b219e2 Ported-Public-Prefix: superdoc/public
feat(fonts): @superdoc/fonts package for bundled fonts (SD-3441) Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: 45a456f29763f301ab5c336dd26c6f08124c5288 Ported-Public-Prefix: superdoc/public
…3441)
Bundled font availability is now explicit and predictable, closing the gap the 1.40 toolbar rollback left open. Without a configured pack, SuperDoc shows a safe baseline (one Word font per CSS generic: Arial, Times New Roman, Courier New) and renders logical names with system fonts, so an unconfigured app never fetches a substitute it cannot serve. Configuring the pack (`superdocFonts`, `fonts.assetBaseUrl` / `fonts.resolveAssetUrl`, or the CDN build) lights up the full reviewed set, gated by config presence rather than a runtime probe.
- `createSuperDocFonts({ include / exclude })` curates the pack by Word family name, validated against the offerings so a typo fails fast at setup time.
- Availability and curation are document-scoped in the resolver and offerings (shared per-`FontFaceSet` registration is untouched) and folded into the resolver signature, so a no-pack or curated document never reuses a full-pack document's measures.
- A CI drift check keeps the generated curatable list in sync with the font-system offerings.
- Also renames the optional pack to `@superdoc-dev/fonts` (the org's npm scope) so it can be published, updating the runtime warning, the getting-started examples, the docs, and the docs import allow-list.
`@superdoc-dev/fonts@0.1.0` still needs its first manual publish before the examples can leave `workspace:*`.
Co-authored-by: Caio Pizzol <caio@superdoc.dev>
Source-PR: #3732
Closes #3732
Note: this ports only the public subtree changes from a mixed source commit (70 public paths, 1 non-public path ignored).
Ported-From-Source-Repo: superdoc/orbit
Ported-From-Source-Commit: 6a93845cabaebcd3523379e3fc0714076fbbb80e
Ported-Public-Prefix: superdoc/public
chore(fonts): wire semantic release Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: 3ce74394c77911d2cfde2f6f7c951564f392ad82 Ported-Public-Prefix: superdoc/public
docs(fonts): show the multi-face fonts.families API for custom fonts (SD-3441) Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: 1b5e7af22db8e3a7c4652683c18f698b9ae31e12 Ported-Public-Prefix: superdoc/public
Behavior coverage for the config-gated bundled fonts from SD-3441, so the npm and CDN paths are verified end to end instead of by inspection. It drives the bundled-font modes through the existing behavior harness with a new `fonts` config option, plus a `/fonts/` middleware that serves the built pack so real face loads are assertable. The default mode keeps the rich pack, so existing toolbar specs are unaffected. Covered so far (npm, green locally on chromium): - no-pack: the toolbar is the baseline only, and a no-pack document keeps its font names without fetching any substitute (the 1.40 regression guard). - curation: `include` drops the built-in baseline, `exclude` removes only the named family. - pack: applying Calibri loads its substitute (200) and stores the logical name, never Carlito. - malformed raw `fonts.bundled` warns once and falls back to the full pack, never crashing init. Still to come, and why this is a draft: - a CDN static harness (default, missing fonts, raw curation) - a real `@superdoc-dev/fonts` import smoke test (the package's `resolveAssetUrl` flow, distinct from the `assetBaseUrl` harness) - custom-font render vs selectable split, the 404-base warning, programmatic apply, and two-instance isolation **Review**: the harness change must stay backward-compatible (no `fonts` param = rich pack); confirmed against the existing font dropdown spec. **Verified**: `playwright test tests/fonts --project=chromium` green; existing `font-dropdown-document-options.spec.ts` still green. Co-authored-by: Caio Pizzol <caio@superdoc.dev> Source-PR: #3733 Closes #3733 Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: 2edf9e2abd6b1c37d40b7195e46f6b9c9e1c3b01 Ported-Public-Prefix: superdoc/public
feat(fonts): make @superdoc-dev/fonts the only bundled-font source (SD-3441) Ported-From-Source-Repo: superdoc/orbit Ported-From-Source-Commit: 73c7e48d83019ee7015cca608841244cca466692 Ported-Public-Prefix: superdoc/public
|
📖 Docs preview: https://superdoc-merge-main-into-stable-2026-06-14.mintlify.app |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2d0057a5aa
ℹ️ About Codex in GitHub
Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
|
🎉 This PR is included in superdoc-cli v0.18.0 The release is available on GitHub release |
|
🎉 This PR is included in superdoc-sdk v1.17.0 |
|
🎉 This PR is included in @superdoc-dev/mcp v0.13.0 The release is available on GitHub release |
|
🎉 This PR is included in @superdoc-dev/fonts v0.1.1 The release is available on GitHub release |
|
🎉 This PR is included in superdoc v1.41.0 The release is available on GitHub release |
|
🎉 This PR is included in @superdoc-dev/react v1.12.0 The release is available on GitHub release |
|
🎉 This PR is included in vscode-ext v2.13.0 |
Summary
merge/main-into-stable-2026-06-14stableAuto-created by promote-stable workflow.