Skip to content

Release prep: bump to v0.2 + refresh docs (#807) - #838

Merged
DavidObando merged 3 commits into
mainfrom
copilot/issue-807
Jun 14, 2026
Merged

Release prep: bump to v0.2 + refresh docs (#807)#838
DavidObando merged 3 commits into
mainfrom
copilot/issue-807

Conversation

@DavidObando

Copy link
Copy Markdown
Owner

Release prep for the v0.2 line ("Oats" sweep, parent epic #706). This PR bumps the nbgv version base, refreshes the docs to match the v0.2 ground truth, and rotates the Docusaurus versioned-docs snapshot from 0.1 to 0.2. The orchestrator will tag v0.2.<patch> on main once this merges.

What's in this PR

Three commits, one logical change each:

  1. choreversion.json bumped from 0.1 to 0.2 (patch component remains auto-derived from commit height by nbgv).
  2. docs — release notes rewritten with a dated 0.2 section, diagnostics catalogue extended (GS0285–GS0297 added; GS0365 added; ADR-0102 covered alongside ADR-0101), a stale "v0.1 design" comment removed from a tutorial.
  3. docs(website) — fresh version-0.2 snapshot generated via npm run docusaurus -- docs:version 0.2; old version-0.1/ snapshot, sidebar, and versions.json entry retired.

v0.2 themes covered in the release notes

Language additions
while / do…while + labeled break/continue (ADR-0070), if let / guard let (ADR-0071), ??= (ADR-0072), a?[i] (ADR-0073), arrow lambdas (ADR-0074), (T) -> R function-type clause (ADR-0075), lambda binding inference (ADR-0076), Kotlin/Swift-style type-declaration grammar (ADR-0078), if-as-expression finished (ADR-0064, #711), smart-cast extensions (ADR-0069 addendum), discriminated-union enum payloads (#725), default(T) (ADR-0100), variadic ...T params at every declaration site (ADR-0101 + ADR-0102 + ADR-0103), class / struct / new() constraints (ADR-0097), default-interface methods (ADR-0085/0089/0090/0091), reified generics (ADR-0087), Gsharp.Extensions.Optional / Sequences (ADR-0084), friendly numeric aliases (ADR-0098), map[K,V] (ADR-0104).

Removals
type keyword for type declarations (ADR-0078), record keyword (ADR-0078), := short declaration (ADR-0077, GS0305), name = value named-arg form (ADR-0080, GS0315), func(T) R legacy function-type syntax (ADR-0075, GS0303), Go-flavored map[K]V (ADR-0104, GS0366).

Native interop end-to-end
@DllImport (ADR-0086), @LibraryImport (ADR-0092), struct marshalling (ADR-0093), ref/out/in (ADR-0094), function pointers (ADR-0095), @MarshalAs (ADR-0096).

Concurrency
Go-flavored go / chan / select and built-ins len / cap / append / make / delete gated behind import Gsharp.Extensions.Go (ADR-0082, ADR-0083).

Tooling
LSP completion polish for async-shaped types (#713), nil-related quick fixes from textDocument/codeAction (ADR-0099), nullnil "did you mean" diagnostic (ADR-0081, GS0273).

Verification

  • dotnet build GSharp.sln -nologo -clp:NoSummary — succeeded (warnings only; baseline MSB3026 retry + GS9100 reference closure warning on the Extensions project).
  • dotnet test GSharp.sln --no-restore --nologoall green: 32 + 104 + 296 + 266 + 3262 + 1319 = 5279 passed, 0 failed, 1 skipped (existing RegenerateBaseline).
  • dotnet tool restoredotnet-ilverify restored.
  • cd website && npm ci && npm run build — clean build, no broken links, no warnings.
  • grep '"version"' version.json"version": "0.2",
  • website/versioned_docs/version-0.1/ is gone, version-0.2/ exists; versions.json lists only "0.2".

Follow-up (orchestrator)

After merge, the orchestrator will:

  1. nbgv get-version on the merged main to compute the patch component.
  2. git tag -a v0.2.<patch> and push the tag; the publish job in .github/workflows/build.yml handles the release artefacts.
  3. Close G# Language — Current State and Design Opportunities #706 (parent epic) once the tag ships — this PR does not close G# Language — Current State and Design Opportunities #706.

Closes #807.
Parent: #706 (will be closed after the v0.2 tag is pushed).

web-flow added 3 commits June 14, 2026 02:19
Bump nbgv version base from 0.1 to 0.2 for the v0.2 release line.
The commit-height patch component is still derived by Nerdbank.GitVersioning
from the Git commit and the orchestrator will tag v0.2.<patch> on main
after this PR merges.

Refs #807, #706
#807)

Doc sweep for the v0.2 release line:

- Cut the `Unreleased` block in release-notes.md into a dated `0.2`
  section. Add a `Highlights` summary covering the Oats-sweep themes
  (ADR-0070..0104), the legacy-spelling removals with their migration
  diagnostics, native-interop end-to-end, the Go-flavored opt-in import,
  and tooling polish (LSP async-shaped completions, nil quick fixes,
  null->nil did-you-mean).
- Update the version-base paragraph to point at `0.2`.
- Add diagnostics-page sections for previously-undocumented v0.2 IDs:
  GS0285-GS0287 (top-level statements), GS0288 (field var/let),
  GS0289-GS0292 (deinit), GS0293-GS0295 (labeled break/continue), and
  GS0365 (variadic slot in anonymous function-type clause must be a
  slice). Extend the existing GS0363/GS0364 section to cover ADR-0102.
- Tutorials: drop the stale "this is the v0.1 design" comment in
  control-flow.md.

Refs #807, #706
Snapshot the live docs as the new `version-0.2` set (created with
`npm run docusaurus -- docs:version 0.2`) and retire the `version-0.1`
snapshot. Update versions.json so the docusaurus version dropdown lists
only `0.2` and `Next`. The 0.1 URL space is no longer served.

Verified `npm ci && npm run build` succeeds with no broken links and
no warnings.

Refs #807, #706
@DavidObando
DavidObando merged commit 02cab8c into main Jun 14, 2026
9 checks passed
@DavidObando
DavidObando deleted the copilot/issue-807 branch June 14, 2026 18:12
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.

Version bump to 0.2, update docs, ship a release of G# G# Language — Current State and Design Opportunities

2 participants