Skip to content

Release Next v3.0.0-next.8

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 25 Aug 23:57
20cebe4

@cloudpdf/engine@3.0.0-next.8

Minor Changes

  • #783 by @bobsingor – Use the document-scoped access endpoint for unlock requests. Add an
    opt-in docAffinityHeader option for routing document requests and
    bounded retries for server EngineBusy and EngineRestarting
    responses, including Retry-After handling and an onRetry callback.

@cloudpdf/server@3.0.0-next.8

Minor Changes

  • #783 by @bobsingor – Add a production Helm chart with validated SQLite and Postgres profiles, safety gates, smoke and crash drills, and OCI publishing tied to the server package version. Add Prometheus metrics, drain-aware bounded shutdown and readiness, serialized Postgres migrations, and fail-fast worker supervision.

    Add opt-in supervised engine-host process isolation with generation-fenced recovery, crash journaling, document quarantine enforcement, engine health reporting, and audited quarantine CLI commands. Repeated engine crashers can be observed or rejected with DocumentQuarantined, while native host crashes restart the engine without terminating the API server.

    Encode page renders, annotation appearances, and warm thumbnails inside engine workers by default so compressed images cross the engine boundary, with a temporary API-side encoding fallback. Add bounded interactive and background scheduling, per-host memory telemetry, controlled engine recycling, and deterministic engine sharding with per-shard readiness and metrics.

    Add POST /v1/docs/:docId/access as the document-scoped access endpoint while retaining POST /v1/access as a transitional alias. Head responses advertise the scoped endpoint, and path/body document ID mismatches are rejected. Allow the optional X-CloudPDF-Doc affinity header through CORS and expose retry and image metadata response headers to browser clients.

@embedpdf/engine-core@3.0.0-next.8

Minor Changes

  • #783 by @bobsingor – Add the *.renderEncoded wire kinds (pages.renderEncoded,
    document.renderPageFileEncoded, annotations.renderAppearancesEncoded)
    plus their RenderEncode / EncodedImageWire shapes — cloud-server
    surface (types only): the raster is encoded where it is produced and only
    the compressed image crosses the engine boundary.

    Make document access endpoints document-scoped by changing
    wirePaths.access to a wirePaths.access(docId) builder. Keep
    wirePaths.accessLegacy for transitional clients and allow the scoped
    endpoint to omit docId from the request body.

@embedpdf/engine-runtime@3.0.0-next.8

Minor Changes

  • #783 by @bobsingor – Add a public @embedpdf/engine-runtime/build-id subpath exposing the runtime's build identity (ENGINE_RUNTIME_VERSION, engineRuntimeTarget(), and engineRuntimeBuildId()) as a side-effect-free Node module. Supervisors and diagnostics can identify the version and resolved native target without loading the native addon.

@embedpdf/engine-services@3.0.0-next.8

Minor Changes

  • #783 by @bobsingorWorkerHost accepts an optional injected WorkerImageEncoder (third
    constructor argument) and dispatches the new *.renderEncoded kinds
    through it on a narrowly-scoped async path. No new dependencies: the
    native encoder stays in the injecting package. Hosts without an encoder
    (browser/local workers) reject those kinds with NotImplemented;
    existing two-argument construction is unchanged.

@embedpdf/react@3.0.0-next.8

Patch Changes

  • #779 by @bobsingor – Bind Stage surface measurement before browser paint so the initial viewport and camera placement settle before page surfaces become visible. React viewers no longer show a transient incorrectly positioned page while a document opens.

@embedpdf/plugin-stage@3.0.0-next.8

Patch Changes

  • #779 by @bobsingor – Keep page and scrollbar screen geometry hidden until initial viewport placement commits. Stage consumers no longer receive origin-based placeholder geometry while viewport, responsive settings, and camera state are being initialized, preventing pages from rendering at the top-left before their final placement.

@cloudpdf/contract@3.0.0-next.8

@cloudpdf/sdk@3.0.0-next.8

@cloudpdf/viewer@3.0.0-next.8

@cloudpdf/viewer-react@3.0.0-next.8

@embedpdf/core-acrojs@3.0.0-next.8

@embedpdf/core-annotation@3.0.0-next.8

@embedpdf/core-geometry@3.0.0-next.8

@embedpdf/core-js-sandbox@3.0.0-next.8

@embedpdf/core@3.0.0-next.8

@embedpdf/core-stage@3.0.0-next.8

@embedpdf/core-ui@3.0.0-next.8

@embedpdf/engine@3.0.0-next.8

@embedpdf/engine-runtime-darwin-arm64@3.0.0-next.8

@embedpdf/engine-runtime-darwin-x64@3.0.0-next.8

@embedpdf/engine-runtime-linux-arm64@3.0.0-next.8

@embedpdf/engine-runtime-linux-x64@3.0.0-next.8

@embedpdf/engine-runtime-linuxmusl-arm64@3.0.0-next.8

@embedpdf/engine-runtime-linuxmusl-x64@3.0.0-next.8

@embedpdf/engine-runtime-wasm32@3.0.0-next.8

@embedpdf/engine-runtime-win32-arm64@3.0.0-next.8

@embedpdf/engine-runtime-win32-x64@3.0.0-next.8

@embedpdf/angular@3.0.0-next.8

@embedpdf/web@3.0.0-next.8

@embedpdf/plugin-annotation@3.0.0-next.8

@embedpdf/plugin-commands@3.0.0-next.8

@embedpdf/plugin-form@3.0.0-next.8

@embedpdf/plugin-i18n@3.0.0-next.8

@embedpdf/plugin-interaction@3.0.0-next.8

@embedpdf/plugin-link@3.0.0-next.8

@embedpdf/plugin-metadata@3.0.0-next.8

@embedpdf/plugin-page-edit@3.0.0-next.8

@embedpdf/plugin-redaction@3.0.0-next.8

@embedpdf/plugin-render@3.0.0-next.8

@embedpdf/plugin-search@3.0.0-next.8

@embedpdf/plugin-selection@3.0.0-next.8

@embedpdf/plugin-shell@3.0.0-next.8

@embedpdf/plugin-stamp@3.0.0-next.8

@embedpdf/plugin-view-manager@3.0.0-next.8

@embedpdf/viewer-chrome@3.0.0-next.8

@embedpdf/viewer@3.0.0-next.8

@embedpdf/viewer-react@3.0.0-next.8