-
-
Notifications
You must be signed in to change notification settings - Fork 410
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rotate release notes as part of the 0.57.0 release
- Loading branch information
1 parent
3efb2ac
commit 7d52a5a
Showing
2 changed files
with
39 additions
and
39 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
## Fix broken DTrace support | ||
|
||
Quite a while back, we broke the support in our Makefile for building the Pony runtime with support for DTrace. We've fixed that and added tests to assure it builds. | ||
|
||
## Fix compilation error when building with pool_memalign in release mode | ||
|
||
When attempting to build the Pony runtime with the `pool_memalign` option, users would encounter a compilation error if building a `release` rather than `debug` version of the runtime. We've fixed the compilation error and added CI testing to verify we don't get a regression. | ||
|
||
## Fix compiler bug that allows an unsafe data access pattern | ||
|
||
In November of last year, core team member Gordon Tisher identified a bug in the type system implementation that allowed sharing of data that shouldn't be shareable. | ||
|
||
The following code should not compile: | ||
|
||
```pony | ||
class Foo | ||
let s: String box | ||
new create(s': String box) => | ||
s = s' | ||
fun get_s(): String val => | ||
// this is unsafe and shouldn't be allowed | ||
recover val s end | ||
actor Main | ||
new create(env: Env) => | ||
let s = String | ||
s.append("world") | ||
let foo = Foo(s) | ||
env.out.print("hello " + foo.get_s()) | ||
``` | ||
|
||
Upon investigation, we found that this bug goes back about 8 or 9 years to the when viewpoint adaptation was introduced into the Pony compiler. | ||
|
||
We've fixed the logic flaw and added tests to verify that it can't be reintroduced. | ||
|
||
This will potentially break your code if you coded an unsafe recover block that the compiler previously allowed. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,39 +0,0 @@ | ||
## Fix broken DTrace support | ||
|
||
Quite a while back, we broke the support in our Makefile for building the Pony runtime with support for DTrace. We've fixed that and added tests to assure it builds. | ||
|
||
## Fix compilation error when building with pool_memalign in release mode | ||
|
||
When attempting to build the Pony runtime with the `pool_memalign` option, users would encounter a compilation error if building a `release` rather than `debug` version of the runtime. We've fixed the compilation error and added CI testing to verify we don't get a regression. | ||
|
||
## Fix compiler bug that allows an unsafe data access pattern | ||
|
||
In November of last year, core team member Gordon Tisher identified a bug in the type system implementation that allowed sharing of data that shouldn't be shareable. | ||
|
||
The following code should not compile: | ||
|
||
```pony | ||
class Foo | ||
let s: String box | ||
new create(s': String box) => | ||
s = s' | ||
fun get_s(): String val => | ||
// this is unsafe and shouldn't be allowed | ||
recover val s end | ||
actor Main | ||
new create(env: Env) => | ||
let s = String | ||
s.append("world") | ||
let foo = Foo(s) | ||
env.out.print("hello " + foo.get_s()) | ||
``` | ||
|
||
Upon investigation, we found that this bug goes back about 8 or 9 years to the when viewpoint adaptation was introduced into the Pony compiler. | ||
|
||
We've fixed the logic flaw and added tests to verify that it can't be reintroduced. | ||
|
||
This will potentially break your code if you coded an unsafe recover block that the compiler previously allowed. | ||
|
||