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.22.0 #2517

Closed
SeanTAllen opened this issue Jan 26, 2018 · 29 comments
Closed

Release 0.22.0 #2517

SeanTAllen opened this issue Jan 26, 2018 · 29 comments

Comments

@SeanTAllen
Copy link
Member

To turn back on dynamic scheduler scaling.

This is on hold at the request of me and @WallarooLabs as we haven't yet gotten our MacOS setup not tied to brew and this is a breaking change so we need time to update and coordinate the release.

@jemc
Copy link
Member

jemc commented Mar 21, 2018

@SeanTAllen - This came up on the sync call - what's the status of this release blocker?

@SeanTAllen
Copy link
Member Author

Couple weeks and I'll do this release.

@mfelsche
Copy link
Contributor

Let us make sure, we update the PyPI package of the https://github.com/ponylang/mkdocs-theme shortly before we actually do the release, so that the newly built stdlib docs will get all the new glory they deserve.

@SeanTAllen
Copy link
Member Author

@mfelsche has the mkdocs-theme update been done?

@SeanTAllen
Copy link
Member Author

Can anyone help me put together release notes for the various breaking changes that will be in this release? What previously worked, what it had to be changed to?

@mfelsche
Copy link
Contributor

@SeanTAllen the mkdocs-theme has been updated: https://pypi.org/project/mkdocs-ponylang/

@SeanTAllen
Copy link
Member Author

Holding on #2671

@SeanTAllen
Copy link
Member Author

For release notes: #2463

Previously Env.out and Env.err where of the type StdStream. This worked fine but didn't make for easy testing of output. Env.out and Env.err are now of type OutStream which is an interface rather than a concrete type. By making Env expose and rely on the OutStream interface it is possible to create mock environments for testing. For example one can
implement an OutStreamStringAccumulator that accumulates output to a String that can then be checked in a unit test. Updating your code is straightforward. Change StdStream to OutStream for anything where you got the StdStream from Env.

-- note need to show an example and the error message as part of this.

@jemc
Copy link
Member

jemc commented May 9, 2018

For release notes: #2643

The SourceLoc interface is used for representing a location in Pony source code, filled in automatically by the compiler when using the __loc keyword. A type_name function has been added to this interface and the method function has been renamed as method_name for consistency. Any Pony code that was using SourceLoc and/or __loc objects to print the name of a method will need to be updated with this name change. They will also now have the type_name available to print, if they so choose.

@mfelsche
Copy link
Contributor

mfelsche commented May 9, 2018

Release notes for #2436 :

TheDate class has been renamed to PosixDate to better reflect that it is not a full grown date class that handles all corner cases, timezones, calendars. It is implemented after the POSIX tm struct. Its API stayed the same with the exception that now if provided with negative constructor parameters it will coalesce them to 0 to avoid creating invalid dates by accident.

@mfelsche
Copy link
Contributor

mfelsche commented May 9, 2018

Release notes for #2617 :

In the same realm of #2463 we made artificial Env instances even more customizable, which are mostly used for testing. It is now possible to "mock" both Env.input representing stdin and intercept setting the exitcode via Env.exitcode.

Env.input used to be of type Stdin which didn't allow easy mocking, now it is the interface InputStream which is easily implemented for testing. Stdinused to require a StdinNotify to receive stdin data to the application. In order to stay consistent with the new InputStream StdinNotify has been renamed to InputNotify.

@Theodus
Copy link
Contributor

Theodus commented May 9, 2018

Release notes for #2578:

The ponybench microbenchmarking framework has changed to have more flexible configuration and produce more detailed statistics. The API now resembles that of the ponytest package and has a greater distinction between synchronous and asynchronous benchmarks. The new framework now provides the option to output CSV with the -csv flag. The CSV output may be used to create box plots, histograms, and other visual representations of the benchmark data. Details of how to use the new API are available in the package documentation.

@Praetonus
Copy link
Member

Release notes for #2615:

The Hashable interface now requires objects to provide a hash() function returning USize instead of U64. If some of your types provide hash(), you should change the return type and modify the implementation accordingly. A Hashable64 interface requiring a hash64() function returning U64 is now available.

For #2499:

Pattern matching on generic capabilities is now prohibited. This means that code like the following example won't compile anymore.

fun foo[A: Any #send](a: A) =>
  match a
  | let a': Any val => print("val")
  else
    print("other")
  end

iftype should be used as a replacement.

fun foo[A: Any #send](a: A) =>
  iftype A <: Any val then
    print("val")
  else
    print("other")
  end

@SeanTAllen
Copy link
Member Author

Unless something comes up, i'm releasing this weekend.

@SeanTAllen
Copy link
Member Author

Blessing 2d98584

@SeanTAllen
Copy link
Member Author

TravisCI and Appveyor are green

@SeanTAllen
Copy link
Member Author

release underway

@SeanTAllen
Copy link
Member Author

@stefantalpalaru @kamilchm release underway.

@SeanTAllen
Copy link
Member Author

Homebrew PR submitted: Homebrew/homebrew-core#28250

@SeanTAllen
Copy link
Member Author

Windows release is done

@SeanTAllen
Copy link
Member Author

Linux releases are having difficulty getting all the dependencies. pcre in particular is where is timed out and then retried and appears to perhaps be hung.

@SeanTAllen
Copy link
Member Author

There was what appears to be an environmental issue with the homebrew release. Will see what happens with that.

@SeanTAllen
Copy link
Member Author

Cancelled travis job for debian and RPM releases. hopefully on restart the PRCE download issue is fixed.

@SeanTAllen
Copy link
Member Author

Release notes PR opened: ponylang/ponylang-website#284

@SeanTAllen
Copy link
Member Author

Docker release is broken and has been for about a month. So that's also an issue.

@SeanTAllen
Copy link
Member Author

After much fighting, RPM and Debian packages are out.

@SeanTAllen
Copy link
Member Author

Going to need to do a 0.22.1 release to get the Docker fixed now that I fixed that.

@SeanTAllen
Copy link
Member Author

Homebrew is finally fixed. There were makefile changes made that I didn't know about that messed up the homebrew build pretty badly and it took quite a while to work out what had changed in the Makefile and some of the changes are little wonky and off and will need to be fixed.

to get the old equiv of destdir=/foo you now have to do ponydir=/foo prefix=.

¯_(ツ)_/¯

@stefantalpalaru
Copy link
Contributor

Gentoo ebuild updated.

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

6 participants