Releases: grain-lang/grain
Releases · grain-lang/grain
@grain/compiler @grain/compiler-v0.4.4
Features
- compiler: Allow @externalName attribute for foreign names (#1060) (f4c1311)
- compiler: Allow a newline character before a match guard (#1063) (bf41a9c)
- stdlib: Add reverse function to String module (#1027) (df761db)
- stdlib: Add rotate function in Array module (#838) (98fc577)
- stdlib: Add sort function to Array module (#1012) (9091930)
- stdlib: Implement List.sort via mergesort (#1014) (a076e20)
- stdlib: Number.parseInt (#1051) (abafb58)
Bug Fixes
- compiler: Allow modules to re-export imported types containing generics (#1019) (003cb1e)
- compiler: Consider invalid CMIs as out of date and recompile (#1061) (80da3a9)
- compiler: Fix binop operator reported location (#1018) (422dbcb)
- compiler: Fix counting of stack size (#1066) (f1b3e51)
- compiler: Fix error message when trying to export a constructor (#1055) (54ddb67)
- compiler: Fix memory leaks when loading from heap values (#1038) (7d3402d)
- compiler: Properly apply bindings when executing match guard (#1039) (121644b)
- compiler: Remove from default ident printer (#1056) (49cd5a0)
- graindoc: Ensure value_description is resolved to outcome before printing (#1070) (5eb05cc)
- grainfmt: Handle recursive enums (7dc77cd)
- grainfmt: Resugar match lists properly (7dc77cd)
- stdlib: Add bounds checking to Buffer addStringSlice & addBytesSlice (#1065) (06fe512)
- stdlib: Support arrays of any type in Array rotate (#1048) (3ceb1cf)
- stdlib: Support empty arrays in Array rotate (3ceb1cf)
@grain/stdlib stdlib-v0.4.3
Features
Bug Fixes
- compiler: Ensure TExpApp is always expansive in Grain (ef0a69f)
- compiler: Handle let-mut value restriction, such that mutable lets are always expansive (ef0a69f)
- compiler: Properly handle value restriction on function application & mutable vars (#988) (ef0a69f)
- runtime: Add types to boxed GC functions to avoid weak type errors (ef0a69f)
- stdlib: Fixed memory leak in String.explode (#1001) (c479a05)
Grain v0.4.4
Features
Bug Fixes
- compiler: Ensure main module is included in linker dependency graph (#996) (d5c6c04)
- compiler: Ensure TExpApp is always expansive in Grain (ef0a69f)
- compiler: Handle let-mut value restriction, such that mutable lets are always expansive (ef0a69f)
- compiler: Properly handle value restriction on function application & mutable vars (#988) (ef0a69f)
- compiler: Properly unmark type manifest bodies (bc648ce)
- grainfmt: Break long parameterized types (bc648ce)
- grainfmt: Wrap type annotation for a long line let assignment (#1005) (963b505)
- linking: Close file after reading (c404fcf)
- Properly open & close files (#985) (c404fcf)
- runtime: Add types to boxed GC functions to avoid weak type errors (ef0a69f)
- stdlib: Fixed memory leak in String.explode (#1001) (c479a05)
@grain/cli cli-v0.4.4
Dependencies
- The following workspace dependencies were updated
- dependencies
- @grain/stdlib bumped from ^0.4.2 to ^0.4.3
- dependencies
@grain/compiler @grain/compiler-v0.4.3
Features
Bug Fixes
- compiler: Ensure main module is included in linker dependency graph (#996) (d5c6c04)
- compiler: Ensure TExpApp is always expansive in Grain (ef0a69f)
- compiler: Handle let-mut value restriction, such that mutable lets are always expansive (ef0a69f)
- compiler: Properly handle value restriction on function application & mutable vars (#988) (ef0a69f)
- compiler: Properly unmark type manifest bodies (bc648ce)
- grainfmt: Break long parameterized types (bc648ce)
- grainfmt: Wrap type annotation for a long line let assignment (#1005) (963b505)
- linking: Close file after reading (c404fcf)
- Properly open & close files (#985) (c404fcf)
- runtime: Add types to boxed GC functions to avoid weak type errors (ef0a69f)
@grain/stdlib stdlib-v0.4.2
Grain v0.4.3
Features
- Add npm releases to workflow (#948) (d55bbc0)
- cli: Refactor forwardable options (#908) (9ecb49b)
- compiler: Inline not
(!)
operator (#937) (3f5e9a9) - grainfmt: Add format in place or output to a new file (#904) (0d18935)
- stdlib: Add Conv.wasmI32ToNumber function (#978) (c93ade8)
- stdlib: Add string trim functions to String module (#951) (e55de8f)
- stdlib: Regular Expressions (#680) (9601e16)
Bug Fixes
- cli: Forward stdlib option to lsp and graindoc (#916) (07c5237)
- cli: Only add --experimental-wasm-bigint flag on node 14 or 15 (#899) (1cc0c5c)
- compiler: Allow trailing commas in imports and destructuring (#890) (f5c24c9)
- compiler: Do not inline aliased mutables (#909) (a50430a)
- compiler: Don't over-optimize mutable imports (#967) (c3066f6)
- compiler: Don't warn on exhaustive boolean matches (#913) (4189745)
- compiler: Ensure cwd directory is normalized on Windows (#952) (a3ab9c3)
- compiler: Export functions with aliased names as wasm functions (#920) (afba142)
- compiler: Fix parsing of block with lone 0-arg enum (#885) (edfc21e)
- compiler: Fix stack/heap number allocation boundary (#974) (47b0f56)
- compiler: Follow proper calling convention when callling stdlib equals in match (#895) (73fe7d4)
- compiler: Parse array set with newline correctly (#926) (14e1822)
- compiler: Remove existing exports when writing universal exports (#919) (e80de43)
- compiler: Resolve all modules fully during linking (#950) (33b33a3)
- Correctly preserve start position for character literals (#931) (8fcc575)
- graindoc: Only extract attributes from Doc comments (#970) (7b6ee5f)
- grainfmt: fix some spacing issues with the formatter (#955) (9c4be85)
- grainfmt: Format CRLF files without error (#941) (ece7536)
- grainfmt: Group infix functions when passed as params (bb9666d)
- grainfmt: handle empty type for foreign exports (#907) (d3b60a4)
- grainfmt: Improve formatter performance (#959) (4e739f1)
- grainfmt: Print attributes for non-toplevel expressions (#887) (72292fe)
- grainfmt: remove extra spaces around for/while loop conditions (#897) (2054a83)
- grainfmt: Remove extraneous parens around infix function application (#902) (5c1906a)
- grainfmt: Removed a trailing comma after a spread in a list, and fixed escaped single quote (#923) (3a138d6)
- grainfmt: Resolve issues with comments within braces (#888) (9c88b89)
- stdlib: Fix Char.code memory issue (#928) (dfa31d8)
- stdlib: Fix issue with list printing (#894) (e2a33a9)
- stdlib: Fix memory issue in list printing (#912) (3e0a805)
- stdlib: Fix memory leaks in Char stdlib (#929) (99cc94b)
@grain/cli cli-v0.4.3
Features
- cli: Refactor forwardable options (#908) (9ecb49b)
- grainfmt: Add format in place or output to a new file (#904) (0d18935)
Bug Fixes
- cli: Forward stdlib option to lsp and graindoc (#916) (07c5237)
- cli: Only add --experimental-wasm-bigint flag on node 14 or 15 (#899) (1cc0c5c)
Dependencies
- The following workspace dependencies were updated
- dependencies
- @grain/stdlib bumped from ^0.4.1 to ^0.4.2
- dependencies
@grain/compiler @grain/compiler-v0.4.2
Features
- compiler: Inline not
(!)
operator (#937) (3f5e9a9) - grainfmt: Add format in place or output to a new file (#904) (0d18935)
- stdlib: Add Conv.wasmI32ToNumber function (#978) (c93ade8)
- stdlib: Add string trim functions to String module (#951) (e55de8f)
- stdlib: Regular Expressions (#680) (9601e16)
Bug Fixes
- compiler: Allow trailing commas in imports and destructuring (#890) (f5c24c9)
- compiler: Do not inline aliased mutables (#909) (a50430a)
- compiler: Don't over-optimize mutable imports (#967) (c3066f6)
- compiler: Don't warn on exhaustive boolean matches (#913) (4189745)
- compiler: Ensure cwd directory is normalized on Windows (#952) (a3ab9c3)
- compiler: Export functions with aliased names as wasm functions (#920) (afba142)
- compiler: Fix parsing of block with lone 0-arg enum (#885) (edfc21e)
- compiler: Fix stack/heap number allocation boundary (#974) (47b0f56)
- compiler: Follow proper calling convention when callling stdlib equals in match (#895) (73fe7d4)
- compiler: Parse array set with newline correctly (#926) (14e1822)
- compiler: Remove existing exports when writing universal exports (#919) (e80de43)
- compiler: Resolve all modules fully during linking (#950) (33b33a3)
- Correctly preserve start position for character literals (#931) (8fcc575)
- graindoc: Only extract attributes from Doc comments (#970) (7b6ee5f)
- grainfmt: fix some spacing issues with the formatter (#955) (9c4be85)
- grainfmt: Format CRLF files without error (#941) (ece7536)
- grainfmt: Group infix functions when passed as params (bb9666d)
- grainfmt: handle empty type for foreign exports (#907) (d3b60a4)
- grainfmt: Improve formatter performance (#959) (4e739f1)
- grainfmt: Print attributes for non-toplevel expressions (#887) (72292fe)
- grainfmt: remove extra spaces around for/while loop conditions (#897) (2054a83)
- grainfmt: Remove extraneous parens around infix function application (#902) (5c1906a)
- grainfmt: Removed a trailing comma after a spread in a list, and fixed escaped single quote (#923) (3a138d6)
- grainfmt: Resolve issues with comments within braces (#888) (9c88b89)
- stdlib: Fix Char.code memory issue (#928) (dfa31d8)
- stdlib: Fix issue with list printing (#894) (e2a33a9)
- stdlib: Fix memory issue in list printing (#912) (3e0a805)