Prepare 1.5.4 release defaults and metadata

This commit is contained in:
Sergey Chernov 2026-04-03 23:28:09 +03:00
parent 064b927b1a
commit 1cead7822a
5 changed files with 25 additions and 4 deletions

View File

@ -7,6 +7,27 @@ History note:
- Entries below are synchronized and curated for `1.5.x`.
- Earlier history may be incomplete and should be cross-checked with git tags/commits when needed.
## 1.5.4 (2026-04-03)
### Runtime and compiler stability
- Stabilized the recent `piSpigot` benchmark/compiler work for release.
- Fixed numeric-mix regressions introduced by overly broad int-coercion in bytecode compilation.
- Restored correct behavior for decimal arithmetic, mixed real/int flows, list literals, list size checks, and national-character script cases.
- Fixed plain-list index fast paths so they no longer bypass subclass behavior such as `ObservableList` hooks and flow notifications.
- Hardened local numeric compare fast paths to correctly handle primitive-coded frame slots.
### Performance and examples
- Added `piSpigot` benchmark/example coverage:
- `examples/pi-test.lyng`
- `examples/pi-bench.lyng`
- JVM benchmark test for release-baseline verification
- Kept the safe list/index/runtime wins that improve the optimized `piSpigot` path without reintroducing type-unsound coercions.
- Changed the default `RVAL_FASTPATH` setting off on JVM/Android and in the benchmark preset after verification that it no longer helps the stabilized `piSpigot` workload.
### Release notes
- Full JVM and wasm test gates pass on the release tree.
- Benchmark findings and remaining post-release optimization targets are documented in `notes/pi_spigot_benchmark_baseline_2026-04-03.md`.
## 1.5.1 (2026-03-25)
### Language

View File

@ -21,7 +21,7 @@ import org.jetbrains.kotlin.gradle.ExperimentalWasmDsl
import org.jetbrains.kotlin.gradle.dsl.JvmTarget
group = "net.sergeych"
version = "1.5.4-SNAPSHOT"
version = "1.5.4"
// Removed legacy buildscript classpath declarations; plugins are applied via the plugins DSL below

View File

@ -36,7 +36,7 @@ actual object PerfDefaults {
actual val PIC_DEBUG_COUNTERS: Boolean = false
actual val PRIMITIVE_FASTOPS: Boolean = true
actual val RVAL_FASTPATH: Boolean = true
actual val RVAL_FASTPATH: Boolean = false
// Regex caching aligns with JVM behavior on Android (Dalvik/ART)
actual val REGEX_CACHE: Boolean = true
actual val ARG_SMALL_ARITY_12: Boolean = false

View File

@ -180,7 +180,7 @@ object PerfProfiles {
PerfFlags.PIC_DEBUG_COUNTERS = false
PerfFlags.PRIMITIVE_FASTOPS = true
PerfFlags.RVAL_FASTPATH = true
PerfFlags.RVAL_FASTPATH = false
// Keep regex cache/platform setting; enable on JVM typically
PerfFlags.REGEX_CACHE = PerfDefaults.REGEX_CACHE

View File

@ -36,7 +36,7 @@ actual object PerfDefaults {
actual val PIC_DEBUG_COUNTERS: Boolean = false
actual val PRIMITIVE_FASTOPS: Boolean = true
actual val RVAL_FASTPATH: Boolean = true
actual val RVAL_FASTPATH: Boolean = false
// Regex caching (JVM-first): enabled by default on JVM
actual val REGEX_CACHE: Boolean = true