rip-lang 3.8.8 → 3.8.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,15 @@ All notable changes to Rip will be documented in this file.
7
7
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
8
8
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
9
9
 
10
+ ## [3.8.9] - 2026-02-16
11
+
12
+ ### Compiler — Grammar Desugaring & Cleanup
13
+
14
+ - **`until` desugared to `while`** — Grammar now emits `["while", ["!", cond], ...]` directly, eliminating `generateUntil` from the compiler. Also fixes the `until...when` guard bug where the guard expression was silently dropped.
15
+ - **`unless` desugared to `if`** — Grammar now emits `["if", ["!", cond], ...]` for all `unless` forms, removing ~20 `unless`-specific code paths from the compiler (dispatch table, postfix conditionals, assignment handlers, return/throw handlers, control flow analysis).
16
+ - **`toSearchable` renamed to `toMatchable`** — The regex helper name now matches the `.match()` API it wraps.
17
+ - **Added missing `%%=` handler** — The mathematical modulo assignment operator now works correctly instead of crashing during code generation.
18
+
10
19
  ## [3.8.8] - 2026-02-16
11
20
 
12
21
  ### Compiler — Refactoring & Cleanup
package/README.md CHANGED
@@ -9,9 +9,9 @@
9
9
  </p>
10
10
 
11
11
  <p align="center">
12
- <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.8.8-blue.svg" alt="Version"></a>
12
+ <a href="CHANGELOG.md"><img src="https://img.shields.io/badge/version-3.8.9-blue.svg" alt="Version"></a>
13
13
  <a href="#zero-dependencies"><img src="https://img.shields.io/badge/dependencies-ZERO-brightgreen.svg" alt="Dependencies"></a>
14
- <a href="#"><img src="https://img.shields.io/badge/tests-1%2C241%2F1%2C241-brightgreen.svg" alt="Tests"></a>
14
+ <a href="#"><img src="https://img.shields.io/badge/tests-1%2C242%2F1%2C242-brightgreen.svg" alt="Tests"></a>
15
15
  <a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-green.svg" alt="License"></a>
16
16
  </p>
17
17
 
@@ -290,7 +290,7 @@ See [@rip-lang/ui](packages/ui/) for the full framework: file-based router, reac
290
290
  | **Dependencies** | Multiple | Zero |
291
291
  | **Self-hosting** | No | Yes |
292
292
  | **Lexer** | 3,558 LOC | 2,024 LOC |
293
- | **Compiler** | 10,346 LOC | 3,317 LOC |
293
+ | **Compiler** | 10,346 LOC | 3,289 LOC |
294
294
  | **Total** | 17,760 LOC | ~11,000 LOC |
295
295
 
296
296
  Smaller codebase, modern output, built-in reactivity.
@@ -354,7 +354,7 @@ Rip includes optional packages for full-stack development:
354
354
 
355
355
  | Package | Version | Purpose |
356
356
  |---------|---------|---------|
357
- | [rip-lang](https://www.npmjs.com/package/rip-lang) | 3.8.8 | Core language compiler |
357
+ | [rip-lang](https://www.npmjs.com/package/rip-lang) | 3.8.9 | Core language compiler |
358
358
  | [@rip-lang/api](packages/api/) | 1.1.6 | HTTP framework (Sinatra-style routing, 37 validators) |
359
359
  | [@rip-lang/server](packages/server/) | 1.1.5 | Multi-worker app server (hot reload, HTTPS, mDNS) |
360
360
  | [@rip-lang/db](packages/db/) | 1.1.4 | DuckDB server with official UI (pure Bun FFI) |