Skip to content

Track v1.0.0 alpha release readiness #382

Open
0 of 14 issues completed
Open

Description

@jderochervlk

Goal

Ship the first hardened @rescript/webapi release in the 1.0.0-alpha.N series (initial candidate 1.0.0-alpha.1, Git tag v1.0.0-alpha.1) under npm's alpha dist-tag.

ReScript 13 is currently alpha, and this library may remain alpha alongside it. A stable ReScript compiler is not an alpha release prerequisite. The supported compiler prereleases must nevertheless be accepted by package metadata, documented, and tested through normal installation.

This tracker comes from the repository readiness review of commit ebe9cca6. It tracks actionable work, not authorization to publish or merge changes.

Alpha scope

  • Normal installation and compilation of the actual npm artifact with the supported compiler alpha.
  • Explicit, repeatable numbered-alpha release/version/channel handling.
  • Fix the confirmed binding defects with targeted regressions; do not confuse successful compilation with platform correctness.
  • Reliable Node/consumer tests plus a focused real-browser regression path for the affected browser APIs.
  • Accurate alpha documentation, working local reference links, asset notices, and resolved identified tooling advisories.

Required sub-issues

Installation and release

Binding correctness

Validation

Documentation and distribution

Suggested execution order

  1. Start Accept supported ReScript 13 prereleases and verify tarball installation #384 (installation) and Establish reliable runtime regression tests for the alpha #383 (regression infrastructure).
  2. Implement the binding fixes in parallel by family, each with its own regression tests; docs/license/dependency work can also proceed independently.
  3. Finish Publish explicit numbered v1.0.0 alpha versions safely #385 with the resulting validation gates, then verify the final candidate artifact and release checklist below.

Release acceptance

  • Required sub-issues are resolved; any scope reduction is an explicit maintainer decision recorded here and in known limitations, not an implicit omission.
  • A clean checkout passes the documented CI/release commands on the selected toolchain.
  • A fresh consumer installs the actual tarball without peer-resolution bypasses and compiles/runs representative supported workflows.
  • The candidate package contains the intended sources/interfaces/config/license and no development-only payload.
  • Version, tag, package metadata, docs, changelog, and npm alpha dist-tag agree; latest is not advanced by an alpha release.
  • Known limitations, tested compiler/browser/runtime scope, and alpha breaking changes are documented.
  • An authorized maintainer approves actual publication and verifies the published artifact/dist-tag afterwards.

Not required for this alpha

  • A stable ReScript 13 release, beta/stable API freeze, or guaranteed compatibility with all future compiler alphas.
  • A complete Firefox/WebKit/browser-version matrix or exhaustive certification of every Web API.
  • A blanket private-record conversion: the 80 related TODOs need a separate design decision; current compiler mutation emits warning 111.
  • Generator rewrite/reproducible regeneration of all handwritten bindings, new API families, extension-module expansion, or speculative performance refactors.

Existing backlog to reconcile, not automatically duplicate

These historical issues need current dispositions; they are not all automatically prerequisites for alpha.

Review evidence and limits

Existing npm ci, npm run format:check, npm run build, npm run check:features, npm test, and npm run build:docs passed on Node 24.16.0/npm 11.15.0/ReScript 13.0.0-alpha.5. Feature validation covered 28 bundles and three consumer compile fixtures. The tarball contained 343 files (~136 KB compressed).

Despite those passes, normal tarball installation failed, targeted compiled-consumer/native probes exposed binding defects, and the built docs contained 45 missing local routes. There are 42 ReScript fixtures but only seven runtime imports, with assertions in two modules. Isolated browser probes used Chromium 156; they are not a complete compiled-binding browser suite. The workflow's Node 26 environment and nested generator suite were not run locally during the review.

Activity

  1. added this to the v1.0.0-alpha.1 milestone on Nov 5, 2026
  2. jderochervlk commented on Nov 5, 2026

    @jderochervlk
    CollaboratorAuthor

    Implementation is being coordinated in three batched PRs:

    Batch Issues Planned branch
    Tooling, regression infrastructure, installation, release machinery, dependency patches #383, #384, #385, #396 agent/alpha-tooling-release
    Native binding contracts and focused regressions #386–#392 agent/alpha-binding-contracts
    Alpha documentation, built-site links, and font distribution notices #393–#395 agent/alpha-docs-distribution

    Each batch has a separate implementation agent. After opening its PR, that agent will obtain an independent agent review, address actionable findings, and post issue-by-issue acceptance evidence. A passing compile alone is not sufficient, and unresolved criteria will remain explicit.

    The tooling batch owns shared package/workflow/test infrastructure and will publish an early test-harness contract. The other batches can implement independently, then stack on the foundation where necessary. Stacked PRs must receive CI; docs-link validation will be wired with the documentation fixes rather than creating a circular foundation dependency.

    ReScript 13 alpha remains an accepted baseline. This work does not authorize merging to main, publishing a package, or closing the milestone. PR links and final review/acceptance results will be added as the batches complete.

  3. jderochervlk commented on Nov 5, 2026

    @jderochervlk
    CollaboratorAuthor

    First batch PR is open: #397 — tooling/runtime/release foundation, currently draft, based on main. An independent review agent is reviewing it; the implementation agent is responsible for addressing findings and revalidating the final head.

    The bindings and documentation batches are integrating the shared foundation on their own feature branches and will open stacked PRs. The foundation's CI now supports PRs targeting non-main base branches.

    A release permission issue is being corrected during review: PR validation/dry-run must not receive npm-capable OIDC permissions. Real publication is being isolated to a guarded main-branch manual-dispatch job using the already-validated artifact. This change still requires final-head review.

    The npm account-level trusted-publisher check remains unconfirmed; the precise maintainer-only checklist is recorded in #385. No issues are being manually closed and no PRs/packages are being merged or published by this coordination.

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions