Pony 是一款基于 Actor 模型,能够提供类型、内存、异常、并发多个层面的安全性保证的高性能编程语言。0.31.0 版本已经发布,更改如下:
删除 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"
为 TCPConnectionNotify 添加 proxy_via(host: String, service: String): (String, String)
在建立初始 TCP 连接之前调用此函数,允许 TCPConnectionNotify 更改连接的目标,这使 TCPConnectionNotify 实现能够处理代理握手并通过该代理重定向通信量。它是可选的实现,默认不改变任何东西。
建议 TCP 客户端创建者在其构造函数中添加一个参数,默认为 NoProxy,并包装它们的 TCPConnectionNotify,使用户能够使用代理。
actor MyClient
new create(env: Env, host: String, service: String, proxy: Proxy = NoProxy) ? =>
TCPConnection = TCPConnection.create(
env.root as AmbientAuth,
proxy.apply(MyConnectionNotify.create()),
host,
service)
修复
- 通过更改链接顺序解决静态链接问题
添加
- 为用于链接重写 ld 命令添加 --link-ldcmd 命令行参数
- 使在 glibc 系统上使用 musl 构建成为可能
- 添加 proxy_via(destination_host, destination_service) 到 TCPConnectionNotify,以允许 TCP 处理程序在连接之前更改 TCPConnectionNotify 中的主机名和服务
- 添加 add 和 sub 到 collections/persistent/Map
更改
- 删除 Map.sub 中不必要的参数
- 不再提供 AppImage 作为发布格式
请见发布说明: