0.20.0 Released

Tuesday, October 17, 2017 | Posted in Release

Pony 0.20.0 is recommended update. It contains one small breaking change that is unlikely to effect most users.

Replace memory-leak-inciting Writer.reserve with more intuitive Writer.reserve_current method

Writer.reserve has been removed from the Writer package. Any calls to it should be replaced with a call to Writer.reserve_current. Note, that the semantics of the calls are somewhat different, so a direct swap isn’t advised. Writer.reserve would allocate X amount of additional memory. This non-intuitive API was leading some users to leak memory accidentally. The new reserve_current will make sure that the buffer has enough space to hold X bytes.

Turn off LTO by default on OSX

Link-time optimization, or LTO, is an optimization that can be applied to Pony programs to increase performance. It was only on by default for OSX. The could, however, lead to “spooky action at a distance” breakage of a Pony install. Upgrading XCode without reinstalling Pony will result in a broken compiler if LTO is on. We’ve decided to turn off LTO by default so that users have to knowingly opt-in to using it and won’t potentially be greeted with confusing error message should they upgrade XCode.

Fixed

  • Forbid single underscore in case expr and case methods (PR #2269)

Changed

  • Turn off LTO by default on OSX (PR #2284)
  • Replace memory-leak-inciting Writer.reserve with more intuitive Writer.reserve_current method. (PR #2260)

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 Enginerring at Wallaroo Labs.