Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{".":"0.6.6","cli":"0.6.6","compiler":"0.6.6","stdlib":"0.6.6"}
{".":"0.7.0","cli":"0.7.0","compiler":"0.7.0","stdlib":"0.7.0"}
86 changes: 86 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,91 @@
# Changelog

## [0.7.0](https://github.com/grain-lang/grain/compare/grain-v0.6.6...grain-v0.7.0) (2025-04-26)


### ⚠ 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))

### 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))
* **docs:** Update `stdlib` contributor guidelines ([#2277](https://github.com/grain-lang/grain/issues/2277)) ([9631e72](https://github.com/grain-lang/grain/commit/9631e723063d92580b95f5fd384441244ec1dfac))
* **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))
* **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 `Path.updateExtension` ([#2282](https://github.com/grain-lang/grain/issues/2282)) ([6d795d0](https://github.com/grain-lang/grain/commit/6d795d059fcc6107719e4149ee4697a10a5941a8))
* **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:** 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:** 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

* **cli:** Only accept `--dir`, `--env` on `grain run` or `grain` ([#2279](https://github.com/grain-lang/grain/issues/2279)) ([0d249dc](https://github.com/grain-lang/grain/commit/0d249dcdcf210b8d04c2d4eca95f57d0a37c9ff3))
* **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 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 type approximation on recursive functions ([#2154](https://github.com/grain-lang/grain/issues/2154)) ([b0fb040](https://github.com/grain-lang/grain/commit/b0fb0405cb7e295abd544792a613f127ff96dd75))
* **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:** Handle non-exhaustive record patterns ([#2274](https://github.com/grain-lang/grain/issues/2274)) ([0431e74](https://github.com/grain-lang/grain/commit/0431e74b1e0a02ec22fd46871aa5f5f8d8dd1649))
* **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))
* **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:** Write universal exports on linked module ([#2234](https://github.com/grain-lang/grain/issues/2234)) ([2dba010](https://github.com/grain-lang/grain/commit/2dba010ef640fbe821c45c690d28dd85e3016095))
* **grainc:** Correct behaviour of `-o` flag ([#2270](https://github.com/grain-lang/grain/issues/2270)) ([3124ede](https://github.com/grain-lang/grain/commit/3124ede080f04b72c680a726cfe97d5fdac68e92))
* **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:** 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:** 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))


### 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))

## [0.6.6](https://github.com/grain-lang/grain/compare/grain-v0.6.5...grain-v0.6.6) (2024-08-12)


Expand Down
24 changes: 24 additions & 0 deletions cli/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,29 @@
# Changelog

## [0.7.0](https://github.com/grain-lang/grain/compare/cli-v0.6.6...cli-v0.7.0) (2025-04-26)


### ⚠ BREAKING CHANGES

* **cli:** Require node `>=22.13` ([#2256](https://github.com/grain-lang/grain/issues/2256))
* **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))


### Bug Fixes

* **cli:** Only accept `--dir`, `--env` on `grain run` or `grain` ([#2279](https://github.com/grain-lang/grain/issues/2279)) ([0d249dc](https://github.com/grain-lang/grain/commit/0d249dcdcf210b8d04c2d4eca95f57d0a37c9ff3))


### 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))

## [0.6.6](https://github.com/grain-lang/grain/compare/cli-v0.6.5...cli-v0.6.6) (2024-08-12)


Expand Down
4 changes: 2 additions & 2 deletions cli/package.json
Original file line number Diff line number Diff line change
@@ -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": {
Expand Down Expand Up @@ -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": {
Expand Down
Loading
Loading