Changelog History
Page 12
-
v5.2.0 Changes
February 08, 2019๐ Bug Fixes
- android: raise resume event on activity.onPostResume() (#6766) (46c9de0)
- android: animator restore logic on simulated nav (#6710) (c034d6e)
- android: failure saving state in mixed parent/nested frame nav (#6719) (4dc35a5)
- android: a crash on application restart after livesync changes (#6756) (1f1d722)
- android: use passwordHint for password placeholder (25f4b56)
- android: clear dialog fragment when closing modal view (#6852) (8c80044)
- android: app crashes on ListView item template change (#6634) (2085d1e)
- android: fix a crash if modal is destroyed before dismissed (#6723) (8a32102)
- ios: native view frame optimizations in nested scenario (#6809) (08acd84)
- ios: textview content clipped on every other newline (#6864) (23dc84d)
- ios: tearDownUI and reset UINavigationController (#6817) (cea97c6)
- action-bar: flat mode breaks ios safe area (#6862) (603c901)
- tab-view: remove onBackPressed override (#6755) (984f162)
- call onNavigatingFrom event only if it exists (#6773) (19dfd16)
- ๐ app launch with application style hot module updates (7ced019)
๐ Features
- ๐ provide API to release the native object wrapped by a JS one (#6873) (8b4a9b3)
- HMR: apply changes in application styles at runtime (42a1491)
- dialog: add decimal input type for prompt dialog (#6805) (408614d)
- image-cache: expose onError callback (#6458) (3481e6f)
- android: option to make dialogs cancelable (#6765) (3a8c3fc)
- โ add rebeccapurple to known css colors (#6819) (672c821)
- โ add OnDiscardedError typings and event (#6777) (28db2af)
-
v5.1.2 Changes
January 13, 2019 -
v5.1.0 Changes
December 05, 2018๐ Bug Fixes
- android-styling: correctly detect if drawable uses ColorFilter (#6342) (11d3884), closes #6341
- listview: incorrect layout when scroll (#6656) (63be78a)
- modals: regression with modals in angular (#6655) (30df4d9)
- searchbar: isEnabled and isUserInteractionEnabled (#6636) (25c99d8)
- โ tests: Sporadic failures after upgrade to WebKit 12.0 (#6635) (65e3a19)
๐ Features
- โ add hints options for username and password fields (#6416) (c834181)
- ActionBar: apply text color when largeTitletextAttribute is set on iOS (#6631) (b58dff0)
- modals: Enable modal dialog chaining in IOS (#6637) (64bccb9)
- scrollbar: add isScrollEnabled property (#6640) (ae0fa90)
- tabview: add androidSwipeEnabled property (#6652) (0b239d7)
-
v5.0.5 Changes
November 26, 2018 -
v5.0.4 Changes
November 26, 2018 -
v5.0.3 Changes
November 20, 2018๐ Bug Fixes
- crash on Android Tab-View #6466 (#6467) (db33cf3), closes ac04ede#diff-f1459d509d1432b432c29bcd30e462fbL97
- doc of transitionAndroid property of NavigationEntry interface (#6563) (efe3318)
- layoutChanged event in landscape (#6520) (7fbdc7a)
- nested frames order with tabs & suspend/resume (#6528) (7df8038)
- Resolve incorrect name of listener when unsubscribing (#6487) (af5eb73)
- Resolve incorrect name of listener when unsubscribing (#6487) (2933a9a)
- image: uncaught error in promise with image handling (#6453) (950fdcf)
- android: back navigation on app suspend/resume (#6489) (999e378)
- android: back navigation on app suspend/resume (#6489) (fac970e)
- android: IllegalStateException with tabview&nested frames (#6495) (7d21b5c)
- android: IllegalStateException with tabview&nested frames (#6495) (41ba93d)
- ios: safe area handling in scrollview (#6561) (51a191f)
- ios: scrollview safe area when no scroll (#6568) (f90995f)
๐ Features
-
v5.0.0 Changes
November 01, 2018๐ Bug Fixes
- don't crash on missing resources in tab-view and action-bar (#6388) (56a1b12)
- nested fragments interact through child fragment manager (#6293) (3071720)
- Page and Frame isLoaded undefined checks (#6255) (12fade7)
- connectivity: making startMonitoring() behave on iOS as on Android (#6373) (a58fc52)
- observable-array: reduce no longer ignores zero as initial value (#6402) (c0438df)
- modals: application activityBackPressed event not fired for modals (#6261) (8575c60)
- list-view: Layout list-view items on request (#6159) (ec24c5a)
- tab-view: Title and icon positioning (#6362) (e3d5f0d)
- tab-view: change androidOffscreenTabLimit to 1 when using bottom tabs for android(#6476) (371fc9b)
- android: HEAD request should return statusCode (7e89f94)
- android: nested frames on app suspend/resume (#6339) (0bf6dc2)
- android: parallel navigations should not be triggered (#6275) (6c9fa16)
- android: suppress reflection for default animations (#6141) (cc19b40)
- android/platform: reinitialise screen metrics on orientation change (#6164) (2ee1d7d)
- ios: listview scrollToIndex crash with async data (#6182) (a8d016c)
- ios: nowrap label measure in horizontal stack layout (#6186) (a1c570c)
- ios: TimePicker minuteInterval property (#6116) (88f7ed8)
๐ Features
- โ add ability to pass touch event through parent view (#6204) (2625683)
- ๐ implement capitalization type option for prompt dialogs (#6325) (ae6a661)
- application-settings: implemented allKeys method (#6371) (829d18b)
- frame: add new actionBarVisibility property (#6449) (0002624)
- frame: hardware back in parent frame when back states available (#6446) (af651d6)
- grid: implement addChildAtCell (#6411) (a3f1493)
- image-asset-ios: add autoScaleFactor option to switch auto scaling (#6127) (81e63ee)
- styling: Add two functions to control applicationAdditionalSelectors (#6124) (85b8c01)
- tslib: add tslib helpers to global (#6351) (1232d1e)
- android: add Bluetooth connectivity type for Android (#6162) (f1bef48)
- android: migrate to support library apis (#6129) (cf034dd)
- android: platform declarations for Android API 28 (Android 9) (#6243) (b9fc373)
- iOS: Safe Area Support (#6230) (982acdc)
- iOS: update platform declarations (f54f71b)
๐ฅ BREAKING CHANGES
- android: NativeScript core framework now extends support library APIs versus native framework classes as per Google's latest guidelines (#6129) (cf034dd):
- NativeScript activities now extend
android.support.v7.app.AppCompatActivity
(vs android.app.Activity) - NativeScript fragments now extend
android.support.v4.app.Fragment
(vs android.app.Fragment) - NativeScript now works internally with
android.support.v4.app.FragmentManager
(vs android.app.FragmentManager)
- NativeScript activities now extend
๐ The implications of these changes should be mostly transparent to the developer except for the fact that the support library Fragment / FragmentManager work with Animation APIs versus Animator APIs.
0๏ธโฃ For Android API Levels lower than 28 the new Fragment API uses a different fragment enter animation by default. You can customise the transition per navigation entry or globally via the navigation transitions API Before: 0๏ธโฃ Default fragment enter animation was fade animation
After: 0๏ธโฃ Default fragment enter animation for API levels lower than 28 is now a fast "push fade" animation; default fragment enter animation for API levels equal to or greater than 28 remains fade animation
- ๐ Layout class (
tns-core-modules/ui/layouts/layout
) is now removed as it is not used in {N} framework any more.
Before: Built-in {N} layouts GridLayout, StackLayout, WrapLayout, etc. extended
Layout
classAfter: Built-in {N} layouts GridLayout, StackLayout, WrapLayout, etc. now extend
LayoutBase
classTo migrate your code follow the example below:
Before:
import { Layout } from "ui/layouts/layout"; // ... let wrapLayout: Layout; export function pageLoaded(args: EventData) { const page = <Page>args.object; wrapLayout = page.getViewById<Layout>("wrapLayout"); }
After:
import { LayoutBase } from "ui/layouts/layout-base"; // or import { WrapLayout } from "ui/layouts/wrap-layout; // ... let wrapLayout: LayoutBase; // or let wrapLayout: WrapLayout; export function pageLoaded(args: EventData) { const page = <Page>args.object; wrapLayout = page.getViewById<LayoutBase>("wrapLayout"); // or wrapLayout = page.getViewById<WrapLayout>("wrapLayout"); }
android: change androidOffscreenTabLimit to 1 when using bottom tabs of tab-view(#6476) (371fc9b)
ios: widgets native view lifecycle refactoring - native view is now created right before they are added to visual tree (#6102) (46705ee):
๐จ The iOS widgets native view lifecycle now matches the Android widgets. Before, the iOS native view was created in the widget constructor and you could manipulate the native view right after the widget is instantiated. After the refactoring, the widget's native view will be created when it's added to the visual tree. The most correct way to manipulate the native view is in the
loaded
event handler.Before:
import { Button } from "ui/button"; // ... const button = new Button(); button.nativeView.someNativeAPIMethod();
After:
import { Button } from "ui/button"; // ... const button = new Button(); button.on("loaded", () => { button.nativeView.someNativeAPIMethod(); });
- ios: Widgets that inherit the
ContainerView
class now overflow the safe area by default (#6230) (982acdc):
These are:
AbsoluteLayout
,DockLayout
,GridLayout
,StackLayout
,WrapLayout
,FlexboxLayout
,ScrollView
,ListView
,WebView
andRepeater
.โช The change is that now if these widgets touch the edge of the safe area, they will be automatically expanded to the edge of the screen. This will change their width and height. Margins and paddings will still be applied only in the safe area. This behavior can be reverted to the old one by setting the
iosOverflowSafeArea
property of the widget tofalse
. -
v4.2.1 Changes
September 18, 2018๐ Bug Fixes
- enable reportProgress property for NativeScirpt Angular's HTTPClient (#6154) (349850f)
- ios: listview scrollToIndex crash with async data (#6182) (ca6cccb)
- ios: touch delegate does not call base class touch methods (#6113) (284cd5)
- ios: TimePicker minuteInterval property (#6116) (ca9bad6)
- android: parallel navigation actions should not be triggered (#6275) (405ccae)
- android: HEAD request should return statusCode (fe35567)
- observable array reduce bug (#6219) (b028dd9)
- Page and Frame isLoaded undefined checks (#6255) (4a11cf9)
- android/platform: reinitialise screen metrics on orientation change (#6164) (040781c)
- ios: nowrap label measure in horizontal stack layout (#6186) (efd5f8d)
- list-view: Layout list-view items on request (#6159) (115a4c1)
- modals: application activityBackPressed event not fired for modals (#6261) (13d4f34)