Skip to content

Commit

Permalink
Rotate release notes as part of the 0.57.0 release
Browse files Browse the repository at this point in the history
  • Loading branch information
ponylang-main committed Oct 8, 2023
1 parent 3efb2ac commit 7d52a5a
Show file tree
Hide file tree
Showing 2 changed files with 39 additions and 39 deletions.
39 changes: 39 additions & 0 deletions .release-notes/0.57.0.md
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.

39 changes: 0 additions & 39 deletions .release-notes/next-release.md
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.

0 comments on commit 7d52a5a

Please sign in to comment.