Skip to content

Releases: apple/swift-distributed-actors

1.0.0-beta.3

27 Oct 14:46
1.0.0-beta.3
d816a10
Compare
Choose a tag to compare

Highlights

This release fixes a number of bugs preventing stable usage of the beta.2 release in a long running cluster (#1059).

It also performs a number of destructive renames while we still have the ability to do so.

  • Module rename (!) The DistributedActors module has been renamed to DistributedCluster as it explains more precisely what this module is offering (the ClusterSystem) type.

  • The Node and UniqueNode types have been changed to Cluster.Endpoint and Cluster.Node respectively. See #1077 for a more detailed explanation.

Internally we also adopted a new integration testing framework - offering MultiNode tests. This multi node testing framework will initially be matured internally before making it available to users outside the package. #1055

What's Changed

  • Convert SWIMActorShell to distributed actor by @yim-lee in #977
  • =reception immediately flush already known regs to a listing by @ktoso in #1049
  • =reception prevent receptionist strong retaining actors by @ktoso in #1050
  • Rewrite SWIMActor.sendPingRequests to use Swift concurrency by @yim-lee in #1052
  • New multi-node infrastructure for integration tests by @ktoso in #1055
  • =receptionist Fix receptionist crash on concurrent registrations; those are fine and expected by @ktoso in #1059
  • Correct typos in documentation by @PeterAdams-A in #1065
  • =build workaround for SwiftPM not allowing people to consume current main by @ktoso in #1067
  • Fix typo: Lifecycle example by @MaximBazarov in #1069
  • =build fix how we declare the multi-node plugin by @ktoso in #1068
  • =doc explain waiting for joined nodes better, fix link #1070 by @ktoso in #1072
  • Rename DistributedActors -> DistributedCluster module by @ktoso in #1071
  • Fix overflow in TimeSpec addition on 32-bit architectures by @orobio in #1074
  • !all node renames: node -> endpoint; unique node -> node by @ktoso in #1077
  • -test remove known flaky test of unsupported feature by @ktoso in #1079

New Contributors

Full Changelog: 1.0.0-beta.2...1.0.0-beta.3

0.7.1

21 Sep 02:36
0.7.1
3eca46b
Compare
Choose a tag to compare

This release is primarily aimed at supporting Swift 5.7 - due to the updated Swift syntax dependency.

What's Changed

Full Changelog: 0.7.0...0.7.1

1.0.0-beta.2

28 Jul 03:59
1.0.0-beta.2
811d2e8
Compare
Choose a tag to compare

This beta release marks major improvements in all surface APIs and completes most of the public surface move to distributed actors and async await. We also added more documentation and will continue adding more examples and guides about using and deploying distributed actor clusters.

A few API changes may still happen like making more methods async etc.

Documentation

Latest beta documentation is hosted on github pages.

Milestone

The 1.0.0-beta.2 milestone contains all closed issues for your reference.

What's Changed

  • Make sure to cancel listing when task is cancelled by @yim-lee in #966
  • Receptionist should flush registrations in order by version by @yim-lee in #967
  • Update receptionist tests by @yim-lee in #968
  • Make ClusterControl.membershipSnapshot async property by @yim-lee in #969
  • Add API to 'await joining cluster' by @yim-lee in #972
  • Safer lifecycle watch api by @ktoso in #961
  • =docker Fix 5.7 docker image name by @ktoso in #974
  • Codable improvements for ActorID tags by @ktoso in #915
  • !context store lifecycle in DistributedActorContext; internal only by @ktoso in #976
  • fix wrong cross module usage; seems this was not caught by CI / SwiftPM by @ktoso in #981
  • Use #filePath instead of #file by @yim-lee in #984
  • update swift tools version and required apple platforms by @JaapWijnen in #982
  • Fix #filePath related warnings by @yim-lee in #985
  • Use AsyncTimerSequence from swift-async-algorithms by @yim-lee in #986
  • Implement setting actor metadata with property wrapper fields by @ktoso in #988
  • Dead letter when remote call target is dead by @yim-lee in #989
  • Add ability to watch distributed actor with TestProbe by @yim-lee in #991
  • Silence OpLogDistributedReceptionist.sendAckOps timeout logs by @PopFlamingo in #996
  • Use correct error type for timeout error silencing by @PopFlamingo in #997
  • Remove all instances of AskResponse.wait() use by @ruslanskorb in #998
  • Fix logging level setting issue by @PopFlamingo in #1003
  • Implement ActorSingleton for DistributedActor by @yim-lee in #980
  • Support seed nodes by @yim-lee in #1005
  • Remove unused LamportClock type by @ktoso in #1007
  • Skip flaky test: ClusterLeaderActionsClusteredTests.test_singleLeader by @ktoso in #1008
  • Make installSwiftBacktrace public before we remove it by @ktoso in #1006
  • Implement generic distributed actor method call by @yim-lee in #1013
  • Change generic EventStream to ClusterEventStream and convert to actor by @yim-lee in #1012
  • Address remaining feedback in #1012 by @yim-lee in #1015
  • Distributed Actor support in Cluster Singleton by @ktoso in #1010
  • Add .devcontainer by @PopFlamingo in #995
  • Hide VersionVector by @yim-lee in #1023
  • Avoid errors in old toolchains, add to-be-removed convenience keyword by @ktoso in #1026
  • Make remote call errors configurable by @yim-lee in #1020
  • Make public enums into structs or hide them (part 1) by @yim-lee in #1025
  • Final polish and docs for singleton by @ktoso in #1022
  • Improve old betas compatibility by @ktoso in #1029
  • Make public enums into structs or hide them (part 2) by @yim-lee in #1028
  • -build remove toy "exec app" app by @ktoso in #1033
  • =receptionist lookup() trying to cast stub actor by @ktoso in #1032
  • Make public enums into structs or hide them (part 3 - final) by @yim-lee in #1037
  • -jazzy remove jazzy; we're only using docc now by @ktoso in #1038
  • [docc] Fail soundness on docc warnings (bad links), fix a few warnings by @ktoso in #1027

New Contributors

Thank you to all contributors!

Full Changelog: 1.0.0-beta.1.1...1.0.0-beta.2

1.0.0-beta.1.1

09 Jun 12:53
1.0.0-beta.1.1
Compare
Choose a tag to compare

Require macOS 13 / iOS 16

With macOS 13 beta announced, we're able to express the minimum deployment targets in Package.swift and allow developers to use this library without the -disable-availability-checking flags.

Use macOS 13 Ventura and Xcode 14.0 beta to build this project, and develop using distributed actors 🎉

What's Changed

  • Implement remoteCall without ask actors by @yim-lee in #956
  • More API and documentation cleanups by @ktoso in #954
  • Deprecations by @ktoso in #960
  • Use Swift's time types by @yim-lee in #962
  • Remove unused LamportClock type by @ktoso in #963
  • Remove -disable-availability-checking, Swift 5.7 is part of Xcode 14.0 and has right availabilities now by @ktoso in #964

Full Changelog: 1.0.0-beta.1...1.0.0-beta.1.1

1.0.0-beta.1

06 Jun 21:52
1.0.0-beta.1
7d30855
Compare
Choose a tag to compare

First Beta

This is the first beta release of the distributed actors and cluster library.

Supported features

  • a ClusterSystem implementation, enabling clustered distributed actor instances,
  • cluster events system.cluster.events, i.e. nodes joining, becoming down and leaving,
  • observe actor lifecycle and termination with LifecycleWatch,
  • a cluster-wide DistributedReceptionist implementation enabling actor discovery,
  • and more!

Refer to the reference documentation for more details

0.7.0

06 Apr 08:16
0.7.0
9fc4710
Compare
Choose a tag to compare

Support Swift and Swift Syntax 5.6

The upcoming Swift 5.7 release will not be supported on the release/0.x branch and we will move on towards the language provided distributed actor features.

What's Changed

New Contributors

Full Changelog: 0.6.10...0.7.0

0.6.10

04 Feb 02:53
0.6.10
4b6768b
Compare
Choose a tag to compare

What's Changed

Full Changelog: 0.6.9...0.6.10

0.6.8

28 Sep 22:46
0.6.8
Compare
Choose a tag to compare

Minor

  • adjust for Swift 5.5

0.6.7

22 Sep 00:27
0.6.7
bdbc34a
Compare
Choose a tag to compare

Patch

  • Fix building in release mode in Swift 5.4
  • Update some code that was causing warnings / errors

0.6.6

29 Jun 23:54
0.6.6
Compare
Choose a tag to compare
  • Fix and add debugging fir metrics which may crash with underflow #802 Thanks @budde
  • Fix 5.4 builds
  • update service discovery to 1.0

More details: https://github.com/apple/swift-distributed-actors/milestone/22?closed=1