- Updated dependencies [2b64a11]
- Updated dependencies [8ffa2a4]
- Updated dependencies [f450eaf]
- Updated dependencies [8d42c06]
- Updated dependencies [137db83]
- @open-press/core@3.0.3
- Updated dependencies [a58fbb1]
- @open-press/core@3.0.2
- Updated dependencies [552abcd]
- @open-press/core@3.0.1
- Updated dependencies [079d75c]
- Updated dependencies [079d75c]
- @open-press/core@3.0.0
- Updated dependencies [36726b0]
- @open-press/core@2.0.5
- 4fcd954: Clean the workspace object authoring API around frame keys, labels, theme tokens, and slide template scaffolds.
- Updated dependencies [4fcd954]
- @open-press/core@2.0.4
- Updated dependencies [3674b30]
- @open-press/core@2.0.3
- 9edc747: Finalize the release-bound Press CSS and skill boundary: scope exported CSS per Press, keep generic page shell/prose/print behavior framework-owned, retire bundled starter skills from the active catalog, and document custom Press geometry for project-specific formats.
- Updated dependencies [9edc747]
- @open-press/core@2.0.2
- @open-press/core@2.0.1
- Release the CLI alongside the Tailwind-first OpenPress 2.0 runtime. Workspace commands continue to delegate into
@open-press/core, while generated slide workspaces now align with protocol layouts and the sharedop-*slide style layer. - Treat
@open-press/create,@open-press/cli, and@open-press/coreas one release train for major framework updates.
- Updated dependencies
- @open-press/core@2.0.0
- Updated dependencies [10130dd]
- @open-press/core@1.2.1
- Updated dependencies [b4248f6]
- Updated dependencies [7ba9434]
- Updated dependencies [c11b33b]
- Updated dependencies [0f01b4b]
- Updated dependencies [d97f282]
- Updated dependencies [9c6fd9b]
- Updated dependencies [99d7c34]
- @open-press/core@1.2.0
- Updated dependencies [408f6f4]
- @open-press/core@1.1.4
- Updated dependencies [39bbf0d]
- Updated dependencies [68435a1]
- Updated dependencies [2eac5df]
- @open-press/core@1.1.3
- 11dbcb1: Fix workbench routing and slide thumbnail overflow. The dev URL now opens
/workspace, document previews use/<press-slug>/preview, and thumbnail navigation scrolls within the left panel without overlapping the page counter. - Updated dependencies [11dbcb1]
- @open-press/core@1.1.2
- Generate a package-owned TypeScript project config for workspaces that do not vendor
tsconfig.json. - Updated dependencies
- @open-press/core@1.1.1
-
Move OpenPress workspaces to a package-owned runtime model.
The CLI now scaffolds a workspace that depends on
@open-press/coreand@open-press/cliinstead of copying framework internals such asengine/,src/openpress/,index.html, andvite.config.tsinto the user project. Runtime commands exposed byopen-pressdelegate into@open-press/core, whose packaged Vite entry, browser shell, render engine, and static server are used directly fromnode_modules.
- Updated dependencies
- @open-press/core@1.1.0
-
8c528ad: 1.0 contract release. Breaking changes:
<Workspace>is now required at the root ofpress/index.tsx;<Press>lives as a child, and multi-Press workspaces are first-class (each<Press>exports to/openpress/<slug>/document.json).- Document metadata (
title/subtitle/organization/page/sources/captionNumbering) moves onto<Press>JSX props.export const configandexport const sourcesare removed. openpress.config.mjsis removed. Operational settings (deploy / pdf) live in the workspacepackage.jsonunder the"openpress"field; paths are convention (press/,press/<slug>/chapters/,press/theme/,public/openpress/,dist-react/).- Workspace folder renamed from
document/→press/. The dogfood and starter skills are migrated. - Reader gains a workspace gallery for multi-Press projects, per-page PNG export, page thumbnails for canvas-style Press, and a back-to-workspace button.
- New built-in page presets
a4,social-square,slide-16-9and improved scaffold metadata propagation.
-
03017cd: Remove the bundled
social-postandslide-deckstarter-bearing skills from the framework repo. Social-card projects should install the external skill instead:npx -y skills@latest add quan0715/openpress-social-card-skill
The external social-card skill targets 1080x1350 (4:5 portrait), not the removed 1080x1080 square starter. There is no direct
slide-deckreplacement; initialize an OpenPress workspace without a removed pack name and edit the Press tree manually or use a dedicated external skill. Existing workspaces are unaffected.
- Tracks
@open-press/core@0.8.0. The scaffolder ships the new module barrels (@open-press/core/{app,document-model,reader,shared,workbench}) and the refreshed workbench panel architecture. - The
academic-paperstarter is documented and surfaced alongside the existingeditorial-monographandclaude-documentstarters. - CLI prerequisites are documented up front in
docs/cli.md(Node 20+).
- Carries forward the 0.7.1 measurement + pagination fixes shipped via
@open-press/core.
- Measurement pipeline + pagination fixes:
- Measurement: wait on
document.fonts.ready, imageload/error+decode(), and tworequestAnimationFrameticks before sampling block heights so figures no longer under-measure on cold loads. - Measurement: inline relative
media/,./media/, and/openpress/media/image sources during the SSR measurement pass (previously only the absolute/openpress/media/...form was rewritten, leaving relative refs as broken). - MDX compile: split bullet/numbered lists into per-item paginable blocks so long lists can break across pages without losing ordered numbering.
- Debug: new
OPENPRESS_DEBUG_ALLOCenv var prints per-iteration allocator state (mdxArea capacities, block heights, pagination hints, warnings). - Academic-paper starter:
<MdxArea overflow="extend">on the body and the single-column.reader-page--content .page-bodyoverride removed so content paginates naturally with the new allocator.
- Measurement: wait on
-
718d2d1: Press Tree render architecture — full refresh of the React export pipeline (clean break, no v0.5 compatibility).
The render kernel no longer knows about
cover,toc,chapter, orback-coveras built-in concepts. Workspaces describe their document as a React tree using three primitives:Press— root composition boundary.Frame— a single fixed-layout surface (replacesBasePageand friends).MdxArea— a measurable slot consuming a content chain, withoverflow="extend|truncate|error"control.
Sources are now declarative descriptors:
export const sources = { story: mdxSource({ preset: "section-folders", root: "chapters" }), }; export default function MyPress() { return ( <Press> <Cover /> <Toc source="story" /> <Sections source="story" page={Page} /> <BackCover /> </Press> ); }
Three
mdxSource()presets:section-folders(existing convention),section-files(flat file-per-section),file-list(explicit ordering).Manuscript helpers (
Toc,Sections,Chaptersalias) ship in@open-press/core/manuscript.mdxSource()lives in@open-press/core/mdx. Subpath exports keep the public surface tight without committing to separate npm packages.Tocis implemented as a manuscript helper, not a core kernel special case. Registered sources generate a synthetictoc:<sourceId>chain;TocAreaconsumes it with the same allocation path asMdxArea.Reader-side pagination is removed. The export pipeline writes final frame HTML into
document.json; the reader displays that HTML and no longer mutates headings/captions, injects footers, or reflows pages at runtime. Page shell belongs to workspace components.MDX source resolution now derives manuscript TOC entries from actual
##/###headings, not folder slugs. Heading numbering is written during export asdata-chapter="01"/data-section="1.1"attributes so themes can render numbering with CSS without reader-side mutation.Removed (no compatibility layer):
BasePage,BaseCoverPage,BaseTocPage,BaseContentPage,BaseBackCoverPage.- Legacy named exports (
cover,toc,backCover) fromdocument/index.tsx. - The
migrate-to-reactCLI command. - Implicit chapter discovery as the only source mechanism.
- Legacy
chapter.tsxmeta/opener auto-discovery. Section openers are explicit workspace components in the Press tree.
The top-level purity gate remains:
configmust be data,sourcesmust be puremdxSource()descriptors, and filesystem/network/process side effects are rejected before module execution. Default-exported function bodies can contain normal React component logic, including hooks and.map().All
<Frame>instances require a stableframeKey; source roots and file-list entries must stay insidedocument/.Workspace data attributes:
data-frame-role(new, opaque role like"manuscript.content").data-page-kind(derived from role's last segment — reader CSS keeps using this).data-section-idreplacesdata-chapter-slugfor section-scoped CSS.
Migration: Workspaces written for v0.5.x must rewrite
document/index.tsxto default-export a Press component. Pre-1.0 minor bump is acceptable per repo policy; no production deployments exist to break.
-
f8fdecd: Third bundled pack:
academic-paper.A single-column A4 academic / research paper starter — serif title block, abstract band, index terms, numbered sections (I, II, III), italic sub-sections (A, B, C),
[N]numeric references, sample chapters derived from the IEEE conference template structure (Introduction, Methods, Results & Discussion, Acknowledgment, References).Suitable for: draft / preprint / iteration. Not suitable for camera-ready IEEE / ACM submission — those still need LaTeX with the publisher's class file.
Two-column body and other paged-document features (footnotes, cross-references with page numbers, running headers) are intentionally out of scope for this release. They'll be designed as a self-maintained engine evolution + multi-mode architecture in a separate spec round, rather than depending on a third-party pagination polyfill.
-
c490653: The scaffolder accepts third-party style packs via
--pack github:owner/repo.The cli fetches
starter/document/from the named repo (default branch, or#reffor a specific branch/tag) and copies it into the new workspace. If the pack repo also publishes SKILL files atskills/<name>/, they're installed vianpx skills add <owner>/<repo>after the framework skills, so the agent picks them up automatically.Repo layout convention for third-party packs is documented in
docs/style-pack-authoring.md. Empty-result extraction (the named repo exists but has nostarter/document/at root) fails with a clear error pointing at the expected layout.The two bundled packs (
editorial-monograph,claude-document) keep their current short-name behaviour; only the cli's validator widened to accept thegithub:prefix.
-
0169cba: Agent-driven upgrade flow.
New commands:
-
npx open-press doctor— diagnose workspace against latest framework state. Reports@open-press/coreversion vs npm latest, installed skill count, and any pendingdocs/migrations/<version>.mdnotes between current and latest.--jsonfor machine-readable output,--no-cacheto bypass the 24h cache. Always exits 0 (informational only). -
npx open-press upgrade— orchestrate the upgrade. Runsnpm update @open-press/core(when the workspace declares the dep) andnpx skills upgrade, then surfaces the list of migration notes for the agent to read. Does not auto-editdocument/content — the agent reads the surfaceddocs/migrations/<version>.mdnotes and proposes edits to the user with confirmation. Use--dry-runto preview,--no-deps/--no-skillsto target one layer.
Dev startup notice:
open-press devnow runsdoctorbefore starting Vite. When the workspace is behind, a single line prints:○ open-press: @open-press/core 0.4.0 → 0.5.0 · 1 migration note(s) — run npx open-press doctor for details.Cached for 24h, network failure is silent, never blocks dev.Migration docs:
- New
docs/migrations/_template.md— each release with breaking changes ships adocs/migrations/<version>.mdfile with sections the agent reads. - New
docs/migrations/0.4.0.md— backfilled. Documents the SKILL fold (no document or CLI changes).
SKILL update:
openpressskill's "Updating An Existing Workspace" section rewritten around the new commands: detect (doctor), apply (upgrade), interpret migration notes, propose document edits with user confirmation. Concrete agent workflow + breaking-change reference table. -
-
3cb4939: Consolidate internal skills (13 → 11).
openpress-updatefolded intoopenpressas an "Updating An Existing Workspace" section. The release-upgrade flow, pre-flight checks, breaking-change reference, and do-not list are now part of the system-operation skill where they naturally belong.- Document hierarchy rules folded into the writing workflow. Hierarchy decisions (H2/H3/H4 model, TOC depth, appendix placement, H4 granularity) and prose decisions happen together.
references/data-structures-outline.mdmoved into the writing references.
Lower maintenance surface: 2 fewer SKILL.md files to keep in sync, ~5 fewer cross-references to police. No content lost — same rules, fewer files.
User impact: agents already in workspaces with
openpress-updateoropenpress-document-hierarchySKILL files installed should runnpx skills upgradeto refresh the catalog.
-
Initial monorepo release of
@open-press/cliand@open-press/coreon npm.@open-press/cli (new): scaffolder for open-press workspaces. Supports
editorial-monographandclaude-documentstyle packs, metadata flags, and AI-agent skill installation under.claude/skills/and.agents/skills/.@open-press/core (new): framework runtime, CLI engine, render pipeline, and document primitives. Consumed transitively by workspaces scaffolded via
@open-press/cli. Exposes theopen-pressbin (dev / build / preview / validate / pdf / deploy / export).