Skip to content

Releases: TokamakUI/Tokamak

0.5.3

28 Nov 11:59
cabe5ab
Compare
Choose a tag to compare

A bugfix release that fixes Toggle values not updated when reset from a binding. Additionally, the embedded internal implementation of JSScheduler is replaced with one from OpenCombineJS. This library is a new dependency of Tokamak used in the DOM renderer.

Closed issues:

  • Toggle value not updated when it's reset from a binding (#287)

Merged pull requests:

0.5.2

12 Nov 14:45
d5a50e7
Compare
Choose a tag to compare

This is a bugfix release that fixes in-tree updates in cases where type of a view changes with conditional updates. Thanks to @vi4m for reporting the issue!

Merged pull requests:

0.5.1

09 Nov 13:01
33adba2
Compare
Choose a tag to compare

A bugfix release to improve compatibility with Xcode autocomplete.

Merged pull requests:

0.5.0

08 Nov 23:43
014383f
Compare
Choose a tag to compare

This is a compatibility release with small feature additions. Namely the Link view is now available, and our JavaScriptKit dependency has been updated. The latter change now allows you to open Package.swift package manifests of your Tokamak projects with working auto-complete in Xcode. Also, our dark mode implementation now more closely follows SwiftUI behavior.

Many thanks to @carson-katri and @kateinoigakukun for their contributions to this release!

Closed issues:

  • Can't build Tokamak project - carton dev command (#296)
  • Colors should change depending on light/dark color scheme (#290)
  • Pattern for handling global dom events (#284)
  • 0.4.0 upgrade / regression? (#283)

Merged pull requests:

0.4.0

30 Sep 10:24
b5b68c4
Compare
Choose a tag to compare

This is mainly a bugfix and compatibility release with a small feature addition. Namely, Slider view is introduced in the DOM renderer, and binding updates for SVG elements are working now. During this development cycle efforts of our team were devoted to recently released JavaScriptKit 0.7 and carton 0.6. Both of those releases are pretty big updates that improve developer experience significantly, and this version of Tokamak requires those as minimum versions.

Many thanks to @j-f1 and
@kateinoigakukun for their contributions to these updates!

Closed issues:

  • HTML + Binding (#278)

Merged pull requests:

0.3.0

19 Aug 09:19
75d178e
Compare
Choose a tag to compare
0.3.0 Pre-release
Pre-release

This release improves compatibility with the SwiftUI API and fixes bugs in our WebAssembly/DOM renderer, included but not limited to:

  • support for App/Scene lifecycle;
  • ColorScheme detection and environment setting;
  • dark mode styles;
  • @StateObject property wrapper implementation;
  • SidebarListStyle, ButtonStyle, GeometryProxy types;
  • NavigationView and GeometryReader views.

Additionally, new TokamakStaticHTML renderer was added that supports rendering stateless views into static HTML that doesn't include any JavaScript or WebAssembly dependencies. This is useful for static websites and in the future could be used together with TokamakDOM for server-side rendering.

Tokamak 0.3.0 now requires 5.3 snapshots of SwiftWasm, which in general should be more stable than the development snapshots that were previously used, and is also compatible with Xcode 12 betas. If you have a .swift-version file in your project, you should specify wasm-5.3-SNAPSHOT-2020-07-27-a in it or a later 5.3 snapshot, otherwise carton 0.5 selects a compatible 5.3 snapshot for you automatically. Allowing carton to select a default snapshot is the recommended approach, so in general we recommend avoiding .swif-version files in projects that use Tokamak.

Many thanks to @carson-katri, @j-f1, and @Outcue for their contributions to this release.

The complete list of changes included in this release is available below.

Closed issues:

  • Command "carton dev" failed (#258)
  • Dark mode detection causes crashes in Safari (#245)
  • Add dark color scheme style (#237)
  • Establish App lifecycle as the only way to start rendering (#224)
  • Runtime issues with dynamic properties in App types (#222)
  • List appearance changes when reloaded (#212)
  • List scrolling does not work on Firefox 78 on macOS (#211)
  • Scrolling broken when List is child of NavigationView (#208)
  • Rectangle frame is not being set properly (#185)
  • Implement SidebarListStyle (#180)
  • Implement GeometryReader/GeometryProxy (#176)
  • @StateObject support (#158)
  • NavigationView/NavigationLink (#129)

Merged pull requests:

WebAssembly support

21 Jul 18:49
ddf3e86
Compare
Choose a tag to compare
WebAssembly support Pre-release
Pre-release

This is the first release that supports WebAssembly and browsers with the new TokamakDOM module. The API now closely follows SwiftUI, while the new React-like API is no longer available. Unfortunately, since older versions of iOS don't support opaque types, and you already can use SwiftUI on iOS versions that do support it, iOS and macOS renderers are no longer available. Many thanks to @carson-katri, @j-f1, @helje5, @hodovani, @Outcue, @filip-sakel and @noontideox for their contributions to this release!

Closed issues:

  • State vars have to be first (#190)
  • Implicit 8 pixel margin added to html body (#188)
  • Unable to set Color value (#186)
  • Crash in protocol conformance code (#167)
  • Extend Path to match the SwiftUI API (#156)
  • Some primitive Views cannot access @Environment (#139)
  • Logo for the project (#132)
  • ZStack? (#111)
  • View has - by default - a Body of type Never. (#110)
  • Getting value of type 'String' has no member 'components' (#108)
  • Does iOS 10 work? (#105)
  • Add Tokamak project linter (#77)
  • Ambiguous reference to member 'node' (#68)

Merged pull requests:

0.1.2

18 Mar 13:19
e21f50c
Compare
Choose a tag to compare
0.1.2 Pre-release
Pre-release

Update example code in README for CocoaPods page.

0.1.1

18 Mar 10:31
20fe1dd
Compare
Choose a tag to compare
0.1.1 Pre-release
Pre-release

Update rendered README.md on CocoaPods page.

0.1.0

18 Mar 10:21
76085ad
Compare
Choose a tag to compare
0.1.0 Pre-release
Pre-release

First release with an iOS renderer for UIKit and a basic macOS renderer for AppKit.