Skip to content

v0.8.0

Latest

Choose a tag to compare

@rehmatsg rehmatsg released this 01 Sep 21:49
· 1 commit to main since this release
111ae61

Monorepo restructure, plus two API removals. The SwiftUI renderer is now a
standalone Swift package that native iOS apps can install straight from GitHub,
and the Flutter plugin lives beside it in the same repo, consuming it by
relative path. protocolVersion stays 1 — the two sides remain wire
compatible in both directions; the Dart API loses the long-deprecated legacy
facade and one parameter that never did anything.

  • Standalone LiquidToasts Swift package — the iOS renderer ships on its
    own, installable in any iOS app from
    https://github.com/SimplifyJobs/liquid-toasts.git (Xcode's package picker or
    from: "0.8.0"), with a new native LiquidToast facade that mirrors the
    Dart API (LiquidToast.success("Saved"), live handles, promise, app-wide
    config) — see
    the native README.
    Both packages ship from the same vX.Y.Z tag, and the plugin's iOS side is a
    bridge (channels + wire decoding) over that package, so the renderer exists
    exactly once with no vendored copy to drift.

  • BREAKING — CocoaPods support dropped. There is no podspec any more; the
    iOS side is Swift Package Manager only. Enable Flutter's SwiftPM mode once per
    machine, or an iOS build fails with a missing-podspec error:

    flutter config --enable-swift-package-manager
  • BREAKING — install is now a pubspec git dependency with a path, since
    the plugin lives in a subdirectory of the monorepo:

    dependencies:
      liquid_toasts:
        git:
          url: https://github.com/SimplifyJobs/liquid-toasts.git
          ref: v0.8.0
          path: liquid_toasts
  • BREAKING — the deprecated LiquidToasts facade is removed, along with
    LoadingToast and showLoading. Every member has a one-line equivalent on
    the global toast, which has always driven the same engine:
    LiquidToasts.success('Hi')toast.success('Hi') (the handle comes back
    synchronously now, so drop the await), LiquidToasts.show(Toast(...))
    toast.raw(Toast(...)), LiquidToasts.showLoading(f, config: LoadingToast(...))toast.promise(f, loading:, success:, error:); and
    dismiss, dismissAll, setDefaults, queryGeometry,
    errorMessageResolver, activeCount and activeIds read the same on
    toast.

  • BREAKING — useDynamicIslandOrigin is removed from Toast, every
    toast.* method, ToastHandle.update, and the native LiquidToast facade.
    No renderer on either platform ever consulted it, so dropping the argument
    changes nothing you can see. Its wire key is gone too — both decoders already
    defaulted when it was absent, so protocolVersion stays 1. The device
    geometry / cutout snapshot (toast.queryGeometry()) still reports the
    cutout (hasDynamicIsland, cutoutType, exclusionRect), but its
    supportsDynamicIslandOrigin key is gone with the feature.

  • Fixed: sibling jank when a multiline toast enters the stack. The wrap
    decision is now pre-measured synchronously (a UIKit twin of the off-screen
    probe, including the action button's real label width), so a tall toast's
    very first layout is already at its final height.
    Previously it entered at single-line height and grew a frame later when the
    probe landed — an unanimated re-layout that made the already-visible toasts
    jump a few pixels mid-push before the spring caught up. The rare case where
    the live layout disagrees with the pre-measurement now animates instead of
    snapping.

  • The checkout-folder rename caveat is gone — the plugin folder inside the
    repo is already named liquid_toasts, so Flutter's SwiftPM integration
    derives the right package identity in every install mode (git, path, or a
    local clone of the liquid-toasts repo). Nothing to rename after cloning.

Install

Flutter (iOS needs Swift Package Manager mode:
flutter config --enable-swift-package-manager):

dependencies:
  liquid_toasts:
    git:
      url: https://github.com/SimplifyJobs/liquid-toasts.git
      ref: v0.8.0
      path: liquid_toasts

Native iOS — Swift Package Manager:

.package(url: "https://github.com/SimplifyJobs/liquid-toasts.git", from: "0.8.0")