From 30d781d3ec6fa5aaee1351031d73995c4e6963e7 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 2 Mar 2025 20:45:55 +0000 Subject: [PATCH] chore: release main --- .release-please-manifest.json | 2 +- CHANGELOG.md | 66 +++++++++++++++++++++++++++++++++++ cli/CHANGELOG.md | 13 +++++++ cli/package.json | 4 +-- compiler/CHANGELOG.md | 64 +++++++++++++++++++++++++++++++++ compiler/dune-project | 2 +- compiler/esy.json | 2 +- compiler/package.json | 2 +- package-lock.json | 2 +- package.json | 2 +- stdlib/CHANGELOG.md | 48 +++++++++++++++++++++++++ stdlib/package.json | 2 +- 12 files changed, 200 insertions(+), 9 deletions(-) diff --git a/.release-please-manifest.json b/.release-please-manifest.json index 970b8b0d7..a0a5fabbf 100644 --- a/.release-please-manifest.json +++ b/.release-please-manifest.json @@ -1 +1 @@ -{".":"0.6.6","cli":"0.6.6","compiler":"0.6.6","stdlib":"0.6.6"} \ No newline at end of file +{".":"0.7.0","cli":"0.7.0","compiler":"0.7.0","stdlib":"0.7.0"} \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index a258c9535..628457099 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,71 @@ # Changelog +## [0.7.0](https://github.com/grain-lang/grain/compare/grain-v0.6.6...grain-v0.7.0) (2025-03-02) + + +### ⚠ BREAKING CHANGES + +* **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)) + +### Features + +* 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)) +* **cli:** Support node v22 and v23 ([#2207](https://github.com/grain-lang/grain/issues/2207)) ([130c494](https://github.com/grain-lang/grain/commit/130c494f307b9820ea84f07651b7b4cf8f5f1d0b)) +* **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:** Enable single-file compilation ([#2105](https://github.com/grain-lang/grain/issues/2105)) ([824b365](https://github.com/grain-lang/grain/commit/824b365fde51cf485a1ad21a6431611cb9ffe3e5)) +* **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:** 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)) +* **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)) +* Remove `->` token in favor of `=>` ([#2177](https://github.com/grain-lang/grain/issues/2177)) ([d0038d3](https://github.com/grain-lang/grain/commit/d0038d34e95f4357b06101cb14aae57a3b928b51)) +* **runtime:** Optimize `==` for lists ([#2247](https://github.com/grain-lang/grain/issues/2247)) ([1cba005](https://github.com/grain-lang/grain/commit/1cba005db44163e2d197c4af14f1c3d8997ebbf8)) +* **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)) +* **runtime:** Simplify `copy` and `fill` polyfills in `Memory` module ([#2148](https://github.com/grain-lang/grain/issues/2148)) ([1b3a9f0](https://github.com/grain-lang/grain/commit/1b3a9f07bd9749a4f67f12d1b58949476c2d6127)) +* **stdlib:** `List.Associative` Submodule ([#2202](https://github.com/grain-lang/grain/issues/2202)) ([fbb08bf](https://github.com/grain-lang/grain/commit/fbb08bf28683b05fb77a57af6a787907da070ef7)) +* **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 `Array.tryInit` ([#2209](https://github.com/grain-lang/grain/issues/2209)) ([218ff78](https://github.com/grain-lang/grain/commit/218ff780c824a12bbfa2a78c12d84a66e65a4931)) +* **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 `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 `Exception.toString` ([#2143](https://github.com/grain-lang/grain/issues/2143)) ([0894dc5](https://github.com/grain-lang/grain/commit/0894dc551c4aad678e39e9de29919bb17a0ea23e)) +* **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 `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 `Path.removeExtension` ([#2226](https://github.com/grain-lang/grain/issues/2226)) ([7b7acfd](https://github.com/grain-lang/grain/commit/7b7acfd5b7e12d2d490b9f3ff3b28911ef9240e7)) +* **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 `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 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 user-friendly file system module ([#1966](https://github.com/grain-lang/grain/issues/1966)) ([c4f638e](https://github.com/grain-lang/grain/commit/c4f638eaf0f7049dd3cfec96791f7d7ba22531f6)) +* **stdlib:** Json value access utils ([#2150](https://github.com/grain-lang/grain/issues/2150)) ([72cc978](https://github.com/grain-lang/grain/commit/72cc9784783731440cbb73196fc45c0fd77745f2)) +* **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:** 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:** Seeded hashing ([#2170](https://github.com/grain-lang/grain/issues/2170)) ([ce872ab](https://github.com/grain-lang/grain/commit/ce872ab718577ebd4d46857a2f3f7bb08c58efe4)) + + +### Bug Fixes + +* **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 type approximation on recursive functions ([#2154](https://github.com/grain-lang/grain/issues/2154)) ([b0fb040](https://github.com/grain-lang/grain/commit/b0fb0405cb7e295abd544792a613f127ff96dd75)) +* **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:** Reduce stack usage when allocating lists ([#2214](https://github.com/grain-lang/grain/issues/2214)) ([cad45e4](https://github.com/grain-lang/grain/commit/cad45e4b514a2e86867953e9782b348ce49dfaef)) +* **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:** 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)) +* **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:** 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)) +* **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:** Optimize number modulo ([#2144](https://github.com/grain-lang/grain/issues/2144)) ([960fadd](https://github.com/grain-lang/grain/commit/960faddf4ed80a6d071c727c9640e0d7fb5b63e1)) +* **stdlib:** Properly print `Range` values ([#2184](https://github.com/grain-lang/grain/issues/2184)) ([11b1fc2](https://github.com/grain-lang/grain/commit/11b1fc2ff089f08e9c4d350c1343ac04bdc68caa)) + ## [0.6.6](https://github.com/grain-lang/grain/compare/grain-v0.6.5...grain-v0.6.6) (2024-08-12) diff --git a/cli/CHANGELOG.md b/cli/CHANGELOG.md index 916828376..1d29a0a7f 100644 --- a/cli/CHANGELOG.md +++ b/cli/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +## [0.7.0](https://github.com/grain-lang/grain/compare/cli-v0.6.6...cli-v0.7.0) (2025-03-02) + + +### ⚠ BREAKING CHANGES + +* **compiler:** Custom Grain object files ([#2104](https://github.com/grain-lang/grain/issues/2104)) + +### Features + +* **cli:** Support node v22 and v23 ([#2207](https://github.com/grain-lang/grain/issues/2207)) ([130c494](https://github.com/grain-lang/grain/commit/130c494f307b9820ea84f07651b7b4cf8f5f1d0b)) +* **compiler:** Custom Grain object files ([#2104](https://github.com/grain-lang/grain/issues/2104)) ([4b56c53](https://github.com/grain-lang/grain/commit/4b56c535064e5ad8f68ca19af071d5e525a1a9aa)) +* **compiler:** Enable single-file compilation ([#2105](https://github.com/grain-lang/grain/issues/2105)) ([824b365](https://github.com/grain-lang/grain/commit/824b365fde51cf485a1ad21a6431611cb9ffe3e5)) + ## [0.6.6](https://github.com/grain-lang/grain/compare/cli-v0.6.5...cli-v0.6.6) (2024-08-12) diff --git a/cli/package.json b/cli/package.json index 17262f6b3..96204ef56 100644 --- a/cli/package.json +++ b/cli/package.json @@ -1,6 +1,6 @@ { "name": "@grain/cli", - "version": "0.6.6", + "version": "0.7.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.6.6", + "@grain/stdlib": "0.7.0", "commander": "^8.1.0" }, "devDependencies": { diff --git a/compiler/CHANGELOG.md b/compiler/CHANGELOG.md index d4dcbfee9..75344e7ec 100644 --- a/compiler/CHANGELOG.md +++ b/compiler/CHANGELOG.md @@ -1,5 +1,69 @@ # Changelog +## [0.7.0](https://github.com/grain-lang/grain/compare/compiler-v0.6.6...compiler-v0.7.0) (2025-03-02) + + +### ⚠ BREAKING CHANGES + +* **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)) + +### Features + +* 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)) +* **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:** Enable single-file compilation ([#2105](https://github.com/grain-lang/grain/issues/2105)) ([824b365](https://github.com/grain-lang/grain/commit/824b365fde51cf485a1ad21a6431611cb9ffe3e5)) +* **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:** 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)) +* **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)) +* Remove `->` token in favor of `=>` ([#2177](https://github.com/grain-lang/grain/issues/2177)) ([d0038d3](https://github.com/grain-lang/grain/commit/d0038d34e95f4357b06101cb14aae57a3b928b51)) +* **runtime:** Optimize `==` for lists ([#2247](https://github.com/grain-lang/grain/issues/2247)) ([1cba005](https://github.com/grain-lang/grain/commit/1cba005db44163e2d197c4af14f1c3d8997ebbf8)) +* **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:** 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 `Array.tryInit` ([#2209](https://github.com/grain-lang/grain/issues/2209)) ([218ff78](https://github.com/grain-lang/grain/commit/218ff780c824a12bbfa2a78c12d84a66e65a4931)) +* **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 `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 `Exception.toString` ([#2143](https://github.com/grain-lang/grain/issues/2143)) ([0894dc5](https://github.com/grain-lang/grain/commit/0894dc551c4aad678e39e9de29919bb17a0ea23e)) +* **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 `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 `Path.removeExtension` ([#2226](https://github.com/grain-lang/grain/issues/2226)) ([7b7acfd](https://github.com/grain-lang/grain/commit/7b7acfd5b7e12d2d490b9f3ff3b28911ef9240e7)) +* **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 `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 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 user-friendly file system module ([#1966](https://github.com/grain-lang/grain/issues/1966)) ([c4f638e](https://github.com/grain-lang/grain/commit/c4f638eaf0f7049dd3cfec96791f7d7ba22531f6)) +* **stdlib:** Json value access utils ([#2150](https://github.com/grain-lang/grain/issues/2150)) ([72cc978](https://github.com/grain-lang/grain/commit/72cc9784783731440cbb73196fc45c0fd77745f2)) +* **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:** 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:** Seeded hashing ([#2170](https://github.com/grain-lang/grain/issues/2170)) ([ce872ab](https://github.com/grain-lang/grain/commit/ce872ab718577ebd4d46857a2f3f7bb08c58efe4)) + + +### Bug Fixes + +* **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 type approximation on recursive functions ([#2154](https://github.com/grain-lang/grain/issues/2154)) ([b0fb040](https://github.com/grain-lang/grain/commit/b0fb0405cb7e295abd544792a613f127ff96dd75)) +* **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:** Reduce stack usage when allocating lists ([#2214](https://github.com/grain-lang/grain/issues/2214)) ([cad45e4](https://github.com/grain-lang/grain/commit/cad45e4b514a2e86867953e9782b348ce49dfaef)) +* **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:** 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)) +* **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:** 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)) +* **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:** Optimize number modulo ([#2144](https://github.com/grain-lang/grain/issues/2144)) ([960fadd](https://github.com/grain-lang/grain/commit/960faddf4ed80a6d071c727c9640e0d7fb5b63e1)) +* **stdlib:** Properly print `Range` values ([#2184](https://github.com/grain-lang/grain/issues/2184)) ([11b1fc2](https://github.com/grain-lang/grain/commit/11b1fc2ff089f08e9c4d350c1343ac04bdc68caa)) + ## [0.6.6](https://github.com/grain-lang/grain/compare/compiler-v0.6.5...compiler-v0.6.6) (2024-08-12) diff --git a/compiler/dune-project b/compiler/dune-project index 76398f697..66e65d349 100644 --- a/compiler/dune-project +++ b/compiler/dune-project @@ -1,6 +1,6 @@ (lang dune 2.3) (name grain) -(version 0.6.6) +(version 0.7.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 335d94e46..f75db244e 100644 --- a/compiler/esy.json +++ b/compiler/esy.json @@ -1,6 +1,6 @@ { "name": "@grain/compiler", - "version": "0.6.6", + "version": "0.7.0", "esy": { "build": [ "dune build @native --no-buffer" diff --git a/compiler/package.json b/compiler/package.json index 88250a4fa..fb3a931b0 100644 --- a/compiler/package.json +++ b/compiler/package.json @@ -1,7 +1,7 @@ { "name": "@grain/compiler", "private": true, - "version": "0.6.6", + "version": "0.7.0", "bin": { "grainc": "_esy/default/build/install/default/bin/grainc" }, diff --git a/package-lock.json b/package-lock.json index 3e4325f0a..1ef975da3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "grain", - "version": "0.6.6", + "version": "0.7.0", "lockfileVersion": 3, "requires": true, "packages": { diff --git a/package.json b/package.json index ed3f6c5b7..ece8c90b1 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "grain", "private": true, - "version": "0.6.6", + "version": "0.7.0", "description": "The Grain monorepo.", "workspaces": [ "cli", diff --git a/stdlib/CHANGELOG.md b/stdlib/CHANGELOG.md index cde04e5a8..37f6eb7ea 100644 --- a/stdlib/CHANGELOG.md +++ b/stdlib/CHANGELOG.md @@ -1,5 +1,53 @@ # Changelog +## [0.7.0](https://github.com/grain-lang/grain/compare/stdlib-v0.6.6...stdlib-v0.7.0) (2025-03-02) + + +### ⚠ BREAKING CHANGES + +* **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)) +* **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)) + +### Features + +* 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)) +* **compiler:** Custom Grain object files ([#2104](https://github.com/grain-lang/grain/issues/2104)) ([4b56c53](https://github.com/grain-lang/grain/commit/4b56c535064e5ad8f68ca19af071d5e525a1a9aa)) +* **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)) +* **runtime:** Optimize `==` for lists ([#2247](https://github.com/grain-lang/grain/issues/2247)) ([1cba005](https://github.com/grain-lang/grain/commit/1cba005db44163e2d197c4af14f1c3d8997ebbf8)) +* **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)) +* **runtime:** Simplify `copy` and `fill` polyfills in `Memory` module ([#2148](https://github.com/grain-lang/grain/issues/2148)) ([1b3a9f0](https://github.com/grain-lang/grain/commit/1b3a9f07bd9749a4f67f12d1b58949476c2d6127)) +* **stdlib:** `List.Associative` Submodule ([#2202](https://github.com/grain-lang/grain/issues/2202)) ([fbb08bf](https://github.com/grain-lang/grain/commit/fbb08bf28683b05fb77a57af6a787907da070ef7)) +* **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 `Array.tryInit` ([#2209](https://github.com/grain-lang/grain/issues/2209)) ([218ff78](https://github.com/grain-lang/grain/commit/218ff780c824a12bbfa2a78c12d84a66e65a4931)) +* **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 `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 `Exception.toString` ([#2143](https://github.com/grain-lang/grain/issues/2143)) ([0894dc5](https://github.com/grain-lang/grain/commit/0894dc551c4aad678e39e9de29919bb17a0ea23e)) +* **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 `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 `Path.removeExtension` ([#2226](https://github.com/grain-lang/grain/issues/2226)) ([7b7acfd](https://github.com/grain-lang/grain/commit/7b7acfd5b7e12d2d490b9f3ff3b28911ef9240e7)) +* **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 `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 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 user-friendly file system module ([#1966](https://github.com/grain-lang/grain/issues/1966)) ([c4f638e](https://github.com/grain-lang/grain/commit/c4f638eaf0f7049dd3cfec96791f7d7ba22531f6)) +* **stdlib:** Json value access utils ([#2150](https://github.com/grain-lang/grain/issues/2150)) ([72cc978](https://github.com/grain-lang/grain/commit/72cc9784783731440cbb73196fc45c0fd77745f2)) +* **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:** 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:** Seeded hashing ([#2170](https://github.com/grain-lang/grain/issues/2170)) ([ce872ab](https://github.com/grain-lang/grain/commit/ce872ab718577ebd4d46857a2f3f7bb08c58efe4)) + + +### Bug Fixes + +* **runtime:** Correct `Bi.toFloat64` rounding ([#2160](https://github.com/grain-lang/grain/issues/2160)) ([6755782](https://github.com/grain-lang/grain/commit/6755782948b9bd1bcf7cbf6ad7ad0a3d894bd1f6)) +* **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:** Optimize number modulo ([#2144](https://github.com/grain-lang/grain/issues/2144)) ([960fadd](https://github.com/grain-lang/grain/commit/960faddf4ed80a6d071c727c9640e0d7fb5b63e1)) +* **stdlib:** Properly print `Range` values ([#2184](https://github.com/grain-lang/grain/issues/2184)) ([11b1fc2](https://github.com/grain-lang/grain/commit/11b1fc2ff089f08e9c4d350c1343ac04bdc68caa)) + ## [0.6.6](https://github.com/grain-lang/grain/compare/stdlib-v0.6.5...stdlib-v0.6.6) (2024-08-12) diff --git a/stdlib/package.json b/stdlib/package.json index 1670623b9..623358381 100644 --- a/stdlib/package.json +++ b/stdlib/package.json @@ -1,6 +1,6 @@ { "name": "@grain/stdlib", - "version": "0.6.6", + "version": "0.7.0", "description": "The standard library for the Grain language.", "license": "MIT", "homepage": "https://grain-lang.org",