Skip to content

Commit 7215691

Browse files
committed
Add v0.26.2 release notes
1 parent 4dcfa0a commit 7215691

File tree

2 files changed

+36
-0
lines changed

2 files changed

+36
-0
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,13 @@ All notable changes to this project will be documented in this file.
66

77
- Ongoing work toward the next pre-1.0 release.
88

9+
## v0.26.2 - 2026-03-08
10+
11+
- Fixed newline-sensitive parsing in control-flow headers and statement expressions so next-line literals no longer get consumed accidentally while explicit multiline continuations still work.
12+
- Made `&&` and `||` short-circuit lazily and aligned integer division/modulo with Ruby-style floor semantics for signed integer algorithm ports.
13+
- Added Ruby-friendly array query aliases and helpers with `length`, `empty?`, and `fetch`, plus stricter `array.fetch` index validation.
14+
- Expanded regression coverage for Rosetta-style examples with multiline header parsing, short-circuit guards, signed integer arithmetic, and array helper behavior.
15+
916
## v0.21.0 - 2026-03-08
1017

1118
- Added nominal enums with `::` member access, reflective member helpers, and typed symbol coercion across function and block boundaries.

ROADMAP.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,3 +454,32 @@ Goal: add first-class nominal enums and harden the typed runtime around enum res
454454
- [x] Enum syntax and typed-runtime behavior are documented and exercised by runnable examples and tests.
455455
- [x] Enum resolution behaves correctly across modules, blocks, shadowed scopes, and typed normalization paths.
456456
- [x] Tooling and release automation changes are documented and stable for the next release cycle.
457+
458+
---
459+
460+
## v0.26.2 - Rosetta Port Compatibility Patch (completed 2026-03-08)
461+
462+
Goal: remove a handful of parser and runtime edge cases that were blocking direct ports of Ruby-flavored RosettaCode examples.
463+
464+
### Parsing and Control Flow
465+
466+
- [x] Stop `if`, `elsif`, `while`, `until`, `for`, `return`, and `raise` from accidentally consuming next-line literals and indexing expressions.
467+
- [x] Preserve explicit multiline continuations in line-limited headers for chained calls and operators.
468+
- [x] Support bare `return` in line-terminated statement form.
469+
470+
### Runtime Semantics
471+
472+
- [x] Make `&&` and `||` evaluate lazily so guard expressions short-circuit correctly.
473+
- [x] Align signed `int / int` and `int % int` behavior with floor-style Ruby semantics.
474+
- [x] Add `array.length`, `array.empty?`, and `array.fetch` for lower-friction Ruby ports.
475+
- [x] Reject fractional numeric indices in `array.fetch` instead of truncating silently.
476+
477+
### Coverage and Release Confidence
478+
479+
- [x] Add regression tests for multiline control-flow headers, guard short-circuiting, signed integer arithmetic, and array helper behavior.
480+
- [x] Keep integration expectations aligned with the updated integer arithmetic semantics.
481+
482+
### v0.26.2 Definition of Done
483+
484+
- [x] Rosetta-style ports no longer fail on newline-sensitive control-flow parsing, eager boolean guards, or missing array aliases.
485+
- [x] Signed integer arithmetic and `array.fetch` behavior are covered by targeted regressions and the full `go test ./vibes` suite.

0 commit comments

Comments
 (0)