Skip to content

0.8.0

Latest
Compare
Choose a tag to compare
@heckj heckj released this 13 Apr 19:45

Swift6 compatibility/strict concurrency update

When I originally created this package, async/await wasn't yet available. In supporting strict concurrency and the upcoming Swift 6 release, I've updated the Swift language support to require at least Swift 5.8, and changed the API to utilize async/await on the modules that produce results, with either a custom definition file for the Lindenmayer system, or leveraging the stochastic (random choices) features available in some of the Lindenmayer systems.

Known Issues

  • there's one remaining Swift6 compatibility issue, complaining that I SwiftUI's ScrollViewProxy isn't Sendable, even with a @preconcurrency import into the view that uses it (this is in the LindenmayerViews module). I suspect it will be marked as Sendable in the future, but am hesitant to apply my own assertions on that front, so I'm leaving it alone as the final remaining Swift6 compatibility issue.

What's Changed

  • use @_exported to expand SwiftUI Angle to be easier to find by @heckj in #39
  • Experimental skip synthesized symbols by @finestructure in #40
  • updating swift tooling to prep for Swift 6 concurrency updates by @heckj in #41
  • Concurrency lockdown by @heckj in #42

New Contributors

Full Changelog: 0.7.3...0.8.0