0.28.1 Released

Saturday, June 01, 2019 | Posted in Release

Pony 0.28.1 is here! It includes a couple high-priority bug fixes. Updating as soon as possible is recommended. Please note, the Homebrew PR hasn’t yet been merged so you can’t update using Homebrew until that is done. All other supported platforms are good to go!

Fix cycle detector issue with checking for blocked actors

Fix issue #2975 where the cycle detector wasn’t correctly reaping cycles of dead actors. Change cycle detector to use the maximum of 1000 or 10% of all actors currently alive for how many actors to query when the cycle detector periodically checks to see which actors are currently blocked. This is based on a suggestion by @plprofetes to ensure that the cycle detector is effective even for applications with a large number (millions) of temporary actors.

Add unchop to array and unchop, repeat_str and mul to string

  • Adds unchop to both array and string to allow the the original string or array to be recovered by combining the two pieces from a previous chop.
  • Adds repeat_str and mul to string to allow easy repeating of strings (such as 'abc' * 6 to get abcabcabcabcabcabc or 'abc'.repeat_str(6, ', ') to get abc, abc, abc, abc, abc, abc)

Several Improvements to the random package

Don’t turn off Epoll OneShot when resubscribing to OneShot events

Fixes the performance regression introduced in https://github.com/ponylang/ponyc/pull/2897

Fixed

  • Don’t turn off Epoll OneShot when resubscribing to events (PR #3136)
  • Add unchop to array and unchop, repeat_str and mul to string (PR #3155)
  • Fix cycle detector issue with checking for blocked actors (PR #3154)
  • Wake up suspended scheduler threads if there is work for another one (PR #3153)

Added

  • Add Docker image based on Alpine (PR #3138)
  • Added XorOshiro128StarStar and SplitMix64 PRNGs. (PR #3135)
  • Added function Random.int_unbiased. (PR #3135)
  • Added from_u64 constructor to 128 bit state PRNGs. (PR #3135)
  • Add unchop to array and unchop, repeat_str and mul to string (PR #3155)

Changed

  • Updated XorOshiro128Plus parameters. This PRNG will now produce different values for the same seed as before. (PR #3135)
  • Use fixed-point inversion for Random.int if the platform allows. (PR #3135)

AUTHOR

Sean T. Allen

Sean is a member of the Pony core team. His turn-ons include programming languages, distributed computing, Hiwatt amplifiers, and Fender Telecasters. His turn-offs include mayonnaise, stirring yogurt, and sloppy code. He is one of the authors of Storm Applied, and VP of Engineering at Wallaroo Labs.