diff --git a/CHANGELOG.d/fix_compilation_regression-4491.md b/CHANGELOG.d/fix_compilation_regression-4491.md deleted file mode 100644 index a2fbc45f4e..0000000000 --- a/CHANGELOG.d/fix_compilation_regression-4491.md +++ /dev/null @@ -1,8 +0,0 @@ -* Fix a compilation memory regression for very large files - - When compiling a a very large file (>12K lines) - the CSE pass could balloon memory and result in increased - compilation times. - - This fix uses a strict Map instead of a lazy Map to avoid - building up unnecessary thunks during the optimization pass. diff --git a/CHANGELOG.d/fix_fix-class-head-ty-var.md b/CHANGELOG.d/fix_fix-class-head-ty-var.md deleted file mode 100644 index 12a3f8ab11..0000000000 --- a/CHANGELOG.d/fix_fix-class-head-ty-var.md +++ /dev/null @@ -1 +0,0 @@ -* Fix parsing bug where `@var` was allowed in type class head \ No newline at end of file diff --git a/CHANGELOG.d/fix_module-space-leak.md b/CHANGELOG.d/fix_module-space-leak.md deleted file mode 100644 index 2cb86e8562..0000000000 --- a/CHANGELOG.d/fix_module-space-leak.md +++ /dev/null @@ -1,11 +0,0 @@ -* Fix two space leaks while compiling many modules - - The first would interleave compilation of too many modules at once, which - would increase memory usage, especially for single threaded builds with - `+RTS -N1 -RTS`. Now the number of concurrent modules is limited to - the number of threads available to the - [GHC runtime system](https://downloads.haskell.org/ghc/latest/docs/users_guide/using-concurrent.html#rts-options-for-smp-parallelism). - - The second would hold on to memory from modules that compiled with warnings - until the end of the build when the warnings were printed and the memory freed. - This is now fixed with additional `NFData` instances. diff --git a/CHANGELOG.md b/CHANGELOG.md index d8052d14cf..309b8ac703 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,31 @@ Notable changes to this project are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## 0.15.14 + +Bugfixes: + +* Fix a compilation memory regression for very large files (#4521 by @mjrussell) + + When compiling a a very large file (>12K lines) + the CSE pass could balloon memory and result in increased + compilation times. + + This fix uses a strict Map instead of a lazy Map to avoid + building up unnecessary thunks during the optimization pass. + +* Fix two space leaks while compiling many modules (#4517 by @MonoidMusician) + + The first would interleave compilation of too many modules at once, which + would increase memory usage, especially for single threaded builds with + `+RTS -N1 -RTS`. Now the number of concurrent modules is limited to + the number of threads available to the + [GHC runtime system](https://downloads.haskell.org/ghc/latest/docs/users_guide/using-concurrent.html#rts-options-for-smp-parallelism). + + The second would hold on to memory from modules that compiled with warnings + until the end of the build when the warnings were printed and the memory freed. + This is now fixed with additional `NFData` instances. + ## 0.15.13 New features: @@ -78,6 +103,10 @@ New features: b ``` +Bugfixes: + +* Fix parsing bug where `@var` was allowed in type class head (#4523 by @JordanMartinez) + ## 0.15.12 New features: diff --git a/npm-package/package.json b/npm-package/package.json index b24866695b..8470f00e4c 100644 --- a/npm-package/package.json +++ b/npm-package/package.json @@ -1,6 +1,6 @@ { "name": "purescript", - "version": "0.15.13", + "version": "0.15.14", "license": "ISC", "description": "PureScript wrapper that makes it available as a local dependency", "author": { @@ -43,7 +43,7 @@ ], "scripts": { "prepublishOnly": "node -e \"require('fs').copyFileSync('purs.bin.placeholder', 'purs.bin');\"", - "postinstall": "install-purescript --purs-ver=0.15.13", + "postinstall": "install-purescript --purs-ver=0.15.14", "test": "echo 'Error: no test specified' && exit 1" } } diff --git a/purescript.cabal b/purescript.cabal index a608c61cac..496e669a81 100644 --- a/purescript.cabal +++ b/purescript.cabal @@ -2,7 +2,7 @@ cabal-version: 2.4 name: purescript -- Note: don't add prerelease identifiers here! Add them in app/Version.hs and npm-package/package.json instead. -version: 0.15.13 +version: 0.15.14 synopsis: PureScript Programming Language Compiler description: A small strongly, statically typed programming language with expressive types, inspired by Haskell and compiling to JavaScript. category: Language