Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Release 0.30.0 #3221

Closed
SeanTAllen opened this issue Jul 15, 2019 · 20 comments
Closed

Release 0.30.0 #3221

SeanTAllen opened this issue Jul 15, 2019 · 20 comments

Comments

@SeanTAllen
Copy link
Member

The next Pony release will feature the removal of some packages from the standard library meaning it will be a breaking release. Expect the release around August 3, 2019.

@SeanTAllen
Copy link
Member Author

Make Map insertion functions total

Before this change, code that inserts into maps might look like:

try map.insert("key", 1)? end
try map.insert_if_absent("key", 5)? end
try
  map.upsert("key", 1, {(current, provided) => current + provided})?
end

After this change, the question marks and the surrounding try expressions can be removed. Respectively, the above blocks become:

map.insert("key", 1)
map.insert_if_absent("key", 5)
map.upsert("key", 1, {(current, provided) => current + provided})?

@SeanTAllen
Copy link
Member Author

Remove glob from the standard library

The glob package is being removed from the standard library and
moved to a new home at https://github.com/ponylang/glob/ where it
will live on as an independent library.

It is being removed because it has a transitive dependency on an
external library libpcre and that dependency makes creating release
artifacts more difficult.

At the moment we have to deal with packaging up pcre for each Linux
distro etc and they all have their own methods to do so. This
lead us to do a lot of work on supporting distro specific packaging.
That has turned out to be too much work. We are moving to having
a single glibc Linux friendly .tar.gz that can be done to install
Pony.

To faciliate this move, we decided that we want to remove items from
the standard library that depend on external libraries like pcre.
Full conversation about the decision is available in the audio of
the Pony development sync July 9, 2019 audio that you can download
from: https://sync-recordings.ponylang.io/r/2019_07_09.m4a

Remove regex package from standard library

The regex package is being removed from the standard library and
moved to a new home at https://github.com/ponylang/regex/ where it
will live on as an independent library.

It is being removed because it has a dependency on an external
library libpcre and that dependency makes creating release artifacts
more difficult.

At the moment we have to deal with packaging up pcre for each Linux
distro etc and they all have their own methods to do so. This
lead us to do a lot of work on supporting distro specific packaging.
That has turned out to be too much work. We are moving to having
a single glibc Linux friendly .tar.gz that can be done to install
Pony.

To faciliate this move, we decided that we want to remove items from
the standard library that depend on external libraries like pcre.
Full conversation about the decision is available in the audio of
the Pony development sync July 9, 2019 audio that you can download
from: https://sync-recordings.ponylang.io/r/2019_07_09.m4a

Remove OpenSSL as a requirement for building Pony

The net/ssl and crypto packages are being removed from the standard library
and moved to a new home at https://github.com/ponylang/net-ssl/ and
https://github.com/ponylang/crypto respectively. Each will live on as an
independent library.

They are being removed because they have a transitive dependency on an
external library openssl and that dependency makes creating release
artifacts more difficult.

At the moment we have to deal with packaging up openssl for each Linux
distro etc and they all have their own methods to do so. This
lead us to do a lot of work on supporting distro specific packaging.
That has turned out to be too much work. We are moving to having
a single glibc Linux friendly .tar.gz that can be done to install
Pony.

To faciliate this move, we decided that we want to remove items from
the standard library that depend on external libraries like openssl.
Full conversation about the decision is available in the audio of
the Pony development sync July 9, 2019 audio that you can download
from: https://sync-recordings.ponylang.io/r/2019_07_09.m4a

@dipinhora
Copy link
Contributor

dipinhora commented Jul 27, 2019

Fix segfault due to Cycle Detector viewref inconsistency

Prior to this fix, the Cycle Detector could end up in a situation
where it would have an inconsistent viewref which would result
in a segfault with the cycle detector trying to send a message
to an actor that was already destroyed.

@SeanTAllen
Copy link
Member Author

Stop creating Buster Debian packages

When Buster graduated to a supported Debian version, they dropped LLVM 3.9.
We were relying on that LLVM 3.9 support. All our Debian packaging code assumes that
the LLVM version is used across distros. With Buster dropping LLVM 3.9, that is no longer the case.
We could spend time fixing that so that our releases work again, however, we are moving away from doing distro specific packaging.

Given that we don't want to continue doing distro specific releases, we are instead removing building Buster packages now. Expect to see a new release packaging system roll out over the next couple of months.

@SeanTAllen
Copy link
Member Author

Blessing: bcec4cb

@SeanTAllen
Copy link
Member Author

Homebrew PR opened: Homebrew/homebrew-core#42525

@SeanTAllen
Copy link
Member Author

@stefantalpalaru @kamilchm @myfreeweb

release is underway.

note that 0.30.0 no longer has dependencies on openssl/libressl and libpcre2. the code that required those has been moved to independent libraries.

@SeanTAllen
Copy link
Member Author

Release notes PR has been opened: ponylang/ponylang-website#463

@SeanTAllen
Copy link
Member Author

Debian packages are available in bintray.

@SeanTAllen
Copy link
Member Author

Windows packages are available in bintray.

@SeanTAllen
Copy link
Member Author

AppImage is now available

@SeanTAllen
Copy link
Member Author

There's currently a huge backlog of jobs waiting for resources on COPR so that is probably going to take a while:

https://copr.fedorainfracloud.org/status/stats/

@SeanTAllen
Copy link
Member Author

Pony playground is now running 0.30.0

@stefantalpalaru
Copy link
Contributor

Gentoo ebuild updated.

@SeanTAllen
Copy link
Member Author

COPR build is done

@SeanTAllen
Copy link
Member Author

Docker builds are done.

@SeanTAllen
Copy link
Member Author

Waiting on Homebrew.

@SeanTAllen
Copy link
Member Author

If homebrew hasn't merged by later this evening here in the US, I'm going to update the release notes to state that everyhting is out except homebrew and announce the release.

@SeanTAllen
Copy link
Member Author

Going to push out the release notes and announce. I won't close this until the homebrew PR is merged.

@SeanTAllen
Copy link
Member Author

homebrew PR has been merged. thanks for playing along folks.

uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Aug 12, 2019
Changes:	ponylang/ponyc#3221
PR:		239581
Submitted by:	Greg V <greg@unrelenting.technology> (maintainer)


git-svn-id: svn+ssh://svn.freebsd.org/ports/head@508729 35697150-7ecd-e111-bb59-0022644237b5
uqs pushed a commit to freebsd/freebsd-ports that referenced this issue Aug 12, 2019
Changes:	ponylang/ponyc#3221
PR:		239581
Submitted by:	Greg V <greg@unrelenting.technology> (maintainer)
Jehops pushed a commit to Jehops/freebsd-ports-legacy that referenced this issue Aug 13, 2019
Changes:	ponylang/ponyc#3221
PR:		239581
Submitted by:	Greg V <greg@unrelenting.technology> (maintainer)


git-svn-id: svn+ssh://svn.freebsd.org/ports/head@508729 35697150-7ecd-e111-bb59-0022644237b5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants