From 8cf058e2af4afbd7683dfd44f5d88e737cc75600 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 14 Nov 2025 15:27:58 +0000 Subject: [PATCH 1/2] chore: release main --- .release-please-manifest.json | 2 +- CHANGELOG.md | 15 ++ cli/CHANGELOG.md | 7 + cli/package.json | 4 +- compiler/CHANGELOG.md | 428 ++++++++++++++++++++++++++++++++++ compiler/dune-project | 2 +- compiler/esy.json | 2 +- compiler/package.json | 2 +- package-lock.json | 2 +- package.json | 2 +- stdlib/CHANGELOG.md | 8 + stdlib/package.json | 2 +- 12 files changed, 467 insertions(+), 9 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 7fe234b40..8e987c8aa 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1 +1 @@ -{".":"0.7.1","cli":"0.7.1","compiler":"0.7.1","stdlib":"0.7.1"} \ No newline at end of file +{".":"0.8.0","cli":"0.8.0","compiler":"0.8.0","stdlib":"0.8.0"} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index e1f7ff416..adcc82b37 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,20 @@ # Changelog +## [0.8.0](https://github.com/grain-lang/grain/compare/grain-v0.7.1...grain-v0.8.0) (2025-11-14) + + +### Features + +* **compiler:** Upgrade to Binaryen v124 ([#2333](https://github.com/grain-lang/grain/issues/2333)) ([fafad72](https://github.com/grain-lang/grain/commit/fafad72bb8b41c38a0a363fe743bbb57324a2a9d)) +* **compiler:** Use Binaryen's bulk memory polyfill ([#2334](https://github.com/grain-lang/grain/issues/2334)) ([1c5478e](https://github.com/grain-lang/grain/commit/1c5478e22a2cca7ff9f5198b768a2aa3c23fd4cf)) +* **lsp:** Add submodule information to module hover ([#2309](https://github.com/grain-lang/grain/issues/2309)) ([227b3e3](https://github.com/grain-lang/grain/commit/227b3e3e21a8d724ac7001923cce9a2958e98d6b)) +* **stdlib:** Standardize `path` module examples ([#2325](https://github.com/grain-lang/grain/issues/2325)) ([c6e3cb0](https://github.com/grain-lang/grain/commit/c6e3cb052e5ec69be8037dc63bf39ee2630bbccc)) + + +### Bug Fixes + +* **compiler:** Correct impossible bug on nested char pattern ([#2310](https://github.com/grain-lang/grain/issues/2310)) ([cd3267c](https://github.com/grain-lang/grain/commit/cd3267ca00ab0f5499445cccaccc6049b27688a2)) + ## [0.7.1](https://github.com/grain-lang/grain/compare/grain-v0.7.0...grain-v0.7.1) (2025-07-01) diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 7187bc44f..365a010d4 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,5 +1,12 @@ # Changelog +## [0.8.0](https://github.com/grain-lang/grain/compare/cli-v0.7.1...cli-v0.8.0) (2025-11-14) + + +### Miscellaneous Chores + +* **cli:** Synchronize Grain versions + ## [0.7.1](https://github.com/grain-lang/grain/compare/cli-v0.7.0...cli-v0.7.1) (2025-07-01) diff --git a/cli/package.json b/cli/package.json index 86aeb24f9..7e04bbc7b 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@grain/cli", - "version": "0.7.1", + "version": "0.8.0", "description": "A command line tool for the Grain language.", "main": "index.js", "engines": { @@ -34,7 +34,7 @@ }, "homepage": "https://github.com/grain-lang/grain#readme", "dependencies": { - "@grain/stdlib": "0.7.1", + "@grain/stdlib": "0.8.0", "commander": "^8.1.0" }, "devDependencies": { diff --git a/compiler/CHANGELOG.md b/compiler/CHANGELOG.md index fb8db74b5..420d473a1 100644 --- a/compiler/CHANGELOG.md +++ b/compiler/CHANGELOG.md @@ -1,5 +1,433 @@ # Changelog +## [0.8.0](https://github.com/grain-lang/grain/compare/compiler-v0.7.1...compiler-v0.8.0) (2025-11-14) + + +### ⚠ BREAKING CHANGES + +* **cli:** Require node `>=22.13` ([#2256](https://github.com/grain-lang/grain/issues/2256)) +* **compiler:** Disallow whitespace for negative literals + allow infix operators on new line ([#2136](https://github.com/grain-lang/grain/issues/2136)) +* **compiler:** Custom Grain object files ([#2104](https://github.com/grain-lang/grain/issues/2104)) +* Remove `->` token in favor of `=>` ([#2177](https://github.com/grain-lang/grain/issues/2177)) +* **stdlib:** Seeded hashing ([#2170](https://github.com/grain-lang/grain/issues/2170)) +* **stdlib:** Add an `Ascii` submodule to `Char` and move `isAscii`, `toUppercase`, `toLowercase` ([#2178](https://github.com/grain-lang/grain/issues/2178)) +* **stdlib:** Replace `parseInt` error strings with structured error enum ([#1755](https://github.com/grain-lang/grain/issues/1755)) +* **stdlib:** Move stdlib `sys` modules to `wasi` ([#2056](https://github.com/grain-lang/grain/issues/2056)) +* **compiler:** Remove arbitrary per-file compiler flags, add acceptable options as module attributes ([#1804](https://github.com/grain-lang/grain/issues/1804)) +* **compiler:** Require extension when including relative file paths ([#1842](https://github.com/grain-lang/grain/issues/1842)) +* **compiler:** Update include syntax ([#2043](https://github.com/grain-lang/grain/issues/2043)) +* **stdlib:** Remove `sin`, `cos`, `tan`, `gamma`, `factorial` from `Number` module ([#2046](https://github.com/grain-lang/grain/issues/2046)) +* **compiler:** Update use syntax ([#2041](https://github.com/grain-lang/grain/issues/2041)) +* **grainfmt:** Implement new formatter ([#1976](https://github.com/grain-lang/grain/issues/1976)) +* **stdlib:** Use default arguments in more of stdlib ([#1772](https://github.com/grain-lang/grain/issues/1772)) +* **stdlib:** Add `print` suffix default argument ([#1768](https://github.com/grain-lang/grain/issues/1768)) +* **graindoc:** Allow `@since` and `@returns` once per export ([#1946](https://github.com/grain-lang/grain/issues/1946)) +* **graindoc:** Improve docgen for labeled & default arguments ([#1776](https://github.com/grain-lang/grain/issues/1776)) +* **stdlib:** Replace `Float64` arithmatic/comparison functions with operators ([#1957](https://github.com/grain-lang/grain/issues/1957)) +* **stdlib:** Replace `Float32` arithmatic/comparison functions with operators ([#1954](https://github.com/grain-lang/grain/issues/1954)) +* **stdlib:** Replace `Int64` arithmatic functions with operators ([#1935](https://github.com/grain-lang/grain/issues/1935)) +* **stdlib:** Replace `Int32` arithmatic functions with operators ([#1936](https://github.com/grain-lang/grain/issues/1936)) +* **stdlib:** Switch to using records for `getInternalStats` ([#1898](https://github.com/grain-lang/grain/issues/1898)) +* **cli:** Allow specifying WASI environment variables and CLI args ([#1840](https://github.com/grain-lang/grain/issues/1840)) +* **compiler:** Require `module` prefix on `use`/`provide` for modules ([#1868](https://github.com/grain-lang/grain/issues/1868)) +* **stdlib:** Reorder parameters to `List.insert` ([#1857](https://github.com/grain-lang/grain/issues/1857)) +* **stdlib:** Handle printing of reference cycles ([#1844](https://github.com/grain-lang/grain/issues/1844)) +* **compiler:** Change `->` to `=>` in type signatures ([#1855](https://github.com/grain-lang/grain/issues/1855)) +* **compiler:** Make types nonrecursive by default ([#1826](https://github.com/grain-lang/grain/issues/1826)) +* **compiler:** Remove static runtime pointers ([#1806](https://github.com/grain-lang/grain/issues/1806)) +* **compiler:** Remove memory import from _genv ([#1830](https://github.com/grain-lang/grain/issues/1830)) +* **compiler:** Changed comma to `and` in mutually rec types +* **compiler:** Changed comma to `and` in recursive types and bindings ([#1827](https://github.com/grain-lang/grain/issues/1827)) +* Remove js-runner ([#1585](https://github.com/grain-lang/grain/issues/1585)) +* **stdlib:** Replace `Result`/`Option` `and`/`or` functions with operators ([#1821](https://github.com/grain-lang/grain/issues/1821)) +* Require node version >=18.15 for WASI support ([#1612](https://github.com/grain-lang/grain/issues/1612)) +* **stdlib:** Ensure `Array.fillRange` works with negative indexing & throws IndexOutOfBound ([#1761](https://github.com/grain-lang/grain/issues/1761)) +* **compiler:** Disallow enum variants with parens but no types ([#1809](https://github.com/grain-lang/grain/issues/1809)) +* **stdlib:** Remove extra space when converting Bytes to String ([#1800](https://github.com/grain-lang/grain/issues/1800)) +* **stdlib:** Convert unsafe `Wasm` functions to operators ([#1734](https://github.com/grain-lang/grain/issues/1734)) +* **stdlib:** Use Array length as default end in `Array.slice` function ([#1762](https://github.com/grain-lang/grain/issues/1762)) +* **compiler:** Remove recursive_types and principal config ([#1751](https://github.com/grain-lang/grain/issues/1751)) +* **stdlib:** Use String length as default end in `String.slice` function ([#1748](https://github.com/grain-lang/grain/issues/1748)) +* Rework preopened directories ([#1656](https://github.com/grain-lang/grain/issues/1656)) +* **stdlib:** Group mutable/immutable data structures ([#1652](https://github.com/grain-lang/grain/issues/1652)) +* **compiler:** Optimize type metadata loading ([#1741](https://github.com/grain-lang/grain/issues/1741)) +* **compiler:** Labeled and default arguments ([#1623](https://github.com/grain-lang/grain/issues/1623)) +* **compiler:** Remove built-in FileDescriptor type ([#1747](https://github.com/grain-lang/grain/issues/1747)) +* **compiler:** Enable tail calls by default ([#1589](https://github.com/grain-lang/grain/issues/1589)) +* **stdlib:** Replace bigint/number arithmetic functions with operators ([#1742](https://github.com/grain-lang/grain/issues/1742)) +* **stdlib:** Update Operator `uint` operator Names ([#1738](https://github.com/grain-lang/grain/issues/1738)) +* **stdlib:** Provide empty byte array from Bytes.make ([#1729](https://github.com/grain-lang/grain/issues/1729)) +* **stdlib:** Add optimization for `Number.pow(Rational, Int)` ([#1716](https://github.com/grain-lang/grain/issues/1716)) +* **compiler:** Custom box printing ([#1713](https://github.com/grain-lang/grain/issues/1713)) +* **stdlib:** Update Buffer/Bytes to use new integer types ([#1704](https://github.com/grain-lang/grain/issues/1704)) +* **compiler:** Require floats always have a digit on left & right of dot ([#1703](https://github.com/grain-lang/grain/issues/1703)) +* **compiler:** Remove 32-bit numbers from `Number` type ([#1683](https://github.com/grain-lang/grain/issues/1683)) +* **compiler:** Short integer values ([#1669](https://github.com/grain-lang/grain/issues/1669)) +* **compiler:** Supply primitive types via the compiler ([#1667](https://github.com/grain-lang/grain/issues/1667)) +* **compiler:** Allocate closures only when necessary ([#1660](https://github.com/grain-lang/grain/issues/1660)) +* **stdlib:** Add `**` (pow) operator to Pervasives module ([#1690](https://github.com/grain-lang/grain/issues/1690)) +* **compiler:** Remove Exclusive/Inclusive Ranges, provide as record via compiler ([#1616](https://github.com/grain-lang/grain/issues/1616)) +* **stdlib:** Make queue and stack mutable & provide Immutable submodules ([#1479](https://github.com/grain-lang/grain/issues/1479)) +* **compiler:** Disallow multiple `provide`s of the same value ([#1689](https://github.com/grain-lang/grain/issues/1689)) +* **graindoc:** Only use original doc blocks when re-providing ([#1687](https://github.com/grain-lang/grain/issues/1687)) +* **graindoc:** Support docblocks on submodules ([#1684](https://github.com/grain-lang/grain/issues/1684)) +* **graindoc:** Remove section attribute ([#1681](https://github.com/grain-lang/grain/issues/1681)) +* **compiler:** Explicit abstract types ([#1680](https://github.com/grain-lang/grain/issues/1680)) +* **compiler:** Add Uint32 and Uint64 types ([#1531](https://github.com/grain-lang/grain/issues/1531)) +* **stdlib:** Remove `cons` and `empty` from Pervasives ([#1657](https://github.com/grain-lang/grain/issues/1657)) +* **stdlib:** Sys/File reading and writing operate on Bytes ([#1655](https://github.com/grain-lang/grain/issues/1655)) +* **compiler:** Make List a language-supplied type ([#1648](https://github.com/grain-lang/grain/issues/1648)) +* **stdlib:** Use correct casing for BigInt module name +* **graindoc:** Replace module attribute with docblock on module header ([#1647](https://github.com/grain-lang/grain/issues/1647)) +* **compiler:** Apply correct rules for parsing Unicode whitespace ([#1554](https://github.com/grain-lang/grain/issues/1554)) +* **compiler:** Module system ([#1584](https://github.com/grain-lang/grain/issues/1584)) +* **compiler:** Change Char internal representation ([#1622](https://github.com/grain-lang/grain/issues/1622)) +* **compiler:** Inline record constructors ([#1586](https://github.com/grain-lang/grain/issues/1586)) +* **stdlib:** Replace Number.nan & Number.infinity constants with keywords ([#1618](https://github.com/grain-lang/grain/issues/1618)) +* **compiler:** Remove support of single-argument tuples ([#1608](https://github.com/grain-lang/grain/issues/1608)) +* **compiler:** Rename `_grainEnv` to `_genv` ([#1607](https://github.com/grain-lang/grain/issues/1607)) +* **compiler:** Add `yield` and `macro` reserved keywords ([#1471](https://github.com/grain-lang/grain/issues/1471)) +* **compiler:** Implement `Infinity` and `NaN` syntax ([#1472](https://github.com/grain-lang/grain/issues/1472)) +* **stdlib:** `List.rotate` wraparound for count > length ([#1558](https://github.com/grain-lang/grain/issues/1558)) +* **compiler:** Early return ([#1464](https://github.com/grain-lang/grain/issues/1464)) +* **compiler:** Include Option and Result as language-supplied types ([#1591](https://github.com/grain-lang/grain/issues/1591)) +* **stdlib:** Change array rotation direction ([#1552](https://github.com/grain-lang/grain/issues/1552)) +* **stdlib:** Support zipping arrays of different sizes ([#1402](https://github.com/grain-lang/grain/issues/1402)) +* Remove --parser-debug-level ([#1311](https://github.com/grain-lang/grain/issues/1311)) (#1447) +* **compiler:** Refactor enum constructors ([#1211](https://github.com/grain-lang/grain/issues/1211)) + +### Features + +* Add `exception` opentype implementation to `Oprint` ([#1896](https://github.com/grain-lang/grain/issues/1896)) ([51d53f7](https://github.com/grain-lang/grain/commit/51d53f7e1f3f3bdb6508a8ad925887f9854cd84f)) +* Add `getAll`, `setAll`, `removeAll` to `List.Associative` ([#2224](https://github.com/grain-lang/grain/issues/2224)) ([9c49a23](https://github.com/grain-lang/grain/commit/9c49a23666f59c90499491ab2501214a33439fa1)) +* Add Hex Exponent Decimals ([8a69eb3](https://github.com/grain-lang/grain/commit/8a69eb31e4e22e6148c42ecd0efb677f3fbb222c)) +* **cli:** Allow specifying WASI environment variables and CLI args ([#1840](https://github.com/grain-lang/grain/issues/1840)) ([fb8fbf2](https://github.com/grain-lang/grain/commit/fb8fbf2b8ca2a024e3983d25b52443337ec9746a)) +* **compiler:** Add `magic` primitive ([#1766](https://github.com/grain-lang/grain/issues/1766)) ([a28ebb4](https://github.com/grain-lang/grain/commit/a28ebb4e7404b3badb01dad40dc74c2919a4f79b)) +* **compiler:** Add `yield` and `macro` reserved keywords ([#1471](https://github.com/grain-lang/grain/issues/1471)) ([f0e29c5](https://github.com/grain-lang/grain/commit/f0e29c5e6d2fc3a4deb884816014fa4d90ee8f1b)) +* **compiler:** Add ability to match on low level wasm types ([#1588](https://github.com/grain-lang/grain/issues/1588)) ([0d30888](https://github.com/grain-lang/grain/commit/0d3088846bcf865d8c3aa4298db9148b071664fc)) +* **compiler:** Add hex float syntax ([#1743](https://github.com/grain-lang/grain/issues/1743)) ([8a69eb3](https://github.com/grain-lang/grain/commit/8a69eb31e4e22e6148c42ecd0efb677f3fbb222c)) +* **compiler:** Add stack allocation information to small ints ([#1780](https://github.com/grain-lang/grain/issues/1780)) ([6f1a1a9](https://github.com/grain-lang/grain/commit/6f1a1a9adf2b7a9e732f7503a0955938c6e65543)) +* **compiler:** Add Uint32 and Uint64 types ([#1531](https://github.com/grain-lang/grain/issues/1531)) ([42ffdc4](https://github.com/grain-lang/grain/commit/42ffdc408096901696abb6e3fa862b65d3d7e2a2)) +* **compiler:** Add warning for non-integer array indices ([#2077](https://github.com/grain-lang/grain/issues/2077)) ([520dd8a](https://github.com/grain-lang/grain/commit/520dd8a22068970139420d22185d65d196fc951d)) +* **compiler:** Allocate closures only when necessary ([#1660](https://github.com/grain-lang/grain/issues/1660)) ([c40df12](https://github.com/grain-lang/grain/commit/c40df12b95f6f3a74bf89d637d60c64714b1d31e)) +* **compiler:** Allow a newline character after 'as' when aliasing ([#1641](https://github.com/grain-lang/grain/issues/1641)) ([2719034](https://github.com/grain-lang/grain/commit/27190343160fe99957a9ca7169c48c0d673c81ef)) +* **compiler:** Allow arrays to do binary operation assignment ([#1928](https://github.com/grain-lang/grain/issues/1928)) ([8a335ae](https://github.com/grain-lang/grain/commit/8a335ae1e3d9874131f1c6402e3bc4de6a9cfdb3)) +* **compiler:** Allow importing a memory ([#1661](https://github.com/grain-lang/grain/issues/1661)) ([3140ba2](https://github.com/grain-lang/grain/commit/3140ba249f47de8e66af236ddc681f4e9f481e1b)) +* **compiler:** Allow lists and arrays on the left side of access expressions ([#1557](https://github.com/grain-lang/grain/issues/1557)) ([8c00750](https://github.com/grain-lang/grain/commit/8c00750c099587f8131ea30e346841137c52bd83)) +* **compiler:** Allow non-block bodies with loops ([#2064](https://github.com/grain-lang/grain/issues/2064)) ([6fd1603](https://github.com/grain-lang/grain/commit/6fd16037cd6ab34cb6dce18e6945c7fad0a54611)) +* **compiler:** Bytes literals ([#1662](https://github.com/grain-lang/grain/issues/1662)) ([3d8e4c5](https://github.com/grain-lang/grain/commit/3d8e4c5ee074e393eebeed82d2c4bd0590a0ad31)) +* **compiler:** Cache parsetrees during compilation process ([#1548](https://github.com/grain-lang/grain/issues/1548)) ([7b53aab](https://github.com/grain-lang/grain/commit/7b53aaba74c6eb809cddcde5374f63eaa4a00d36)) +* **compiler:** Change `->` to `=>` in type signatures ([#1855](https://github.com/grain-lang/grain/issues/1855)) ([b3d68a4](https://github.com/grain-lang/grain/commit/b3d68a4f2e99222a69d7066164892077f83ebf8c)) +* **compiler:** Change Char internal representation ([#1622](https://github.com/grain-lang/grain/issues/1622)) ([58c9a51](https://github.com/grain-lang/grain/commit/58c9a5145a6c1c53e280657e4e41f79f2662eb8a)) +* **compiler:** Changed comma to `and` in mutually rec types ([923625d](https://github.com/grain-lang/grain/commit/923625dfaf276be894546e67db66a17d00df9f14)) +* **compiler:** Changed comma to `and` in recursive types and bindings ([#1827](https://github.com/grain-lang/grain/issues/1827)) ([923625d](https://github.com/grain-lang/grain/commit/923625dfaf276be894546e67db66a17d00df9f14)) +* **compiler:** Custom box printing ([#1713](https://github.com/grain-lang/grain/issues/1713)) ([3c86e45](https://github.com/grain-lang/grain/commit/3c86e459235ad9bf0abbefb575021736ad45f310)) +* **compiler:** Custom Grain object files ([#2104](https://github.com/grain-lang/grain/issues/2104)) ([4b56c53](https://github.com/grain-lang/grain/commit/4b56c535064e5ad8f68ca19af071d5e525a1a9aa)) +* **compiler:** Deduplicate foreign imports ([#2233](https://github.com/grain-lang/grain/issues/2233)) ([e8a3ed2](https://github.com/grain-lang/grain/commit/e8a3ed2a04713748ba7c577a04ae8f588844430c)) +* **compiler:** Disallow whitespace for negative literals + allow infix operators on new line ([#2136](https://github.com/grain-lang/grain/issues/2136)) ([3186155](https://github.com/grain-lang/grain/commit/318615583c1a1dbea3a7ea6c1c616bcac4df2c0a)) +* **compiler:** Early return ([#1464](https://github.com/grain-lang/grain/issues/1464)) ([1bffc82](https://github.com/grain-lang/grain/commit/1bffc821002e10c6fcbfb0fcf65750cda5c1e29f)) +* **compiler:** Enable debug info in binary output ([#2086](https://github.com/grain-lang/grain/issues/2086)) ([8555853](https://github.com/grain-lang/grain/commit/8555853c9f55afbe24d629c827521374e169c18c)) +* **compiler:** Enable single-file compilation ([#2105](https://github.com/grain-lang/grain/issues/2105)) ([824b365](https://github.com/grain-lang/grain/commit/824b365fde51cf485a1ad21a6431611cb9ffe3e5)) +* **compiler:** Enable tail calls by default ([#1589](https://github.com/grain-lang/grain/issues/1589)) ([f6e5b00](https://github.com/grain-lang/grain/commit/f6e5b002475f62e04e9f1feb452ff8e9262dacbb)) +* **compiler:** Explicit abstract types ([#1680](https://github.com/grain-lang/grain/issues/1680)) ([58cd224](https://github.com/grain-lang/grain/commit/58cd2247441f16cfc95b415ad272da7a37b82fb5)) +* **compiler:** Implement `Infinity` and `NaN` syntax ([#1472](https://github.com/grain-lang/grain/issues/1472)) ([74a196d](https://github.com/grain-lang/grain/commit/74a196d947dea8a31e3f80154f952903f1f8bb89)) +* **compiler:** Improve exhaustive warning for lists ([#2220](https://github.com/grain-lang/grain/issues/2220)) ([f54dbdf](https://github.com/grain-lang/grain/commit/f54dbdf2a7d7e0e75c0bd22c9ad5eaab0259b177)) +* **compiler:** Improve warning when omitting fields in record pattern ([#2079](https://github.com/grain-lang/grain/issues/2079)) ([4a929fc](https://github.com/grain-lang/grain/commit/4a929fc05cb1f7fd10007f30a94ecf1c228c6dee)) +* **compiler:** Include Option and Result as language-supplied types ([#1591](https://github.com/grain-lang/grain/issues/1591)) ([bd5403f](https://github.com/grain-lang/grain/commit/bd5403f94f30366adc7d3307adc3c6c4fa5e1803)) +* **compiler:** Inline record constructors ([#1586](https://github.com/grain-lang/grain/issues/1586)) ([43082f5](https://github.com/grain-lang/grain/commit/43082f52692d90b1419b6b72ebe66406a0a01d99)) +* **compiler:** Labeled and default arguments ([#1623](https://github.com/grain-lang/grain/issues/1623)) ([28a38ac](https://github.com/grain-lang/grain/commit/28a38ac149d396cd034b6c53b0aa3eb478ed29ed)) +* **compiler:** Lower stack usage ([#1542](https://github.com/grain-lang/grain/issues/1542)) ([ef43141](https://github.com/grain-lang/grain/commit/ef431412c310b4adffa4b5786581a6b18942a32e)) +* **compiler:** Make List a language-supplied type ([#1648](https://github.com/grain-lang/grain/issues/1648)) ([2ee1328](https://github.com/grain-lang/grain/commit/2ee13282427718d8849a334d085a3f833037127b)) +* **compiler:** Make types nonrecursive by default ([#1826](https://github.com/grain-lang/grain/issues/1826)) ([46b8a5a](https://github.com/grain-lang/grain/commit/46b8a5aaa384eb52b34b82faea5b0a06adc22568)) +* **compiler:** Module system ([#1584](https://github.com/grain-lang/grain/issues/1584)) ([752da69](https://github.com/grain-lang/grain/commit/752da69057b2b06a1415710d6da93fbb948e8185)) +* **compiler:** Perform partial match checking on `let` bindings ([#1486](https://github.com/grain-lang/grain/issues/1486)) ([3678eb5](https://github.com/grain-lang/grain/commit/3678eb5dc4c4ef199c1313f8f280ce3de458005a)) +* **compiler:** Propagate attribute locations to Anftree ([#1642](https://github.com/grain-lang/grain/issues/1642)) ([cce2821](https://github.com/grain-lang/grain/commit/cce2821e3b4bedbe8eef5a9814fed3eb24d7eccd)) +* **compiler:** Providing, including, reproviding exceptions ([#1849](https://github.com/grain-lang/grain/issues/1849)) ([687e747](https://github.com/grain-lang/grain/commit/687e747fb5d4c242d3bfceec6541ade58f6863a8)) +* **compiler:** Rational number type ([#1603](https://github.com/grain-lang/grain/issues/1603)) ([350f850](https://github.com/grain-lang/grain/commit/350f8503c3e6976275aaa8ee4d8c02554e7c238a)) +* **compiler:** Record spread syntax ([#1565](https://github.com/grain-lang/grain/issues/1565)) ([ab60e12](https://github.com/grain-lang/grain/commit/ab60e1269f008daf1af343364e706312060a9122)) +* **compiler:** Refactor enum constructors ([#1211](https://github.com/grain-lang/grain/issues/1211)) ([8d465b7](https://github.com/grain-lang/grain/commit/8d465b7cd73d9549eeb89c7d52083d592ebd66fd)) +* **compiler:** Remove 32-bit numbers from `Number` type ([#1683](https://github.com/grain-lang/grain/issues/1683)) ([50bf8ee](https://github.com/grain-lang/grain/commit/50bf8ee39d017805091fe1ae7536621e956c03ce)) +* **compiler:** Remove arbitrary per-file compiler flags, add acceptable options as module attributes ([#1804](https://github.com/grain-lang/grain/issues/1804)) ([72b2139](https://github.com/grain-lang/grain/commit/72b21393b0c82669ff9005730cafb0b345a8a992)) +* **compiler:** Remove Exclusive/Inclusive Ranges, provide as record via compiler ([#1616](https://github.com/grain-lang/grain/issues/1616)) ([49a399d](https://github.com/grain-lang/grain/commit/49a399dbcfc24957a3875ae094ad0a2c4b636a32)) +* **compiler:** Remove Pervasives' dependency on toString when types are elided ([#1664](https://github.com/grain-lang/grain/issues/1664)) ([f703476](https://github.com/grain-lang/grain/commit/f703476db8d376d68a1c50fece48f335f455a791)) +* **compiler:** Remove support of single-argument tuples ([#1608](https://github.com/grain-lang/grain/issues/1608)) ([509cd85](https://github.com/grain-lang/grain/commit/509cd85801eb165c0ce65347047a0380f2304b25)) +* **compiler:** Require `module` prefix on `use`/`provide` for modules ([#1868](https://github.com/grain-lang/grain/issues/1868)) ([5efb54c](https://github.com/grain-lang/grain/commit/5efb54c199e674a3715779f97239b7b47744d88f)) +* **compiler:** Require extension when including relative file paths ([#1842](https://github.com/grain-lang/grain/issues/1842)) ([dde62d3](https://github.com/grain-lang/grain/commit/dde62d39c501bd25cccac6569b426406711a5735)) +* **compiler:** Short integer values ([#1669](https://github.com/grain-lang/grain/issues/1669)) ([fc4670d](https://github.com/grain-lang/grain/commit/fc4670de13c46dfac3def1ca59d718ffb36aca1c)) +* **compiler:** Streamlined reference counting ([#1714](https://github.com/grain-lang/grain/issues/1714)) ([0711868](https://github.com/grain-lang/grain/commit/071186801ccf7f6dc3eef653382f6d82b8b23b6c)) +* **compiler:** Supply primitive types via the compiler ([#1667](https://github.com/grain-lang/grain/issues/1667)) ([b41feb7](https://github.com/grain-lang/grain/commit/b41feb73976d4ef3d9c17c31f0dbcfc22df32d9d)) +* **compiler:** Suppress warnings about using fromNumber for Int32/64 and Float32/64 tests ([#1638](https://github.com/grain-lang/grain/issues/1638)) ([b687e31](https://github.com/grain-lang/grain/commit/b687e31d6e5d82260cb31f355253934da407d3c5)) +* **compiler:** Update include syntax ([#2043](https://github.com/grain-lang/grain/issues/2043)) ([5f44d4e](https://github.com/grain-lang/grain/commit/5f44d4e5a1cd432faddcfb1a138ac6a7797423fd)) +* **compiler:** Update use syntax ([#2041](https://github.com/grain-lang/grain/issues/2041)) ([cd346ab](https://github.com/grain-lang/grain/commit/cd346ab761aaa5e8e7692ebce1bae4e5e7e47f45)) +* **compiler:** Upgrade to Binaryen v124 ([#2333](https://github.com/grain-lang/grain/issues/2333)) ([fafad72](https://github.com/grain-lang/grain/commit/fafad72bb8b41c38a0a363fe743bbb57324a2a9d)) +* **compiler:** Use Binaryen's bulk memory polyfill ([#2334](https://github.com/grain-lang/grain/issues/2334)) ([1c5478e](https://github.com/grain-lang/grain/commit/1c5478e22a2cca7ff9f5198b768a2aa3c23fd4cf)) +* **compiler:** Use location for `Unbound_label_with_alt` error ([#2196](https://github.com/grain-lang/grain/issues/2196)) ([271d7cb](https://github.com/grain-lang/grain/commit/271d7cb3617eb016215f58c5db431a8ab513d491)) +* **compiler:** Use program location for `_gmain` ([#2231](https://github.com/grain-lang/grain/issues/2231)) ([bdbbd05](https://github.com/grain-lang/grain/commit/bdbbd05b467d54f11413952480e9c90cc0c06900)) +* **fmt:** Add trailing comma on inline records ([#2266](https://github.com/grain-lang/grain/issues/2266)) ([cbe12e2](https://github.com/grain-lang/grain/commit/cbe12e294d71fdfcefd8d7c59c5c586fc1fdcc48)) +* **graindoc:** Add attribute for exceptions that may be thrown ([#1492](https://github.com/grain-lang/grain/issues/1492)) ([b2e75c7](https://github.com/grain-lang/grain/commit/b2e75c7452ef2544c768729c7a45e21ff31616d0)) +* **graindoc:** Add locations to Graindoc errors ([#2291](https://github.com/grain-lang/grain/issues/2291)) ([da6090a](https://github.com/grain-lang/grain/commit/da6090ad05d4e26c546f7bc13bec95c658f0e569)) +* **graindoc:** Add test harness ([#1767](https://github.com/grain-lang/grain/issues/1767)) ([8a93ebe](https://github.com/grain-lang/grain/commit/8a93ebeebafe5938448e7e2968c6a48b90d43e3c)) +* **graindoc:** Allow `[@since](https://github.com/since)` and `[@returns](https://github.com/returns)` once per export ([#1946](https://github.com/grain-lang/grain/issues/1946)) ([ad977aa](https://github.com/grain-lang/grain/commit/ad977aa3aa191692606e59e4971f93058ede42c9)) +* **graindoc:** Allow doc comments on variants and record fields ([#1852](https://github.com/grain-lang/grain/issues/1852)) ([53f770c](https://github.com/grain-lang/grain/commit/53f770c24ef9057b7b5e63d3dda75b166c28536d)) +* **graindoc:** Cache module comments ([#2102](https://github.com/grain-lang/grain/issues/2102)) ([d45ddfa](https://github.com/grain-lang/grain/commit/d45ddfaac5067d7d6c08703653a31187d35914a5)) +* **graindoc:** Improve docgen for labeled & default arguments ([#1776](https://github.com/grain-lang/grain/issues/1776)) ([be7ff9d](https://github.com/grain-lang/grain/commit/be7ff9d9ec2237ad5028f8d9e3e2f10a6bd3f9dd)) +* **graindoc:** Only use original doc blocks when re-providing ([#1687](https://github.com/grain-lang/grain/issues/1687)) ([97c7ce4](https://github.com/grain-lang/grain/commit/97c7ce4dfb7e4474358a62c3699dd3edc121c961)) +* **graindoc:** Pretty markdown tables ([#2292](https://github.com/grain-lang/grain/issues/2292)) ([1992734](https://github.com/grain-lang/grain/commit/1992734e4e3126b8b9da37bad7510235640004ad)) +* **graindoc:** Refactored Graindoc parser ([#1658](https://github.com/grain-lang/grain/issues/1658)) ([b447ced](https://github.com/grain-lang/grain/commit/b447cedc648ece5c5c892ff66172d2f264831647)) +* **graindoc:** Replace module attribute with docblock on module header ([#1647](https://github.com/grain-lang/grain/issues/1647)) ([2ff9d9e](https://github.com/grain-lang/grain/commit/2ff9d9ec49c727778c6d0ee74219f746df8a11e2)) +* **graindoc:** Support deprecations on module docblocks ([#1498](https://github.com/grain-lang/grain/issues/1498)) ([b3dc85c](https://github.com/grain-lang/grain/commit/b3dc85c0fc311479de4e57774a075c3a922216ba)) +* **graindoc:** Support docblocks on submodules ([#1684](https://github.com/grain-lang/grain/issues/1684)) ([bc13017](https://github.com/grain-lang/grain/commit/bc1301751c90380e53c0ca9048a928468245d13c)) +* **grainfmt:** Implement new formatter ([#1976](https://github.com/grain-lang/grain/issues/1976)) ([1568aa0](https://github.com/grain-lang/grain/commit/1568aa06f625c4d91d9151e3f969ec648e8d4231)) +* **grainlsp:** Add inlay types ([#2005](https://github.com/grain-lang/grain/issues/2005)) ([f8a8f7f](https://github.com/grain-lang/grain/commit/f8a8f7f7d81abbc79f6359b20c06e8164c20053a)) +* **grainlsp:** Implement goto definition ([#1787](https://github.com/grain-lang/grain/issues/1787)) ([3cb862a](https://github.com/grain-lang/grain/commit/3cb862a9b7c046aeab22796ebd88de63d4853525)) +* **grainlsp:** Implement inlay hints for module includes ([#1793](https://github.com/grain-lang/grain/issues/1793)) ([408da76](https://github.com/grain-lang/grain/commit/408da761bd5945892ea19bb21833a15c1506cf6d)) +* **grainlsp:** Provide hovers on use statements ([#1688](https://github.com/grain-lang/grain/issues/1688)) ([c5cd21f](https://github.com/grain-lang/grain/commit/c5cd21fc3a6b703bb9de2c7a4c7834bd27a743a9)) +* **lsp:** Add hover for submodules ([#2028](https://github.com/grain-lang/grain/issues/2028)) ([85d8768](https://github.com/grain-lang/grain/commit/85d876864b7ae5d69609138b1a33904689347743)) +* **lsp:** Add or remove block braces code action ([#2222](https://github.com/grain-lang/grain/issues/2222)) ([3134504](https://github.com/grain-lang/grain/commit/31345048249ddcb2cba481edccfcf0aaccb6cae1)) +* **lsp:** Add submodule information to module hover ([#2309](https://github.com/grain-lang/grain/issues/2309)) ([227b3e3](https://github.com/grain-lang/grain/commit/227b3e3e21a8d724ac7001923cce9a2958e98d6b)) +* **lsp:** Explicit type annotation code action ([#2125](https://github.com/grain-lang/grain/issues/2125)) ([d34d381](https://github.com/grain-lang/grain/commit/d34d381232814b41d343e867461e9b71793b11e7)) +* **lsp:** Goto type definition ([#2129](https://github.com/grain-lang/grain/issues/2129)) ([4bb8fae](https://github.com/grain-lang/grain/commit/4bb8faeb0b4317f0acd3c9b9de9db2c87b41db8d)) +* **lsp:** Implement document symbol outline ([#2298](https://github.com/grain-lang/grain/issues/2298)) ([e4caac2](https://github.com/grain-lang/grain/commit/e4caac285db5b9dc2791d07385dd533d6c7ab79f)) +* **lsp:** Support goto definition on exceptions ([#1895](https://github.com/grain-lang/grain/issues/1895)) ([218b2f0](https://github.com/grain-lang/grain/commit/218b2f0f7f5f69d81c111abf9cbc2656e60a18be)) +* **lsp:** Support hover on `include` statements ([#1963](https://github.com/grain-lang/grain/issues/1963)) ([b6e1570](https://github.com/grain-lang/grain/commit/b6e15705c218b1f42b71da15e045e6472fad43cb)) +* **lsp:** Use argument label code action ([#2126](https://github.com/grain-lang/grain/issues/2126)) ([4399387](https://github.com/grain-lang/grain/commit/43993871418d9b8e804df246aa66dee6efb47b58)) +* Remove `->` token in favor of `=>` ([#2177](https://github.com/grain-lang/grain/issues/2177)) ([d0038d3](https://github.com/grain-lang/grain/commit/d0038d34e95f4357b06101cb14aae57a3b928b51)) +* Remove js-runner ([#1585](https://github.com/grain-lang/grain/issues/1585)) ([e10d612](https://github.com/grain-lang/grain/commit/e10d61295c42237b7b472cd3c5d07f2c5f28d79b)) +* Rework preopened directories ([#1656](https://github.com/grain-lang/grain/issues/1656)) ([7d3006d](https://github.com/grain-lang/grain/commit/7d3006d86d423a0bb03a600c6bf9726efc8394b9)) +* **runtime:** Allow modulo on floating point numbers ([#1914](https://github.com/grain-lang/grain/issues/1914)) ([f90d8af](https://github.com/grain-lang/grain/commit/f90d8af2ee2373b5420655c9e80826f56fffaa91)) +* **runtime:** Optimize `==` for lists ([#2247](https://github.com/grain-lang/grain/issues/2247)) ([1cba005](https://github.com/grain-lang/grain/commit/1cba005db44163e2d197c4af14f1c3d8997ebbf8)) +* **runtime:** Optimize simple number comparison ([f7ceae7](https://github.com/grain-lang/grain/commit/f7ceae729260bc3c5eee017954aa7e242c3f8cb5)) +* **runtime:** Prevent stack overflow while collecting large lists ([#2248](https://github.com/grain-lang/grain/issues/2248)) ([097ae7d](https://github.com/grain-lang/grain/commit/097ae7d403aaabe20fba373564562274b9ff38d3)) +* **stdlib:** `List.Associative` Submodule ([#2202](https://github.com/grain-lang/grain/issues/2202)) ([fbb08bf](https://github.com/grain-lang/grain/commit/fbb08bf28683b05fb77a57af6a787907da070ef7)) +* **stdlib:** `List.rotate` wraparound for count > length ([#1558](https://github.com/grain-lang/grain/issues/1558)) ([6dd9680](https://github.com/grain-lang/grain/commit/6dd968009b5d700f2e31ed6f4b1074dbdc4299e7)) +* **stdlib:** Add `**` (pow) operator to Pervasives module ([#1690](https://github.com/grain-lang/grain/issues/1690)) ([b16b455](https://github.com/grain-lang/grain/commit/b16b4552952fd554657ac1b5bcc868dca0600476)) +* **stdlib:** Add `**` operator to `Int32` module ([#1938](https://github.com/grain-lang/grain/issues/1938)) ([32b9639](https://github.com/grain-lang/grain/commit/32b9639be58408d587f9c9c29a4b56857e6f328f)) +* **stdlib:** Add `**` operator to `Int64` module ([#1937](https://github.com/grain-lang/grain/issues/1937)) ([48de28b](https://github.com/grain-lang/grain/commit/48de28bba8be2e157cfb82e90e709759659ab3b4)) +* **stdlib:** Add `**` to `Float64` and `Float32` ([#2163](https://github.com/grain-lang/grain/issues/2163)) ([7542d92](https://github.com/grain-lang/grain/commit/7542d92590fb87e168225c5b5019528a32ffef64)) +* **stdlib:** Add `==` operator to `Queue` module ([#1931](https://github.com/grain-lang/grain/issues/1931)) ([3c0ea18](https://github.com/grain-lang/grain/commit/3c0ea189298d9bc4f14824a76814e9181e57a879)) +* **stdlib:** Add `abs`, `neg`, `isNaN`, `isInfinite` to `Float32` ([#2116](https://github.com/grain-lang/grain/issues/2116)) ([fb1d481](https://github.com/grain-lang/grain/commit/fb1d481715974c6639588a9a72d4739516319e40)) +* **stdlib:** Add `abs`, `neg`, `isNaN`, `isInfinite` to `Float64` ([#2117](https://github.com/grain-lang/grain/issues/2117)) ([9469346](https://github.com/grain-lang/grain/commit/9469346fa26a4df4188e53f8994d5692286d2e9f)) +* **stdlib:** Add `addCharFromCodePoint` to Buffer module ([#1883](https://github.com/grain-lang/grain/issues/1883)) ([18b553a](https://github.com/grain-lang/grain/commit/18b553a6f69876941bc7153c4e44d4db5547d86b)) +* **stdlib:** Add `Array.tryInit` ([#2209](https://github.com/grain-lang/grain/issues/2209)) ([218ff78](https://github.com/grain-lang/grain/commit/218ff780c824a12bbfa2a78c12d84a66e65a4931)) +* **stdlib:** Add `asin`, `acos`, `atan`, `isClose` to Number module ([#1699](https://github.com/grain-lang/grain/issues/1699)) ([353b544](https://github.com/grain-lang/grain/commit/353b544948861d39cbeef97273f661eed2e9748d)) +* **stdlib:** Add `atan2` to the `Number` module ([#2016](https://github.com/grain-lang/grain/issues/2016)) ([145b783](https://github.com/grain-lang/grain/commit/145b783f234d9f6d6bdbe730877a5a53d125cb93)) +* **stdlib:** Add `Buffer.getChar` ([#2262](https://github.com/grain-lang/grain/issues/2262)) ([95d03cb](https://github.com/grain-lang/grain/commit/95d03cb97e67c05d0e7464a847cb8b0724bb28c8)) +* **stdlib:** Add `Bytes.setChar` and `Bytes.getChar` ([#2215](https://github.com/grain-lang/grain/issues/2215)) ([4919ba3](https://github.com/grain-lang/grain/commit/4919ba3fbf584eecd2c9db40ee74ac0c70bf92bd)) +* **stdlib:** Add `Char.encodedLength` ([#2238](https://github.com/grain-lang/grain/issues/2238)) ([c549fac](https://github.com/grain-lang/grain/commit/c549facdd1cc8efb2d20e7efeb512e19e4a9fbab)) +* **stdlib:** Add `chunk` function to Array module ([#1708](https://github.com/grain-lang/grain/issues/1708)) ([fba7c1d](https://github.com/grain-lang/grain/commit/fba7c1d18447917d7544e780353684452321b38e)) +* **stdlib:** Add `copySign`, `sqrt`, `min`, `max`, `round`, `trunc`, `floor`, `ceil` to `Float32` ([#2161](https://github.com/grain-lang/grain/issues/2161)) ([f5a3dd3](https://github.com/grain-lang/grain/commit/f5a3dd363bb13c478e36049a3edac33576c90f4f)) +* **stdlib:** Add `copySign`, `sqrt`, `min`, `max`, `round`, `trunc`, `floor`, `ceil` to `Float64` ([#2162](https://github.com/grain-lang/grain/issues/2162)) ([e99dcba](https://github.com/grain-lang/grain/commit/e99dcbae2ecee346587c6d5d6d77dfd4b358521b)) +* **stdlib:** Add `empty` constant to ImmutablePriorityQueue module ([427335f](https://github.com/grain-lang/grain/commit/427335fa5c211445f727a650ca06adacfe9c5310)) +* **stdlib:** Add `empty` constant to Queue module ([427335f](https://github.com/grain-lang/grain/commit/427335fa5c211445f727a650ca06adacfe9c5310)) +* **stdlib:** Add `empty` constant to Stack module ([427335f](https://github.com/grain-lang/grain/commit/427335fa5c211445f727a650ca06adacfe9c5310)) +* **stdlib:** Add `Exception.toString` ([#2143](https://github.com/grain-lang/grain/issues/2143)) ([0894dc5](https://github.com/grain-lang/grain/commit/0894dc551c4aad678e39e9de29919bb17a0ea23e)) +* **stdlib:** Add `exp` function to Number module ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add `factorial` function to Number module ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add `forEachChar`, `forEachCharI`, `map` and `mapi` to String module ([#1864](https://github.com/grain-lang/grain/issues/1864)) ([4305e82](https://github.com/grain-lang/grain/commit/4305e829e160c6d2e49a249e3ec19baaa3c33744)) +* **stdlib:** Add `fromArray` to `Queue` module ([#1932](https://github.com/grain-lang/grain/issues/1932)) ([1c35a94](https://github.com/grain-lang/grain/commit/1c35a9438008d40c8d3a49810131c69d9b8b97a0)) +* **stdlib:** Add `gamma` function to Number module ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add `ImmutableArray` module ([#1477](https://github.com/grain-lang/grain/issues/1477)) ([a34d8b9](https://github.com/grain-lang/grain/commit/a34d8b9e8ce629c40d65b99561c0f41fa400542e)) +* **stdlib:** Add `infinity` constant to the Number module ([c24f6c1](https://github.com/grain-lang/grain/commit/c24f6c1cfae87632a003c0337c29ec98a80cfda2)) +* **stdlib:** Add `isEmpty` to `List` module ([#1860](https://github.com/grain-lang/grain/issues/1860)) ([7362189](https://github.com/grain-lang/grain/commit/736218950e7433512554f1b5fea4bc5cbfe97160)) +* **stdlib:** add `isEmpty` to `String` module ([#1861](https://github.com/grain-lang/grain/issues/1861)) ([e8cb932](https://github.com/grain-lang/grain/commit/e8cb93298cf8776876efc7972f09f0eef2d57c58)) +* **stdlib:** Add `isFinite`, `isClose`, `sin`, `cos`, `tan` to Float32 ([#2168](https://github.com/grain-lang/grain/issues/2168)) ([bdb4641](https://github.com/grain-lang/grain/commit/bdb46410f1967e1d063c4a1edad27fa19381f9de)) +* **stdlib:** Add `isFinite`, `isClose`, `sin`, `cos`, `tan` to Float64 ([#2166](https://github.com/grain-lang/grain/issues/2166)) ([fa728d2](https://github.com/grain-lang/grain/commit/fa728d24437593f1eb60d65131d990ece27a5f30)) +* **stdlib:** Add `Json` module ([#1133](https://github.com/grain-lang/grain/issues/1133)) ([5a6e4c6](https://github.com/grain-lang/grain/commit/5a6e4c6111ff84b3249436d485d4c45ef0a89d61)) +* **stdlib:** Add `linearInterpolate`, `linearMap` and `clamp` ([#1707](https://github.com/grain-lang/grain/issues/1707)) ([15842a1](https://github.com/grain-lang/grain/commit/15842a1030e9c0937d7cd697508b083ae06315a7)) +* **stdlib:** Add `List.filterMap`, `List.filterMapi`, `List.findMap` ([#2201](https://github.com/grain-lang/grain/issues/2201)) ([551f5ad](https://github.com/grain-lang/grain/commit/551f5adf8f36e601657fbdda7e3c546acd71f916)) +* **stdlib:** Add `nan` constant to the Number module ([c24f6c1](https://github.com/grain-lang/grain/commit/c24f6c1cfae87632a003c0337c29ec98a80cfda2)) +* **stdlib:** Add `parse` function to Number module ([#1517](https://github.com/grain-lang/grain/issues/1517)) ([59e89d1](https://github.com/grain-lang/grain/commit/59e89d12b7fcf2626c8adb45c742a787171b7024)) +* **stdlib:** Add `parseFloat` function to Number module ([#1288](https://github.com/grain-lang/grain/issues/1288)) ([e21f2b1](https://github.com/grain-lang/grain/commit/e21f2b137f7dcd67cccf9debf695db852dc2afc5)) +* **stdlib:** add `Path.removeExtension` ([#2226](https://github.com/grain-lang/grain/issues/2226)) ([7b7acfd](https://github.com/grain-lang/grain/commit/7b7acfd5b7e12d2d490b9f3ff3b28911ef9240e7)) +* **stdlib:** Add `Path.updateExtension` ([#2282](https://github.com/grain-lang/grain/issues/2282)) ([6d795d0](https://github.com/grain-lang/grain/commit/6d795d059fcc6107719e4149ee4697a10a5941a8)) +* **stdlib:** Add `pow` function to Number module ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add `print` suffix default argument ([#1768](https://github.com/grain-lang/grain/issues/1768)) ([6701170](https://github.com/grain-lang/grain/commit/6701170a1ecd91a8b7cb566d2ff99402d24c18e1)) +* **stdlib:** Add `replaceAll` function to String module ([5606cd2](https://github.com/grain-lang/grain/commit/5606cd246583884175b135cbeb29024400651b34)) +* **stdlib:** Add `replaceFirst` function to String module ([5606cd2](https://github.com/grain-lang/grain/commit/5606cd246583884175b135cbeb29024400651b34)) +* **stdlib:** Add `replaceLast` function to String module ([5606cd2](https://github.com/grain-lang/grain/commit/5606cd246583884175b135cbeb29024400651b34)) +* **stdlib:** Add `split` function to Regex module ([#1469](https://github.com/grain-lang/grain/issues/1469)) ([0c1eb73](https://github.com/grain-lang/grain/commit/0c1eb73d01e30f457138c6e3b603a9faddcf8e9b)) +* **stdlib:** Add `splitAll` function to Regex module ([0c1eb73](https://github.com/grain-lang/grain/commit/0c1eb73d01e30f457138c6e3b603a9faddcf8e9b)) +* **stdlib:** Add `String.repeat` to `String` module ([#2140](https://github.com/grain-lang/grain/issues/2140)) ([6c33d08](https://github.com/grain-lang/grain/commit/6c33d08ddabdc57e27ddc9b5595d5ae1fd9bf37d)) +* **stdlib:** Add `tan` function to Number module ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add `toArray` to `Queue` ([#1930](https://github.com/grain-lang/grain/issues/1930)) ([7c865a4](https://github.com/grain-lang/grain/commit/7c865a46811ee078325f55ebcaa054c9f1920ff6)) +* **stdlib:** Add `toDegrees` function to Number module ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add `toIntegerRatio` and `fromIntegerRatio` to Rational Library ([#1746](https://github.com/grain-lang/grain/issues/1746)) ([008a735](https://github.com/grain-lang/grain/commit/008a735051c02fbcd7bd47d7735937a61afd0cd6)) +* **stdlib:** Add `toList` and `fromList` functions to `Queue` module ([#1866](https://github.com/grain-lang/grain/issues/1866)) ([7cdcf95](https://github.com/grain-lang/grain/commit/7cdcf953d451396e56122bcf062019171102d8d6)) +* **stdlib:** Add `toList`, `fromList`, `toArray`, `fromArray` to Stack ([#2198](https://github.com/grain-lang/grain/issues/2198)) ([b815bcd](https://github.com/grain-lang/grain/commit/b815bcd17fe083846b1b8aac94fd0ceffca544cc)) +* **stdlib:** Add `toRadians` function to Number module ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add `Uri` module ([#1970](https://github.com/grain-lang/grain/issues/1970)) ([5cf726e](https://github.com/grain-lang/grain/commit/5cf726edb06ef42a9c8c073fbd3407defe501a49)) +* **stdlib:** Add additional functions to Number module ([#1443](https://github.com/grain-lang/grain/issues/1443)) ([5af9a99](https://github.com/grain-lang/grain/commit/5af9a99b2ec3b4a2d6745cb22b70defe2b366cfa)) +* **stdlib:** Add an `Ascii` submodule to `Char` and move `isAscii`, `toUppercase`, `toLowercase` ([#2178](https://github.com/grain-lang/grain/issues/2178)) ([328cf01](https://github.com/grain-lang/grain/commit/328cf0168b07ac75b8a01e7e5cf4e7675b492acc)) +* **stdlib:** Add ASCII utilities to String, Char ([#1975](https://github.com/grain-lang/grain/issues/1975)) ([f65002d](https://github.com/grain-lang/grain/commit/f65002d8c16c927577a4593351882c0734dd9897)) +* **stdlib:** Add optimization for `Number.pow(Rational, Int)` ([#1716](https://github.com/grain-lang/grain/issues/1716)) ([67bee5c](https://github.com/grain-lang/grain/commit/67bee5c0982d35f0d6a1350e002b7062a498afe7)) +* **stdlib:** Add Path module for working with system paths ([#1452](https://github.com/grain-lang/grain/issues/1452)) ([900e976](https://github.com/grain-lang/grain/commit/900e976654565b3618e2215e9b7cefbda873d9a8)) +* **stdlib:** Add replacement functions to String module ([#1441](https://github.com/grain-lang/grain/issues/1441)) ([5606cd2](https://github.com/grain-lang/grain/commit/5606cd246583884175b135cbeb29024400651b34)) +* **stdlib:** Add user-friendly file system module ([#1966](https://github.com/grain-lang/grain/issues/1966)) ([c4f638e](https://github.com/grain-lang/grain/commit/c4f638eaf0f7049dd3cfec96791f7d7ba22531f6)) +* **stdlib:** Added `empty` constant to immutable data structures ([#1466](https://github.com/grain-lang/grain/issues/1466)) ([427335f](https://github.com/grain-lang/grain/commit/427335fa5c211445f727a650ca06adacfe9c5310)) +* **stdlib:** Change array rotation direction ([#1552](https://github.com/grain-lang/grain/issues/1552)) ([bbe56ad](https://github.com/grain-lang/grain/commit/bbe56ade517bd685d52384d32aecb94d25d379f7)) +* **stdlib:** Convert unsafe `Wasm` functions to operators ([#1734](https://github.com/grain-lang/grain/issues/1734)) ([114d17b](https://github.com/grain-lang/grain/commit/114d17be4463772bbc84ebc408e9cf2b482c6103)) +* **stdlib:** Faster memory allocator ([#2124](https://github.com/grain-lang/grain/issues/2124)) ([03e10c4](https://github.com/grain-lang/grain/commit/03e10c49d204a488f8bd56c7b7262e717ee61762)) +* **stdlib:** Handle printing of reference cycles ([#1844](https://github.com/grain-lang/grain/issues/1844)) ([49c854e](https://github.com/grain-lang/grain/commit/49c854eb428ebbe57db5a63d5e7f87faaded3159)) +* **stdlib:** Implement `fromArray` in PriorityQueue & ImmutablePriorityQueue modules ([#1451](https://github.com/grain-lang/grain/issues/1451)) ([d321f84](https://github.com/grain-lang/grain/commit/d321f84174fee2a340745a9f55994fbfa23f6c7a)) +* **stdlib:** Implement `reinterpret` between float and int values ([#2257](https://github.com/grain-lang/grain/issues/2257)) ([e3a4eac](https://github.com/grain-lang/grain/commit/e3a4eacb9a57caa6f45890d04233c7aa8abdfb08)) +* **stdlib:** Implement ImmutableMap and ImmutableSet ([#1414](https://github.com/grain-lang/grain/issues/1414)) ([b31120d](https://github.com/grain-lang/grain/commit/b31120d41be668c48b9bca9f2b944616371a8ab4)) +* **stdlib:** Improved efficiency of constructing a PriorityQueue from a List ([d321f84](https://github.com/grain-lang/grain/commit/d321f84174fee2a340745a9f55994fbfa23f6c7a)) +* **stdlib:** Json value access utils ([#2150](https://github.com/grain-lang/grain/issues/2150)) ([72cc978](https://github.com/grain-lang/grain/commit/72cc9784783731440cbb73196fc45c0fd77745f2)) +* **stdlib:** Make queue and stack mutable & provide Immutable submodules ([#1479](https://github.com/grain-lang/grain/issues/1479)) ([979a20c](https://github.com/grain-lang/grain/commit/979a20ce6b734b90bc38c11ee6a4534ea8e555b8)) +* **stdlib:** Move stdlib `sys` modules to `wasi` ([#2056](https://github.com/grain-lang/grain/issues/2056)) ([ca75e38](https://github.com/grain-lang/grain/commit/ca75e38a2bbadd1a5e51f7ab344994d62c96ca4f)) +* **stdlib:** Optimize `List.init` to support large lists ([#2249](https://github.com/grain-lang/grain/issues/2249)) ([3de64ba](https://github.com/grain-lang/grain/commit/3de64ba88cb3e18fedd60175ce2b5e03e3d398ce)) +* **stdlib:** Optimize string trimming ([#1442](https://github.com/grain-lang/grain/issues/1442)) ([0212247](https://github.com/grain-lang/grain/commit/0212247a7fbf0d54085959de2853f3fe66cd8b12)) +* **stdlib:** Provide empty byte array from Bytes.make ([#1729](https://github.com/grain-lang/grain/issues/1729)) ([fde3064](https://github.com/grain-lang/grain/commit/fde3064428fa2244e73932d5992ac722a26ebfe4)) +* **stdlib:** Reimplement `Number.gamma` and `Number.factorial` ([#2182](https://github.com/grain-lang/grain/issues/2182)) ([1e5f921](https://github.com/grain-lang/grain/commit/1e5f921a436de8e0705073083f2b9c8403a1e928)) +* **stdlib:** Reimplement `Number.sin`, `Number.cos`, `Number.tan` ([#2158](https://github.com/grain-lang/grain/issues/2158)) ([f97c011](https://github.com/grain-lang/grain/commit/f97c01168eebff400e5d7bb9020536d784fa1da2)) +* **stdlib:** Reorder parameters to `List.insert` ([#1857](https://github.com/grain-lang/grain/issues/1857)) ([973f3f3](https://github.com/grain-lang/grain/commit/973f3f34c39a4ac7a552e378b84020d5c647ce86)) +* **stdlib:** Replace `Float32` arithmatic/comparison functions with operators ([#1954](https://github.com/grain-lang/grain/issues/1954)) ([52cc15a](https://github.com/grain-lang/grain/commit/52cc15a5251cd0003fcfbe243c7b7c940a61d429)) +* **stdlib:** Replace `Float64` arithmatic/comparison functions with operators ([#1957](https://github.com/grain-lang/grain/issues/1957)) ([dea4cb5](https://github.com/grain-lang/grain/commit/dea4cb54d10b9cecbf54ed30048c0937bc38cea2)) +* **stdlib:** Replace `Int32` arithmatic functions with operators ([#1936](https://github.com/grain-lang/grain/issues/1936)) ([8a69dd3](https://github.com/grain-lang/grain/commit/8a69dd393e002585464029a42a4362b6edfee662)) +* **stdlib:** Replace `Int64` arithmatic functions with operators ([#1935](https://github.com/grain-lang/grain/issues/1935)) ([cfb909c](https://github.com/grain-lang/grain/commit/cfb909c60d55d94eb869c389da28a8b3a1bc502f)) +* **stdlib:** Replace `Result`/`Option` `and`/`or` functions with operators ([#1821](https://github.com/grain-lang/grain/issues/1821)) ([686de7e](https://github.com/grain-lang/grain/commit/686de7ec3c83d092c7a0407657695e1bc671abd7)) +* **stdlib:** Seeded hashing ([#2170](https://github.com/grain-lang/grain/issues/2170)) ([ce872ab](https://github.com/grain-lang/grain/commit/ce872ab718577ebd4d46857a2f3f7bb08c58efe4)) +* **stdlib:** Support zipping arrays of different sizes ([#1402](https://github.com/grain-lang/grain/issues/1402)) ([b8ae3d6](https://github.com/grain-lang/grain/commit/b8ae3d69c98ada45bc592fb3097f21bc8a0d40bd)) +* **stdlib:** Use Array length as default end in `Array.slice` function ([#1762](https://github.com/grain-lang/grain/issues/1762)) ([a698fdc](https://github.com/grain-lang/grain/commit/a698fdc55ef45e8b0d156d5bb3cacc9e21d758ac)) +* **stdlib:** Use String length as default end in `String.slice` function ([#1748](https://github.com/grain-lang/grain/issues/1748)) ([b7c41a6](https://github.com/grain-lang/grain/commit/b7c41a6421dd0392bfec9f1791d9314556af9318)) + + +### Bug Fixes + +* **compiler:** Allow early return in let bindings ([#1727](https://github.com/grain-lang/grain/issues/1727)) ([43adefe](https://github.com/grain-lang/grain/commit/43adefe7ff7e4ca7ba6f6f80889f66b557451888)) +* **compiler:** Allow proper disambiguation of enum variants ([#2068](https://github.com/grain-lang/grain/issues/2068)) ([f3007b4](https://github.com/grain-lang/grain/commit/f3007b479c85d408dd93d90e968300459c823cf3)) +* **compiler:** Allow providing values of types provided later ([#1897](https://github.com/grain-lang/grain/issues/1897)) ([1c43bd6](https://github.com/grain-lang/grain/commit/1c43bd60395b9ff024d9e8ebbbe6d517c2e30051)) +* **compiler:** Allow reproviding from submodules ([#1888](https://github.com/grain-lang/grain/issues/1888)) ([97c00e1](https://github.com/grain-lang/grain/commit/97c00e1e47bc783c6dad71b605f4a0d2ae3d11b9)) +* **compiler:** Apply correct rules for parsing Unicode whitespace ([#1554](https://github.com/grain-lang/grain/issues/1554)) ([4f19d71](https://github.com/grain-lang/grain/commit/4f19d71b6bbe7f2094fadbb9fbd99f1fd62e80ae)) +* **compiler:** Correct `in_function` state when typing record properties ([#2205](https://github.com/grain-lang/grain/issues/2205)) ([d9dd274](https://github.com/grain-lang/grain/commit/d9dd274d473fbb88968adf80fa32bbc5bcee8700)) +* **compiler:** Correct `Include_module_name_mismatch` error ([#2261](https://github.com/grain-lang/grain/issues/2261)) ([ef77a31](https://github.com/grain-lang/grain/commit/ef77a31d33c3481340403992f0611c5dec96a15c)) +* **compiler:** Correct impossible bug on nested char pattern ([#2310](https://github.com/grain-lang/grain/issues/2310)) ([cd3267c](https://github.com/grain-lang/grain/commit/cd3267ca00ab0f5499445cccaccc6049b27688a2)) +* **compiler:** Correct location of parmatch mismatch type error ([#2259](https://github.com/grain-lang/grain/issues/2259)) ([eb85692](https://github.com/grain-lang/grain/commit/eb85692c0a9f3cd72baf609f21a21e6557435f8e)) +* **compiler:** Correct locations for data constructor idents ([#1752](https://github.com/grain-lang/grain/issues/1752)) ([d015a97](https://github.com/grain-lang/grain/commit/d015a978d7969994d09b7050f9f358fc5bba9d23)) +* **compiler:** Correct the warning suggestion for Float32 And Float64 values ([#1671](https://github.com/grain-lang/grain/issues/1671)) ([32e0397](https://github.com/grain-lang/grain/commit/32e03972660b451ad6f068281aee08ad0d958c27)) +* **compiler:** Correct type approximation on recursive functions ([#2154](https://github.com/grain-lang/grain/issues/2154)) ([b0fb040](https://github.com/grain-lang/grain/commit/b0fb0405cb7e295abd544792a613f127ff96dd75)) +* **compiler:** Correct type printing of `type A<a> = a` ([#2302](https://github.com/grain-lang/grain/issues/2302)) ([ac892d1](https://github.com/grain-lang/grain/commit/ac892d1f9a96d570aff122d82e22a2df8c5177ee)) +* **compiler:** Correctly handle and backpatch mutually recursive closure scope functions ([#1808](https://github.com/grain-lang/grain/issues/1808)) ([c2a0c5b](https://github.com/grain-lang/grain/commit/c2a0c5baa7664a38ded3977455b8b9c2588c5034)) +* **compiler:** Disallow enum variants with parens but no types ([#1809](https://github.com/grain-lang/grain/issues/1809)) ([25e4946](https://github.com/grain-lang/grain/commit/25e494680ac048125748e9f696df83de974b9e72)) +* **compiler:** Disallow multiple `provide`s of the same value ([#1689](https://github.com/grain-lang/grain/issues/1689)) ([7ab7ddc](https://github.com/grain-lang/grain/commit/7ab7ddc1c7e9eae221edcf787b733ef7acf97904)) +* **compiler:** Don't trigger recompilation for unnecessary compiler flags ([#2106](https://github.com/grain-lang/grain/issues/2106)) ([4275c17](https://github.com/grain-lang/grain/commit/4275c17c556d2a29963b2c657b16c45c2342f881)) +* **compiler:** Ensure constant number locations are propagated correctly when parsing ([#2044](https://github.com/grain-lang/grain/issues/2044)) ([53a33e6](https://github.com/grain-lang/grain/commit/53a33e6c97d5ddf17fc88480622d993b1c86e631)) +* **compiler:** Ensure refcounts are maintained when tail calls use arguments multiple times ([#1993](https://github.com/grain-lang/grain/issues/1993)) ([86c6e12](https://github.com/grain-lang/grain/commit/86c6e12e0ab1f48347cfd57d3cb328fe1f6fac15)) +* **compiler:** Ensure reprovided types unify ([#2051](https://github.com/grain-lang/grain/issues/2051)) ([4c3203c](https://github.com/grain-lang/grain/commit/4c3203c9fd842f6f10bae8fcd41b889733ac3d7d)) +* **compiler:** Ensure the extension is chopped in the case of module name error ([#2060](https://github.com/grain-lang/grain/issues/2060)) ([5c79c84](https://github.com/grain-lang/grain/commit/5c79c8487b522c4f89ea4994105426b46d2bd04a)) +* **compiler:** Fix 'inconsistent assumptions over interface' bug ([#2253](https://github.com/grain-lang/grain/issues/2253)) ([66e5929](https://github.com/grain-lang/grain/commit/66e5929b0a511e211c427723364c4ebaf23e28da)) +* **compiler:** Fix array infix assign semantics ([#2080](https://github.com/grain-lang/grain/issues/2080)) ([bea360d](https://github.com/grain-lang/grain/commit/bea360d2527d8ae8904a2dc0b5a8a96b26338314)) +* **compiler:** Fix dependency compilation of wasi polyfill ([#1563](https://github.com/grain-lang/grain/issues/1563)) ([fa8b209](https://github.com/grain-lang/grain/commit/fa8b209629deeb9f088d086311504dbde8371189)) +* **compiler:** Fix disambiguation of record label access ([#2072](https://github.com/grain-lang/grain/issues/2072)) ([1f8a20d](https://github.com/grain-lang/grain/commit/1f8a20df9b5d34d91a0c241e7975798dc7a3bba8)) +* **compiler:** Fix error location reporting of unbound modules and labels ([#1577](https://github.com/grain-lang/grain/issues/1577)) ([5146b14](https://github.com/grain-lang/grain/commit/5146b145468f280ea39af276d8b345c17a0595da)) +* **compiler:** Fix memory bug in universal exports ([#1663](https://github.com/grain-lang/grain/issues/1663)) ([87724f0](https://github.com/grain-lang/grain/commit/87724f0a2c1e0697a138ebb3f2ba98a337be88f5)) +* **compiler:** Fix precedence of `>>` operator ([#1515](https://github.com/grain-lang/grain/issues/1515)) ([1565c16](https://github.com/grain-lang/grain/commit/1565c16e98dd5c137fb852d23f890f8d7c70d352)) +* **compiler:** Fully expand types when finding concrete representation ([#1448](https://github.com/grain-lang/grain/issues/1448)) ([a5ff379](https://github.com/grain-lang/grain/commit/a5ff379f15a0839671d8d0e10c3334658e3fbafc)) +* **compiler:** Handle non-exhaustive record patterns ([#2274](https://github.com/grain-lang/grain/issues/2274)) ([0431e74](https://github.com/grain-lang/grain/commit/0431e74b1e0a02ec22fd46871aa5f5f8d8dd1649)) +* **compiler:** Inline record exception constructors ([#1709](https://github.com/grain-lang/grain/issues/1709)) ([ffd4d44](https://github.com/grain-lang/grain/commit/ffd4d44d0d341f9c835d24cbebe0ac4e317fe93b)) +* **compiler:** Panic immediately when out of memory ([#1450](https://github.com/grain-lang/grain/issues/1450)) ([943d47d](https://github.com/grain-lang/grain/commit/943d47dddde2d88fd96727e9d7ed8501efec42ef)) +* **compiler:** Prevent impossible string error from pattern matching ([#2218](https://github.com/grain-lang/grain/issues/2218)) ([a1caf87](https://github.com/grain-lang/grain/commit/a1caf87c2141c27a026813d9d2af9dcbb3d21a7b)) +* **compiler:** Prevent stack overflows when compiling long blocks ([#1534](https://github.com/grain-lang/grain/issues/1534)) ([dc6d699](https://github.com/grain-lang/grain/commit/dc6d699cffeefa71ef2898c484f840c991f66c7a)) +* **compiler:** Properly apply well-formedness checks on patterns ([#1989](https://github.com/grain-lang/grain/issues/1989)) ([00abee8](https://github.com/grain-lang/grain/commit/00abee89e5dd40d658ff44b72c8c9ffc576cd628)) +* **compiler:** Properly encode hex values in Bytes literals ([#2088](https://github.com/grain-lang/grain/issues/2088)) ([263993d](https://github.com/grain-lang/grain/commit/263993dedf4e13bb74e562133c52db7ebf8ba1c0)) +* **compiler:** Properly handle parsing return of negative number ([#1611](https://github.com/grain-lang/grain/issues/1611)) ([0a5a97c](https://github.com/grain-lang/grain/commit/0a5a97c8fb7cfd3f6ac068fb343e66457381fc13)) +* **compiler:** Properly parse large hex numbers ([#1546](https://github.com/grain-lang/grain/issues/1546)) ([5f8d770](https://github.com/grain-lang/grain/commit/5f8d770ec60b686c3183bd8a200800c3f03e8e30)) +* **compiler:** Provide appropriate error during invalid array access ([#1556](https://github.com/grain-lang/grain/issues/1556)) ([3d7b9e3](https://github.com/grain-lang/grain/commit/3d7b9e3d99b2639b46080e1c564d1453cd80f666)) +* **compiler:** Provide appropriate error for empty char literals ([#1728](https://github.com/grain-lang/grain/issues/1728)) ([e4dcda8](https://github.com/grain-lang/grain/commit/e4dcda8615b0c611ec201ac5f315e99b3ba1bfb3)) +* **compiler:** Provide full module interface in intermediate wasm files ([#1756](https://github.com/grain-lang/grain/issues/1756)) ([683f803](https://github.com/grain-lang/grain/commit/683f803885e1ea073b7693dc1446b379fc49d311)) +* **compiler:** Raise appropriate error on unbound export ([#1528](https://github.com/grain-lang/grain/issues/1528)) ([43d512d](https://github.com/grain-lang/grain/commit/43d512dbcfb61cd10674a83658ed23b4e0ea8898)) +* **compiler:** Raise appropriate exception when modules are missing during dependency graph construction ([#1485](https://github.com/grain-lang/grain/issues/1485)) ([d8cd8f1](https://github.com/grain-lang/grain/commit/d8cd8f11aec66eb257bd1cfc9f7884dcd787efd6)) +* **compiler:** Re-providing types ([#1874](https://github.com/grain-lang/grain/issues/1874)) ([6df9eb2](https://github.com/grain-lang/grain/commit/6df9eb24b740975be179cccee2bf70bac2414f33)) +* **compiler:** Reduce stack usage when allocating lists ([#2214](https://github.com/grain-lang/grain/issues/2214)) ([cad45e4](https://github.com/grain-lang/grain/commit/cad45e4b514a2e86867953e9782b348ce49dfaef)) +* **compiler:** Remove number constant folding optimization ([#1676](https://github.com/grain-lang/grain/issues/1676)) ([181798d](https://github.com/grain-lang/grain/commit/181798db69e708c69ca08a24785de7c03b9c45ab)) +* **compiler:** Remove static runtime pointers ([#1806](https://github.com/grain-lang/grain/issues/1806)) ([8d76dc9](https://github.com/grain-lang/grain/commit/8d76dc917cf109e3b8496faca565fd9904fa0b22)) +* **compiler:** Resolve Not_found for use statements with module aliases ([#2285](https://github.com/grain-lang/grain/issues/2285)) ([fd2dbef](https://github.com/grain-lang/grain/commit/fd2dbefd4e950eef94aac9a19f6eafa2cb5f930e)) +* **compiler:** Set maximum wasm table size ([#2061](https://github.com/grain-lang/grain/issues/2061)) ([e8d643c](https://github.com/grain-lang/grain/commit/e8d643c39ea905afc6a4d7ceba215bf7876f15cf)) +* **compiler:** Stabilize CRC checks ([#2101](https://github.com/grain-lang/grain/issues/2101)) ([fc19761](https://github.com/grain-lang/grain/commit/fc19761e9f7e6c3d1cb54a308de721b17d25e12e)) +* **compiler:** Supply correct locations for attributes ([#2048](https://github.com/grain-lang/grain/issues/2048)) ([b19df94](https://github.com/grain-lang/grain/commit/b19df94191e325def4c1ec8f9afb8cac4dcf56e0)) +* **compiler:** Support deeply nested types in modules ([#1673](https://github.com/grain-lang/grain/issues/1673)) ([b6651bb](https://github.com/grain-lang/grain/commit/b6651bbc589810dcea123920d9257d339307ed3d)) +* **compiler:** Type aliasing in `use` statements ([#1887](https://github.com/grain-lang/grain/issues/1887)) ([79ab814](https://github.com/grain-lang/grain/commit/79ab81404f38cc347c719ecd1c50b9658d424aaa)) +* **compiler:** Write universal exports on linked module ([#2234](https://github.com/grain-lang/grain/issues/2234)) ([2dba010](https://github.com/grain-lang/grain/commit/2dba010ef640fbe821c45c690d28dd85e3016095)) +* Fix String.ReplaceAll ([#1705](https://github.com/grain-lang/grain/issues/1705)) ([d3af004](https://github.com/grain-lang/grain/commit/d3af0049f6910b10065ddd72c46e5364fe53c4ff)) +* **grainc:** Correct behaviour of `-o` flag ([#2270](https://github.com/grain-lang/grain/issues/2270)) ([3124ede](https://github.com/grain-lang/grain/commit/3124ede080f04b72c680a726cfe97d5fdac68e92)) +* **graindoc:** Escape * characters that would close markdown bold incorrectly ([3b6b5ca](https://github.com/grain-lang/grain/commit/3b6b5ca74e3b40a41206ba5f3d527166ea267ada)) +* **graindoc:** Escape * chars that would close markdown bold incorrectly ([#1685](https://github.com/grain-lang/grain/issues/1685)) ([3b6b5ca](https://github.com/grain-lang/grain/commit/3b6b5ca74e3b40a41206ba5f3d527166ea267ada)) +* **graindoc:** Use Markdown bold helper for each case of bolding ([#1695](https://github.com/grain-lang/grain/issues/1695)) ([d798433](https://github.com/grain-lang/grain/commit/d798433fbb99eace2f100c0cd94c78eb99b0cf93)) +* **grainfmt:** Add parentheses around some binops for precedence clarity ([#1514](https://github.com/grain-lang/grain/issues/1514)) ([3ac27cc](https://github.com/grain-lang/grain/commit/3ac27cc6e17b896dae0ef2cb5f5de510c7c2dd60)) +* **grainfmt:** Avoid duplicating comments inside records ([#1428](https://github.com/grain-lang/grain/issues/1428)) ([b993030](https://github.com/grain-lang/grain/commit/b99303013698312ff936519645698c05e1bfd807)) +* **grainfmt:** correct fmt of operator funcs applied with labeled args ([#2251](https://github.com/grain-lang/grain/issues/2251)) ([30f5cc3](https://github.com/grain-lang/grain/commit/30f5cc3987ad42be2fa31c59b356d31cb7bb5590)) +* **grainfmt:** Correct formatting of nested constraints ([#2245](https://github.com/grain-lang/grain/issues/2245)) ([bdb7f7c](https://github.com/grain-lang/grain/commit/bdb7f7caf72e3f24c43586354044a7940c0e51a9)) +* **grainfmt:** Correct formatting of submodules ending with comments ([#2288](https://github.com/grain-lang/grain/issues/2288)) ([f969df9](https://github.com/grain-lang/grain/commit/f969df9816bf2c4aa22bc2a658de1f1d743a32b9)) +* **grainfmt:** Ensure constraints and keyword functions group properly ([#2070](https://github.com/grain-lang/grain/issues/2070)) ([12281ad](https://github.com/grain-lang/grain/commit/12281ade6e209fcceb8dbe3afc59a1c996e2d216)) +* **grainfmt:** Fix formatting of `default` argument types ([#2081](https://github.com/grain-lang/grain/issues/2081)) ([0c15e4a](https://github.com/grain-lang/grain/commit/0c15e4ab9b924489a28a9cd105c38d9388ba6524)) +* **grainfmt:** Fix formatting of function types with a single tuple arg ([#2230](https://github.com/grain-lang/grain/issues/2230)) ([13ac7fa](https://github.com/grain-lang/grain/commit/13ac7fadc031039aa3661054161c3b1b5e3b1564)) +* **grainfmt:** Fix grouping of expressions on LHS of fn application, record access etc ([#1562](https://github.com/grain-lang/grain/issues/1562)) ([6c46015](https://github.com/grain-lang/grain/commit/6c460156335cd3e864eb71f05f83fe6a8f8593ae)) +* **grainfmt:** Fix printing of qualified infix operators ([#2071](https://github.com/grain-lang/grain/issues/2071)) ([c22932d](https://github.com/grain-lang/grain/commit/c22932d57e41c5ac9cc622aa58ab7c0ef37c6441)) +* **grainfmt:** Group expressions inside array accessors ([#1462](https://github.com/grain-lang/grain/issues/1462)) ([dd11dd4](https://github.com/grain-lang/grain/commit/dd11dd4191f9369bff195dc71bd1660b57d222af)) +* **grainfmt:** Handle chained value bindings properly ([#1467](https://github.com/grain-lang/grain/issues/1467)) ([07bfcd3](https://github.com/grain-lang/grain/commit/07bfcd3f15c34ef99b05531591b1473f206b7395)) +* **grainfmt:** Handle comment in or near if conditionals better ([#1513](https://github.com/grain-lang/grain/issues/1513)) ([8a60985](https://github.com/grain-lang/grain/commit/8a609854ffe40f55e0d147655f6991b7efc3be50)) +* **grainfmt:** Handle comments after braces properly ([654ab8c](https://github.com/grain-lang/grain/commit/654ab8cd946ea99261e37d85ea76bc9a49325311)) +* **grainfmt:** Handle comments after braces properly when on one line ([#1578](https://github.com/grain-lang/grain/issues/1578)) ([654ab8c](https://github.com/grain-lang/grain/commit/654ab8cd946ea99261e37d85ea76bc9a49325311)) +* **grainfmt:** Handle comments within lists ([#1429](https://github.com/grain-lang/grain/issues/1429)) ([05b5f52](https://github.com/grain-lang/grain/commit/05b5f525fea50db20b49b4b5cb88c4b0259d2805)) +* **grainfmt:** Handle multiple line items and comments better ([#1460](https://github.com/grain-lang/grain/issues/1460)) ([5395fd4](https://github.com/grain-lang/grain/commit/5395fd45b79fb3bcf3dd1ec52a1d5973a23a4bdc)) +* **grainfmt:** Indent lines when wrapping infix operators ([#1465](https://github.com/grain-lang/grain/issues/1465)) ([d705849](https://github.com/grain-lang/grain/commit/d705849ea8d9073e608576b77adeae834c454e0b)) +* **grainfmt:** Maintain comments in function arguments ([#1527](https://github.com/grain-lang/grain/issues/1527)) ([6ad6dc1](https://github.com/grain-lang/grain/commit/6ad6dc12a15d2166277d990bca49f66b5177e0f9)) +* **grainfmt:** Print comments found between comma-separated data statements ([#1430](https://github.com/grain-lang/grain/issues/1430)) ([be4b38d](https://github.com/grain-lang/grain/commit/be4b38d87b0ee6ff4544264b8bad4e36820808a2)) +* **grainfmt:** Properly handle coalesing operator ([#1568](https://github.com/grain-lang/grain/issues/1568)) ([4595f97](https://github.com/grain-lang/grain/commit/4595f97d8013a57bccfd09138d3351e94887a6ba)) +* **grainfmt:** Reduce binop format time ([#1482](https://github.com/grain-lang/grain/issues/1482)) ([e850455](https://github.com/grain-lang/grain/commit/e850455ff8dff5844de128637b42e8b8dcb7daf0)) +* **grainlsp:** Prevent LSP crash on startup when running in JS ([#2084](https://github.com/grain-lang/grain/issues/2084)) ([e99cf1f](https://github.com/grain-lang/grain/commit/e99cf1f7b160d54930e14479c55cc365c86678c8)) +* **grainlsp:** Properly surface errors in other files ([#1490](https://github.com/grain-lang/grain/issues/1490)) ([6a09953](https://github.com/grain-lang/grain/commit/6a099533ffecb801f3ccbcc9c66a57a86737a90c)) +* **lsp:** Add test harness, update named arg code action title, fix code action trigger points, do not print LSP warnings ([#2134](https://github.com/grain-lang/grain/issues/2134)) ([36c0bb8](https://github.com/grain-lang/grain/commit/36c0bb826584eb1129dc2c2c66c3326aade4e75e)) +* **lsp:** Correct use argument label code_action with inferred funcs ([#2283](https://github.com/grain-lang/grain/issues/2283)) ([7d4fd44](https://github.com/grain-lang/grain/commit/7d4fd4412ed4f2b9e33b7faa9ac3889c3d15872b)) +* **lsp:** Ensure file changes update lsp state ([#2267](https://github.com/grain-lang/grain/issues/2267)) ([031e39a](https://github.com/grain-lang/grain/commit/031e39aed1a1b0946954f5827da26802b390b220)) +* **lsp:** Fix lsp crash when hovering on function with default arg ([#1969](https://github.com/grain-lang/grain/issues/1969)) ([dd25d02](https://github.com/grain-lang/grain/commit/dd25d02675b93b36e17c1bfa37030c9cbff1dbb7)) +* **lsp:** Improve lsp behaviour on goto definition ([#1893](https://github.com/grain-lang/grain/issues/1893)) ([d822c87](https://github.com/grain-lang/grain/commit/d822c877ee4aa2f439e850ce017542a809672316)) +* **lsp:** Prevent crash on types not included from other modules ([#2137](https://github.com/grain-lang/grain/issues/2137)) ([865da8a](https://github.com/grain-lang/grain/commit/865da8a53e04f4e6a3367cad60b06edb024de0b9)) +* **lsp:** Prevent lsp crash when module cannot be found ([#2003](https://github.com/grain-lang/grain/issues/2003)) ([e4b97ea](https://github.com/grain-lang/grain/commit/e4b97ea51a6a8aab92b1cf43de578ef7eb65415d)) +* **lsp:** Use correct origin selection range ([#2146](https://github.com/grain-lang/grain/issues/2146)) ([ab3dde8](https://github.com/grain-lang/grain/commit/ab3dde8a29a7dc93b8e952407b9ce305f34bb15b)) +* **runtime:** Correct `Bi.toFloat64` rounding ([#2160](https://github.com/grain-lang/grain/issues/2160)) ([6755782](https://github.com/grain-lang/grain/commit/6755782948b9bd1bcf7cbf6ad7ad0a3d894bd1f6)) +* **runtime:** Handle bigint mul/div within Number correctly ([#1475](https://github.com/grain-lang/grain/issues/1475)) ([0fe8aa6](https://github.com/grain-lang/grain/commit/0fe8aa6a96a9c5ebf2f2bf2e1f28578badfb337f)) +* **runtime:** Properly divide bigints in the number type ([59e89d1](https://github.com/grain-lang/grain/commit/59e89d12b7fcf2626c8adb45c742a787171b7024)) +* **stdlib:** Correct sign bit in `_rempio` when computing trig reduction ([#2181](https://github.com/grain-lang/grain/issues/2181)) ([6a78502](https://github.com/grain-lang/grain/commit/6a78502dfb9e52d0466cab090c958c0ffd3fb83f)) +* **stdlib:** Ensure `Array.fillRange` works with negative indexing & throws IndexOutOfBound ([#1761](https://github.com/grain-lang/grain/issues/1761)) ([3c3c4d9](https://github.com/grain-lang/grain/commit/3c3c4d9ced8168287ecbd23ee71948c5592e3b66)) +* **stdlib:** Ensure consistent marshal representation ([#2045](https://github.com/grain-lang/grain/issues/2045)) ([029059f](https://github.com/grain-lang/grain/commit/029059fbeed185a2e467a014bbc313fda4b87c5e)) +* **stdlib:** Error when `relativeTo` used on relative source and absolute dest ([#2054](https://github.com/grain-lang/grain/issues/2054)) ([1626a1f](https://github.com/grain-lang/grain/commit/1626a1fd8b621c6bcc359dab48b4495a0db21e14)) +* **stdlib:** Fix anchoring behavior in Regex.replaceAll ([#1440](https://github.com/grain-lang/grain/issues/1440)) ([d513eff](https://github.com/grain-lang/grain/commit/d513effe569d0aa0d44c974596fd285f1ad8d57d)) +* **stdlib:** Fix handling of `NaN` and `Infinity` in Number module ([#1457](https://github.com/grain-lang/grain/issues/1457)) ([c24f6c1](https://github.com/grain-lang/grain/commit/c24f6c1cfae87632a003c0337c29ec98a80cfda2)) +* **stdlib:** Fix NaN comparisons ([#1543](https://github.com/grain-lang/grain/issues/1543)) ([f7ceae7](https://github.com/grain-lang/grain/commit/f7ceae729260bc3c5eee017954aa7e242c3f8cb5)) +* **stdlib:** Optimize number modulo ([#2144](https://github.com/grain-lang/grain/issues/2144)) ([960fadd](https://github.com/grain-lang/grain/commit/960faddf4ed80a6d071c727c9640e0d7fb5b63e1)) +* **stdlib:** Properly handle extremely large integer bases in `Number.(**)` ([#1950](https://github.com/grain-lang/grain/issues/1950)) ([84c076f](https://github.com/grain-lang/grain/commit/84c076fb3b7b34a3fec6dfd2c527ca4833414ff4)) +* **stdlib:** Properly print `Range` values ([#2184](https://github.com/grain-lang/grain/issues/2184)) ([11b1fc2](https://github.com/grain-lang/grain/commit/11b1fc2ff089f08e9c4d350c1343ac04bdc68caa)) +* **stdlib:** Properly resize empty Queue on push ([#1865](https://github.com/grain-lang/grain/issues/1865)) ([f7727ef](https://github.com/grain-lang/grain/commit/f7727ef2158f63dc8c88a5b824b41e31495f0f51)) +* **stdlib:** Properly resize empty Stack on push ([#1867](https://github.com/grain-lang/grain/issues/1867)) ([b90d924](https://github.com/grain-lang/grain/commit/b90d924a38f8a7f82a7c972f8213ab9ec8561820)) +* **stdlib:** Remove extra space when converting Bytes to String ([#1800](https://github.com/grain-lang/grain/issues/1800)) ([543807b](https://github.com/grain-lang/grain/commit/543807b1156aecc93396c12121ada15f4d2bd046)) +* **stdlib:** Sys/File reading and writing operate on Bytes ([#1655](https://github.com/grain-lang/grain/issues/1655)) ([17cb28d](https://github.com/grain-lang/grain/commit/17cb28d25f4b1f2cf8943429136c863f66447675)) +* **stdlib:** Use correct casing for BigInt module name ([2ff9d9e](https://github.com/grain-lang/grain/commit/2ff9d9ec49c727778c6d0ee74219f746df8a11e2)) + + +### Miscellaneous Chores + +* **cli:** Require node `>=22.13` ([#2256](https://github.com/grain-lang/grain/issues/2256)) ([220bfc3](https://github.com/grain-lang/grain/commit/220bfc3ec527a27fdaf588551f2ca87b3326f5db)) +* **compiler:** Optimize type metadata loading ([#1741](https://github.com/grain-lang/grain/issues/1741)) ([a4519bc](https://github.com/grain-lang/grain/commit/a4519bc88d9fe12159495e995fcaa74834d5a361)) +* **compiler:** Remove built-in FileDescriptor type ([#1747](https://github.com/grain-lang/grain/issues/1747)) ([d40e84a](https://github.com/grain-lang/grain/commit/d40e84a74479dfb2676005e8496369d36e4eaaba)) +* **compiler:** Remove memory import from _genv ([#1830](https://github.com/grain-lang/grain/issues/1830)) ([c6693dd](https://github.com/grain-lang/grain/commit/c6693dde9ce99fc8606754b859a5cc41dda4a52f)) +* **compiler:** Remove recursive_types and principal config ([#1751](https://github.com/grain-lang/grain/issues/1751)) ([534bdca](https://github.com/grain-lang/grain/commit/534bdcafe463128eca499c558459a9882478fb2a)) +* **compiler:** Rename `_grainEnv` to `_genv` ([#1607](https://github.com/grain-lang/grain/issues/1607)) ([73c9499](https://github.com/grain-lang/grain/commit/73c94997c7bd08324398ea87498d2b498c5bf658)) +* **compiler:** Require floats always have a digit on left & right of dot ([#1703](https://github.com/grain-lang/grain/issues/1703)) ([b657e1c](https://github.com/grain-lang/grain/commit/b657e1cf68d4b20bfb06d662b1fc8687836e5104)) +* **graindoc:** Remove section attribute ([#1681](https://github.com/grain-lang/grain/issues/1681)) ([e969ad7](https://github.com/grain-lang/grain/commit/e969ad75e017785d12decbbf87651bd8c7dd286d)) +* Remove --parser-debug-level ([#1311](https://github.com/grain-lang/grain/issues/1311)) ([#1447](https://github.com/grain-lang/grain/issues/1447)) ([f78587a](https://github.com/grain-lang/grain/commit/f78587a734538d66dfae94abbb7566b25810352b)) +* Require node version >=18.15 for WASI support ([#1612](https://github.com/grain-lang/grain/issues/1612)) ([331ffc2](https://github.com/grain-lang/grain/commit/331ffc28b57e7e52fc9e360d1d85f81d3a172d06)) +* **stdlib:** Group mutable/immutable data structures ([#1652](https://github.com/grain-lang/grain/issues/1652)) ([f93afef](https://github.com/grain-lang/grain/commit/f93afef3785910ebbedcf780ce2d6109299c2e86)) +* **stdlib:** Remove `cons` and `empty` from Pervasives ([#1657](https://github.com/grain-lang/grain/issues/1657)) ([f6f02bc](https://github.com/grain-lang/grain/commit/f6f02bcb5a196f7f611ee6604f8585d429368314)) +* **stdlib:** Remove `sin`, `cos`, `tan`, `gamma`, `factorial` from `Number` module ([#2046](https://github.com/grain-lang/grain/issues/2046)) ([85c4389](https://github.com/grain-lang/grain/commit/85c4389dee9f0760e40639df5112294cb4cc44cb)) +* **stdlib:** Replace `parseInt` error strings with structured error enum ([#1755](https://github.com/grain-lang/grain/issues/1755)) ([ea26d18](https://github.com/grain-lang/grain/commit/ea26d1814558730507517d4939abed6767aaaf24)) +* **stdlib:** Replace bigint/number arithmetic functions with operators ([#1742](https://github.com/grain-lang/grain/issues/1742)) ([cbd46ee](https://github.com/grain-lang/grain/commit/cbd46ee99654d066690f1eb13bde8d882abed80f)) +* **stdlib:** Replace Number.nan & Number.infinity constants with keywords ([#1618](https://github.com/grain-lang/grain/issues/1618)) ([b437c13](https://github.com/grain-lang/grain/commit/b437c131aedcc4395080179b8e0d41ff6b2c95b2)) +* **stdlib:** Switch to using records for `getInternalStats` ([#1898](https://github.com/grain-lang/grain/issues/1898)) ([bdb119a](https://github.com/grain-lang/grain/commit/bdb119a8234409c5425a2f8678d53237eb7af850)) +* **stdlib:** Update Buffer/Bytes to use new integer types ([#1704](https://github.com/grain-lang/grain/issues/1704)) ([d508e5a](https://github.com/grain-lang/grain/commit/d508e5af7d66e8419370000030ee40194052301f)) +* **stdlib:** Update Operator `uint` operator Names ([#1738](https://github.com/grain-lang/grain/issues/1738)) ([decb053](https://github.com/grain-lang/grain/commit/decb0533e87cb8d617e27c0f5470a24c502dcfab)) +* **stdlib:** Use default arguments in more of stdlib ([#1772](https://github.com/grain-lang/grain/issues/1772)) ([f5e934f](https://github.com/grain-lang/grain/commit/f5e934fc658427b698cfb3919c9b2ac411a0ce45)) + ## [0.7.1](https://github.com/grain-lang/grain/compare/compiler-v0.7.0...compiler-v0.7.1) (2025-07-01) diff --git a/compiler/dune-project b/compiler/dune-project index b3a29e395..c5150b726 100644 --- a/compiler/dune-project +++ b/compiler/dune-project @@ -1,6 +1,6 @@ (lang dune 3.0) (name grain) -(version 0.7.1) +(version 0.8.0) (using menhir 2.0) ; Flip this to `true` when we want to generate opam files again diff --git a/compiler/esy.json b/compiler/esy.json index 8e2a789f6..dcfdf1975 100644 --- a/compiler/esy.json +++ b/compiler/esy.json @@ -1,6 +1,6 @@ { "name": "@grain/compiler", - "version": "0.7.1", + "version": "0.8.0", "esy": { "build": [ "dune build @native --no-buffer" diff --git a/compiler/package.json b/compiler/package.json index b36ebbd09..0dad0299f 100644 --- a/compiler/package.json +++ b/compiler/package.json @@ -1,7 +1,7 @@ { "name": "@grain/compiler", "private": true, - "version": "0.7.1", + "version": "0.8.0", "bin": { "grainc": "_esy/default/build/install/default/bin/grainc" }, diff --git a/package-lock.json b/package-lock.json index a5208db60..50911ec4e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "grain", - "version": "0.7.1", + "version": "0.8.0", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/package.json b/package.json index ff1d5aafe..022f8a066 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "grain", "private": true, - "version": "0.7.1", + "version": "0.8.0", "description": "The Grain monorepo.", "workspaces": [ "cli", diff --git a/stdlib/CHANGELOG.md b/stdlib/CHANGELOG.md index 1a0a54df0..2581157f8 100644 --- a/stdlib/CHANGELOG.md +++ b/stdlib/CHANGELOG.md @@ -1,5 +1,13 @@ # Changelog +## [0.8.0](https://github.com/grain-lang/grain/compare/stdlib-v0.7.1...stdlib-v0.8.0) (2025-11-14) + + +### Features + +* **compiler:** Use Binaryen's bulk memory polyfill ([#2334](https://github.com/grain-lang/grain/issues/2334)) ([1c5478e](https://github.com/grain-lang/grain/commit/1c5478e22a2cca7ff9f5198b768a2aa3c23fd4cf)) +* **stdlib:** Standardize `path` module examples ([#2325](https://github.com/grain-lang/grain/issues/2325)) ([c6e3cb0](https://github.com/grain-lang/grain/commit/c6e3cb052e5ec69be8037dc63bf39ee2630bbccc)) + ## [0.7.1](https://github.com/grain-lang/grain/compare/stdlib-v0.7.0...stdlib-v0.7.1) (2025-07-01) diff --git a/stdlib/package.json b/stdlib/package.json index b99432176..4e723172b 100644 --- a/stdlib/package.json +++ b/stdlib/package.json @@ -1,6 +1,6 @@ { "name": "@grain/stdlib", - "version": "0.7.1", + "version": "0.8.0", "description": "The standard library for the Grain language.", "license": "MIT", "homepage": "https://grain-lang.org", From 8a9e68f6910140b430d64cacaaf97dba8b390c35 Mon Sep 17 00:00:00 2001 From: Grain Bot Date: Fri, 14 Nov 2025 15:41:54 +0000 Subject: [PATCH 2/2] chore(stdlib): Regenerate markdown documentation