Releases: NativeScript/NativeScript
Releases · NativeScript/NativeScript
Release list
@nativescript/core@9.1.0
🚀 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
runtimePackageNametoIConfigPlatform(#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.iosWindowis renamed toNativeWindow.ios, and itswindow
property touiWindow. Migrate towin.ios?.uiWindow/win.ios?.scene.NativeWindow.androidWindowis renamed toNativeWindow.android. Migrate to
win.android?.activity.SceneEventData.windowis now theNativeWindow; the nativeUIWindow
moved toSceneEventData.uiWindow. Awindowpayload key always means a
NativeWindow.getWindows()is now role-filtered and defaults toapplication+
embedded. UsegetWindows('all')to enumerate every registered surface.- On Android, the
exitevent fires only when the last window finishes;
previously it fired for any finishing activity. iOSexitis unchanged
(process termination). - In scene mode, Application
suspend/resumereflect whole-app state. Use a
window'sbackground/foregroundevents to track a single window. - Scene disconnect and activity recreation raise
detachedinstead 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): thelaunchevent (useready+
setWindowContentResolver()),shouldDelayLaunchEvent(now a no-op),
Application.orientation()/systemAppearance()/layoutDirection()(they
delegate toprimaryWindow), and the enumeration getters (getAllWindows,
getAllScenes,getWindowScenes,getPrimaryWindow,getPrimaryScene).
Un-deprecated: theactivity*/scene*bridges onApplicationare permanent
aggregate APIs — they fire for every window, andargs.windowidentifies
which one.
❤️ Thank You
- Abdelkarim Ait Bourich @VeinDevTtv
- Boaz Blake @ebsi-bblake
- Dimitris-Rafail Katsampas @CatchABus
- Eduardo Speroni @edusperoni
- gria001
- Jason Cassidy @jcassidyav
- Jonas Katins @jkatins
- Nathan Walker
- Osei Fortune @triniwiz
- Samuel Schultze
- Tanner Linsley
@nativescript/core@9.0.20
🩹 Fixes
- android: Removed invalid default padding conversion (90f834138)
❤️ Thank You
- Dimitris - Rafail Katsampas @CatchABus
@nativescript/core@9.0.19
🚀 Features
- ios: option to delay the launch event until the app becomes active (#9906)
🩹 Fixes
- core: complete
sideEffectsdeclarations 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
- Copilot @Copilot
- Dimitris-Rafail Katsampas @CatchABus
- Eduardo Speroni @edusperoni
- Osei Fortune @triniwiz
- Owen Carey @owenthcarey
@nativescript/core@9.0.18
🩹 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
@nativescript/core@9.0.16
@nativescript/core@9.0.15
🩹 Fixes
- ios: statusBarStyle default handling and explicit control (#11093)
❤️ Thank You
- Nathan Walker
@nativescript/core@9.0.14
@nativescript/core@9.0.13
🚀 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
- Jon Zgoda @jzgoda
- Osei Fortune @triniwiz
- pichurichko @pichurichko
@nativescript/core@9.0.12
🚀 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
- Eduardo Speroni @edusperoni
- Jon Zgoda @jzgoda
- Nathan Walker
- Qazi Omair Ahmed @omairqazi29
- Samuel Schultze