Skip to content

Commit

Permalink
Prep 0.15.14 release (#4526)
Browse files Browse the repository at this point in the history
* Update version to 0.15.14

* Update changelog
  • Loading branch information
JordanMartinez committed Jan 3, 2024
1 parent e826bff commit e25c476
Show file tree
Hide file tree
Showing 6 changed files with 32 additions and 23 deletions.
8 changes: 0 additions & 8 deletions CHANGELOG.d/fix_compilation_regression-4491.md

This file was deleted.

1 change: 0 additions & 1 deletion CHANGELOG.d/fix_fix-class-head-ty-var.md

This file was deleted.

11 changes: 0 additions & 11 deletions CHANGELOG.d/fix_module-space-leak.md

This file was deleted.

29 changes: 29 additions & 0 deletions CHANGELOG.md
Expand Up @@ -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:
Expand Down Expand Up @@ -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:
Expand Down
4 changes: 2 additions & 2 deletions 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": {
Expand Down Expand Up @@ -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"
}
}
2 changes: 1 addition & 1 deletion purescript.cabal
Expand Up @@ -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
Expand Down

0 comments on commit e25c476

Please sign in to comment.