Skip to content


Choose a tag to compare
@SeanTAllen SeanTAllen released this 31 Aug 12:03

Pony version 0.31.0 is now available. This is a "smaller" release than some recent ones. Most of the changes in Pony lately have been happening behind the scenes.

0.31.0 is a breaking release. There's a small change to Map.sub that might break your code. Details follow. There are no serious bugs fixed in 0.31.0 so you can upgrade at your leisure.

Remove unnecessary argument to Map.sub


let m: Map[String, U32] = Map[String, U32]
m.insert("one", 1)
m.insert("two", 2)
let m2 = m - ("two", 3132047) // removes ("two", 2) from the Map


let m: Map[String, U32] = Map[String, U32]
m.insert("one", 1)
m.insert("two", 2)
let m2 = m - "two"

Add proxy_via(host: String, service: String): (String, String) to TCPConnectionNotify

This function is called before the initial TCP connection is made, allowing the TCPConnectionNotify to alter the target of the connection. This enables a TCPConnectionNotify implementation to handle the proxy handshake and redirect traffic via that proxy.

It is optional to implement, with the default changing nothing.

It is recommended that TCP client creators add a parameter to their constructors, with the default of NoProxy and to wrap their TCPConnectionNotify which enables users to use proxies.

actor MyClient
  new create(env: Env, host: String, service: String, proxy: Proxy = NoProxy) ? =>
    TCPConnection = TCPConnection.create(
        env.root as AmbientAuth,

[0.31.0] - 2019-08-31


  • Fix static linking issue by changing the link order (PR #3259)


  • Add --link-ldcmd command line argument for overriding the ld command used for linking (PR #3259)
  • Make builds with musl on glibc systems possible (PR #3263)
  • Add proxy_via(destination_host, destination_service) to TCPConnectionNotify to allow TCP handlers to change the hostname & service from a TCPConnectionNotify before connecting (PR #3230)
  • Add add and sub to collections/persistent/Map (PR #3275)


  • Remove unnecessary argument to Map.sub (PR #3275)
  • No longer supply AppImage as a release format (PR #3288)