All Versions
161
Latest Version
Avg Release Cycle
23 days
Latest Release
540 days ago

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

    ๐Ÿ› Bug Fixes

    • list-view-android: app crashes on ListView item template change (#6634) (e03f5f9)
  • v5.1.1 Changes

    December 19, 2018

    ๐Ÿ› Bug Fixes

    • android: animator restore logic on simulated nav (#6710) (54b6df6)
    • android: failure saving state in mixed parent/nested frame nav (#6719) (e5f110f)
    • android: nested fragment disappears on parent fragment removal (#6677) (c084660)

    ๐Ÿ”‹ Features

    • tns-platform-declarations: Generate iOS typings from iOS 12.1 SDK (#6693) (1c0218e)
    • view: added iOS parameter for modal presentation style (#6409) (540b2b4)
  • 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

    ๐Ÿ› Bug Fixes

    • android-fragment: child already has a parent (#6589) (5b9b335)
    • back-navigation: app freeze on going back in parent frame with states (#6595) (fc1f8c1)
  • v5.0.3 Changes

    November 20, 2018

    ๐Ÿ› Bug Fixes

    ๐Ÿ”‹ Features

    • โž• add number and phone input types for prompt dialog (#6365) (7e7c050)
  • v5.0.2 Changes

    November 07, 2018

    ๐Ÿ› Bug Fixes

    • android: back navigation on app suspend/resume (#6489) (999e378)
    • android: IllegalStateException with tabview and nested frames (#6495) (7d21b5c)
    • Resolve incorrect name of listener when unsubscribing (#6487) (af5eb73)
  • 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)

    ๐Ÿ‘ 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 class

    After: Built-in {N} layouts GridLayout, StackLayout, WrapLayout, etc. now extend LayoutBase class

    To 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 and Repeater.

    โช 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 to false.

  • 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)