Skip to content

Releases: NativeScript/NativeScript

@nativescript/core@9.1.0

Choose a tag to compare

@NathanWalker NathanWalker released this 27 Aug 21:43

🚀 Features

  • core: corner-shape css property for continuous corners on iOS (#11365)
  • ⚠️ cross-platform NativeWindow (scenes, multi-windows, improved API for iOS, and now Android) (#11181)
  • core: type uncaughtErrorPolicy and deprecate discardUncaughtJsExceptions (#11356, #409)
  • core: add HMR hooks for XML errors, module registry, and modals (a6b5c7597)
  • core: swiftui lifecycle boot apps to use standard notification observers for windows (#11345)
  • ios: ListView iosSearchInsetBehavior for search content insets (#11327)
  • ios: shared transition improvements (#11322)
  • ios: shared transition interactive morph dismiss with cornerRadius and alpha fixes (#11321)
  • config: add runtimePackageName to IConfigPlatform (#11237)
  • ios: iosContentInsetAdjustmentBehavior for ScrollView with safe-area aware layouts (#11324)
  • core: flexbox css gutters support (#11310)
  • TextBase: localized text transform (#11302)
  • core: support max-width and max-height CSS properties (#11300)

🩹 Fixes

  • core: iOS double free of V8-owned buffers; getRandomValues view handling (#11370)
  • core: restore the per-side padding setNative protocol (#11368)
  • core: custom application delegate scene wiring and non-scene launch timing (#11367)
  • core: keep function values intact when splitting css shorthands (#11364)
  • core: install global polyfills only when missing, without materializing lazy runtime globals (#11360)
  • core: detach SegmentedBar/TabView items from a previous parent before adopting them (#11353)
  • listview: correct item template resolution in sectioned ListView (#11184)
  • core: resolve ESM circular imports and tighten types for Vite (c6e6442c7)
  • core: invalidate sibling combinator selector matches on child insert/remove (#11348)
  • ios: re-attach root view after in-process runtime reload (#11261)
  • ios: ensure notification event is passed to app start when not delaying launch event (#11347)
  • ios: guard safe-area helpers against detached NS subtrees (#11325)
  • core: guard undefined navigation queue entry in Frame (#11326)
  • debugger: exclude internal props from devtools elements (#11344)
  • android: don't crash in Fragment.onCreateView on stale-fragment race (#11264)
  • ios: guard interactiveContentPopGestureRecognizer for apps built with pre-26 SDKs (#11313)
  • ios: update swipe back gesture from Page property (#11312)
  • core: remove once listeners by identity, not stale index (#11306)
  • core: added string types for LengthType properties (#11274)
  • core: use enumeratorAtPath for iOS shallow entity enumeration (#11182)
  • ios: prevent duplicate suspend/resume events when using UIScenes (#11269)
  • core: improve view teardown process for reusable views (#11260)
  • ios: handle UIColor backgroundColor in Switch (#11267)
  • android: update view imageSource when image is set asynchronously (#11215)
  • android: guard TextBase fontSize reset values (#11222)
  • android: TabView fragment manager resolution (#11228)
  • core: avoid firing removed event listeners (#11263)
  • android: Update @nativescript/core fetch to use exported DOMException (3d8e5e00d)
  • android: activity recreation crashes with tabs and complex view hierarchies (#11223)
  • android: edge to edge default behaviour (#11233)

🔥 Performance

  • core: overhaul css matching, cascade, and application (#11361)
  • core: Cache media query arrays in the ruleset (#11309)
  • core: hot-path optimizations across events, properties, CSS matching and iOS layout (#11307)

⚠️ Breaking Changes

  • cross-platform NativeWindow (scenes, multi-windows, improved API for iOS, and now Android) (#11181)
    • NativeWindow.iosWindow is renamed to NativeWindow.ios, and its window
      property to uiWindow. Migrate to win.ios?.uiWindow / win.ios?.scene.
    • NativeWindow.androidWindow is renamed to NativeWindow.android. Migrate to
      win.android?.activity.
    • SceneEventData.window is now the NativeWindow; the native UIWindow
      moved to SceneEventData.uiWindow. A window payload key always means a
      NativeWindow.
    • getWindows() is now role-filtered and defaults to application +
      embedded. Use getWindows('all') to enumerate every registered surface.
    • On Android, the exit event fires only when the last window finishes;
      previously it fired for any finishing activity. iOS exit is unchanged
      (process termination).
    • In scene mode, Application suspend/resume reflect whole-app state. Use a
      window's background/foreground events to track a single window.
    • Scene disconnect and activity recreation raise detached instead of
      destroying the window; the window stays registered and its listeners survive.
    • A window clears its event listeners after close. Do not re-use a closed
      window instance.
    • CSSUtils.getRootViewCssClasses() no longer includes orientation,
      appearance, or direction classes; these are per-window — read them from the
      window instead.
      Deprecated (still working): the launch event (use ready +
      setWindowContentResolver()), shouldDelayLaunchEvent (now a no-op),
      Application.orientation()/systemAppearance()/layoutDirection() (they
      delegate to primaryWindow), and the enumeration getters (getAllWindows,
      getAllScenes, getWindowScenes, getPrimaryWindow, getPrimaryScene).
      Un-deprecated: the activity*/scene* bridges on Application are permanent
      aggregate APIs — they fire for every window, and args.window identifies
      which one.

❤️ Thank You

@nativescript/core@9.0.20

Choose a tag to compare

@NathanWalker NathanWalker released this 27 May 14:58

🩹 Fixes

  • android: Removed invalid default padding conversion (90f834138)

❤️ Thank You

@nativescript/core@9.0.19

Choose a tag to compare

@NathanWalker NathanWalker released this 27 May 05:37

🚀 Features

  • ios: option to delay the launch event until the app becomes active (#9906)

🩹 Fixes

  • core: complete sideEffects declarations for inspector modules, network requests in devtools (#11229)
  • android: nested frame restoration step (#11226)
  • ios: improve TabView handling around more navigation controller (#11225)
  • android: apply accessibility CSS classes and font scale on init (#11224)
  • core: prevent exponential traversal in _dialogClosed and _onRootViewReset (#11220)
  • ios: layout validity status during layout changed event (#11218)
  • android: correct TabView fragment manager resolution (#11217)
  • ios: enableSwipeBackNavigation on ios 26+ (#11211)

🔥 Performance

  • core: reduce padding native setter calls (#11216)

❤️ Thank You

@nativescript/core@9.0.18

Choose a tag to compare

@NathanWalker NathanWalker released this 30 Mar 19:43

🩹 Fixes

  • ios: liquid glass flexbox (#11134)
  • ios: guard against non-string imageURI in createUIImageFromURI (#11144)
  • ios: scene notify first launch (#11149)
  • android: setTextColor is non-nullable, prevent null exception (#11147)
  • TextField: allow toggling of secure when secureWithoutAutofill is present (65503ba3f)
  • core: split http module to solve circular refs (#11141)
  • android: enable edge-to-edge only for fullscreen modals (#11140)
  • core: size export in View object (#11132)

🔥 Performance

  • TextField: optimize secureWithoutAutofill (#11131)

❤️ Thank You

  • Abdelkarim Ait Bourich @VeinDevTtv
  • Dimitris-Rafail Katsampas @CatchABus
  • felixkrautschuk
  • Juan de Dios Martínez Vallejo
  • Nathan Walker
  • xieweilyg

@nativescript/core@9.0.17

Choose a tag to compare

@NathanWalker NathanWalker released this 04 Mar 22:58

🩹 Fixes

  • ios: secureWithoutAutofill on TextField (#11129)
  • android: inset props on interface (#11103)

❤️ Thank You

@nativescript/core@9.0.16

Choose a tag to compare

@NathanWalker NathanWalker released this 04 Mar 22:55

🩹 Fixes

  • android: status bar style handling for API 30+ (#11102)

❤️ Thank You

  • darklight365

@nativescript/core@9.0.15

Choose a tag to compare

@NathanWalker NathanWalker released this 19 Feb 18:12

🩹 Fixes

  • ios: statusBarStyle default handling and explicit control (#11093)

❤️ Thank You

  • Nathan Walker

@nativescript/core@9.0.14

Choose a tag to compare

@NathanWalker NathanWalker released this 18 Feb 20:57

🚀 Features

  • android: edge to edge cutout inset (#11069)

🩹 Fixes

  • android: edge to edge bottom was applied 2x (#11090)

❤️ Thank You

@nativescript/core@9.0.13

Choose a tag to compare

@NathanWalker NathanWalker released this 31 Jan 22:59

🚀 Features

  • core: bind overridden value converters to the target (#11018)

🩹 Fixes

  • segmented-bar: selectedTextColor via CSS (#11060)
  • android: improve edge to edge handling (#11058)
  • android: protection when a11y callback fires early (#11061)

❤️ Thank You

@nativescript/core@9.0.12

Choose a tag to compare

@NathanWalker NathanWalker released this 29 Jan 04:38

🚀 Features

  • slider: add linear-gradient support for track background (#11015)

🩹 Fixes

  • polyfills eager handling when not commonjs (#11057)
  • segmented-bar: ios backgroundColor border radius on initial rendering (#11054)
  • ios: apply hidden property to shadow layer (#11051)

❤️ Thank You