Releases: ponylang/lori
0.5.0
Add Windows Support
Windows support has been added to Lori.
All tested functionality is equivalent between Windows and Posix platforms. However, not all untested functionality is guaranteed to be in place as a deeper review of Windows support needs to be done. At minimum, the Windows implementation is currently lacking support for backpressure to be applied when the OS exerts it on a Lori program while it is sending.
Extensive additional work will be done on Windows support, but going forward, Windows will be a first-class Lori platform.
TCPListenerActor.on_accept
signature changed
Previously, the signature had TCPConnectionActor
as the type. It has been updated to be TCPServerActor
. Listeners must return a server instance, the old signature allowed for returning a client. Returning a client would result in a runtime error. The change in signature makes this a compile time error.
[0.5.0] - 2022-11-02
Added
- Add Windows Support (PR #82)
Changed
TCPListenerActor.on_accept
signature (PR #82)
0.4.0
Make Lori callbacks private
All the callbacks on TCPClientActor
, TCPServerActor
, and TCPConnectionActor
have been changed to private from public. This better indicates that the methods are not intended to be called from outside of Lori. To update, you'll need to make the methods on your objects that implement any of the above traits private as well.
Rename _on_failure
callbacks
_on_failure
is very generic and doesn't state what the failure was. When someone is using lori, they will have an _on_failure
callback that could be any number of failures for that actor. Switching the name to something more specific should make it considerably more clear.
_on_failure
forTCPListenerActor
has been renamed_on_listen_failure
._on_failure
forTCPClientActor
has been renamed_on_connection_failure
.
Adjusting to this change is as simple as finding any usage you had of _on_failure
and replacing it with _on_connection_failure
or _on_listen_failure
as appropriate.
[0.4.0] - 2022-10-04
Changed
0.3.0
Update object capabilities to match Pony standard library pattern
In Pony version 0.49.0, the pattern for how object capabilities were implemented was changed. Lori's usage of object capabilities has been updated to match the pattern used in the standard library.
Note, this is a breaking changes and might require you to change your code that involves object capability authorization usage. Only a single "most specific" authorization is now allowed at call sites so previously where you could have been using AmbientAuth
directly to authorization an action like creating a TCPListener
:
TCPListener(env.root, host, port, enclosing_actor)
You'll now have to use the most specific authorization for the object:
TCPListener(TCPListenAuth(env.root), host, port, enclosing_actor)
[0.3.0] - 2022-09-28
Changed
- Update object capabilities to match Pony standard library pattern (PR #76)
0.2.2
0.2.1
Update to work with Pony 0.49.0
Pony 0.49.0 introduced a lot of different breaking changes. We've updated to account for them all.
[0.2.1] - 2022-02-26
Fixed
- Update to work with Pony 0.49.0 (PR #74)
0.2.0
Update interfaces with private methods work with Pony 0.47.0
Interfaces are no longer allowed to be private so TCPListenerActor
,TCPConnectionActor
, TCPClientActor
, and TCPServerActor
have been changed from interfaces to traits.
[0.2.0] - 2022-02-02
Changed
- Update interfaces with private methods work with Pony 0.47.0 (PR #71)
0.1.1
Update to work with latest ponyc
The most recent ponyc implements RFC #65 which changes the type of Env.root
.
We've updated accordingly. You won't be able to use this and future versions of the library without a corresponding update to your ponyc version.
[0.1.1] - 2022-01-16
Fixed
- Update to work with Pony 0.46.0 (PR #70)
0.1.0
Change License
The Lori license has been changed from a LGPL license to a BSD based license to better align with the Pony license.
Fix loss of incoming connections
Incoming connections that arrived close together might sometimes be accepted by the OS but never handled by Lori.
[0.1.0] - 2021-05-07
Fixed
- Fix loss of incoming connections (PR #63)
Changed
- Change license to BSD (PR #62)
0.0.1
[0.0.1] - 2020-09-18
Added
- Initial release