Files
NativeScript/CHANGELOG.md

20 KiB

Cross Platform Modules Changelog

##1.4.0 (2015, October 12)

Fixed

  • (#904) Navigate clearHistory sometimes crashes Android with a null pointer exception

  • (#901) TypeError: using example from docs

  • (#893) isLoaded is set before calling applyStyleFromScope

  • (#873) The Repeater is re-creating its children multiple times during initialization.

  • (#867) utils.ad.async method is not implemented

  • (#857) Android action dialog actions are not shown if message is provided

  • (#851) takePicture crashes iOS Simulator

  • (#848) web-view loads local data with UTF-8

  • (#843) [iOS] Page is layouted as there is no NavigationBar

  • (#839) Page background now spans under ActionBar

  • (#837) Blank Text attribute on SearchBar crashes app

  • (#835) iOS animations combining several affine transform properties set only the first property on our view after they finish.

  • (#832) Transformations such as scale, translate, rotate won't be incorrectly affected by the layout

  • (#819) WebView check for http/https should be case insensitive

  • (#817) timers.clearInterval doesn't work on Android

  • (#814) Ternary if and parenthesis makes UI not update

  • (#808) Segmentedbar selectedIndexChanged doesn't work

  • (#805) Missing console.dump on ios...

  • (#793) Label.backgroundColor cannot be animated in iOS.

  • (#790) Cannot use number values in EditableText's hint field

  • (#777) ios Border-radius on Label

  • (#774) If an Animation instance is played more than once, the same promise is resolved each time leading to unexpected results.

  • (#772) Placeholder with an id attribute doesn't call creatingView handler

  • (#763) 1.3 - Can not build new project due to missing App_Resources

  • (#759) Android animations that animate a property to its current value do not run.

  • (#756) Nordic characters: "æøå"

  • (#744) iOS 9 issues

  • (#732) Closing an alert on the iPad crashesh the whole app.

  • (#605) Guard for "undefined" in Observable's on and off

New

  • (#890) Implement Page background option to span under status bar (iOS only)

  • (#766) Rename cssClass property to just class

  • (#740) Modules does not support iOS9

  • (#713) ReturnKeyType Listener

  • (#283) Cross platform way to clear history

  • (#241) Set base URL in WebView to be able to load resources

Breaking changes

  • (#774) Animation class no longer has a finished property because an animation can be played multiple times. The play method now returns a new Promise each time it is invoked. Use this to listen for the animation finishing or being cancelled. When upgrading to version 1.4.0 or above simply remove .finished from your code.

Old Code (JavaScript):

animation1.play().finished.then(function () { console.log("Finished"); });

New Code (JavaScript):

animation1.play().then(function () { console.log("Finished"); });

Old Code (TypeScript):

animation1.play().finished.then(()=>console.log("Finished"));

New Code (JavaScript):

animation1.play().then(()=>console.log("Finished"));

##1.3.0 (2015, September 16)

Fixed

  • (#680) Fix dialogs module parameter positions and add title as optional parameter

  • (#667) Layout is not updated once Page is shown modally and layout is requested.

  • (#654) Multiple gestures not working for Android

  • (#651) http getJSON never completes when response is not JSON

  • (#623) CSS Inconsistency...

  • (#616) TitleView in ActionBar not taking full width in android 5.1

  • (#613) WebView - support for loading local files

  • (#590) CSS not working on Repeater when bindingContext set on 'navigatingTo'

  • (#587) Animation promise in iOS may never be resolved nor rejected.

  • (#581) HtmlView only for single line?

  • (#557) Handlebar syntax in view with comma breaks silently

  • (#540) border-radius CSS property not applying properly to image on Android

  • (#537) FileSystemAccess.prototype.readText has an async interface, but is synchronous

  • (#535) Random exception when using http.getJSON()

  • (#513) Android backgroundColor animation is not gradual.

  • (#508) iOS Page lack of a background screws the page transitions

  • (#411) Setting invalid value for css properties causes app to crash

  • (#408) ScrollView does not scroll

  • (#360) Changing wrap layout paddings and its view margins runtime causes a crash on iOS.

New

  • (#698) Implement events for the SegmentedBar similar to TabView

  • (#688) JSONP support for HTTP module

  • (#672) html-view doesn't open urls

  • (#670) Add a cross platform "openUrl"

  • (#634) Make SegmentedBarItem bindable.

  • (#619) View.style is not consistent with Declarative UI .style property.

  • (#615) View Component consistancy

  • (#612) CSS @import: Make url optional for local files

  • (#610) Hiding the action bar also hides the headers of a tab view

  • (#578) Add scrollToIndex method to ListView

  • (#558) Bind multiple events on one view

  • (#551) Implement an image picker

  • (#548) Expose public API controlling whether a Page should be added to the navigation backstack or not

  • (#541) Make TabViewItem properties data-bindable.

  • (#530) Ability to set text size of searchBar

  • (#481) Support padding on TextField and Button elements

  • (#473) Add support for Notification Observers (iOS) and Broadcast Receivers (Android)

  • (#451) Improve the Network Stack

  • (#432) Expose all of the iOS UIApplicationDelegate methods as events in the application module

  • (#409) Support for modules that depend on Android AppCompat libraries

  • (#309) Support lower-case-dashed component declaration in the XML

  • (#305) Improve android layout performance by reducing marshalling calls

  • (#255) Implement cross-platform animations support

  • (#169) Create a schema for the XML UI to enable Intellisense inside AppBuilder and other IDEs.

  • (#110) Add support for orientation changed event

  • (#69) Add rotate, translate & scale transforms properties on View

  • (#68) Create common UI module that includes most commonly used UI views

Breaking changes

  • (#473) The application.ios.removeNotificationObserver method now requires an observer instance to be supplied as the first argument. The observer instance is obtained from the application.ios.addNotificationObserver method:
var observer = application.ios.addNotificationObserver(UIDeviceBatteryLevelDidChangeNotification,
    function (notification) {
        console.log(notification);
    });
application.ios.removeNotificationObserver(observer, UIDeviceBatteryLevelDidChangeNotification);

##1.2.1 (2015, August 18)

###Fixed

  • (#575) Application crashes in Android when there is an ActionBar on the first page.

  • (#576) app.css now applied when there is page-specific css.

##1.2.0 (2015, July 24)

###New

  • (#393) Create application.android instance immediately and move all android-specific events to application.android.

  • (#391) Implement cancellable back button pressed for Android.

  • (#304) Expose additional properties of NavBar/ActionBar

  • (#294) Add an optional fullscreen parameter to Page.showModal method.

  • (#263) Provide per page option for manipulating NavigationBar

  • (#191) Extend the set of support CSS properties in {N}

###Fixed

  • (#423) Showing a modal page from another modal page results in error on iOS.

  • (#422) Login dialog - iOS7: loginResult.userName returns password as a value instead of username

  • (#421) Page.showModal seems completely broken in IOS

  • (#406) Prompt dialog - iOS7: okButton returns result equal to false, cancelButton returns result equal to true

  • (#405) FPS module will now correctly count frames while scrolling in iOS

  • (#395) dialogs.action() causes app to crash on iPad

  • (#372) Simple location app doesn't perform until real gps apps are also running

  • (#368) [Screen Builder] Model is not updated when an observable object property is used in two text fields

  • (#343) Not returning a view on the view parameter of the creatingView event handler of the placeholder crash the application

  • (#322) Creating an Observable by passing a JSON object in the constructor does not define the respective properties on the Observable object instance.

  • (#285) visibility property inconsistent with CSS

  • (#270) BackgroundImage property does not respect the CornerRadius when set to Border.

  • (#261) WebView crash when navigating back

Breaking changes

  • (#304) ActionBar/NavigationBar is now defined using the page.actionBar instead of page.optionsMenu. See an example...

Known issues

  • tns debug ios command is not working. The workaround is to use tns debug ios --framework-path "__path to the iOS runtime__". A fix for this is coming in 1.2.1 which will be released in the week of July, 27th.

##1.1.0 (2015, June 10)

New

  • (#280) Change NativeActivity Pbase class in order to be compatible with Android runtime

  • (#244) Expose application level events as real events. See an example...

  • (#233) Application module event handlers are lacking in parameters. See an example...

  • (#221) view parent exposed in itemLoading event

  • (#214) Repeater component added. Read more...

  • (#207) Optimizations

  • (#199) TabView.selectedIndexChanged event

  • (#184) Hint property for TextView

  • (#176) Implement navigatingTo, navigatedTo, navigatingFrom and navigatedFrom events on Page

Fixed

  • (#267) SegmentedBar CSS color not applied correctly when items are bound

  • (#257) Fix some crashes for ListView's iOS UITableView

  • (#242) Cannot attach gesture observer for more than one gesture (Android).

  • (#234) DatePicker and TimePicker property bindings do not work in Android 5.x

  • (#228) ListPicker for Android shows text after bound to an empty array.

  • (#222) ListPicker showing number of items in list (Ticket938420)

  • (#196) Layout is incorrect after device rotation in iOS when there is navbar

  • (#193) Layout is broken when there is optionsMenu on the first page in iOS

  • (#189) Changing bindingContext affects UI elements that has a binding to bindingContext.

  • (#188) Remaining item when cleared page options menu in ios.

  • (#187) Custom source for UI element binding fails.

  • (#186) Using object get property syntax for binding expressions

  • (#175) Implement weak-event pattern on ListView (when bound to observable)

Breaking changes

  • (#242) View and GesturesObserver classes have some breaking changes related to gesture operations

##1.0.0 (2015, April 29)

New

  • New options for camera module. Added a resizing options along with keep-aspect-ratio options. More information about how to use it can be found at the dedicated camera help article.
  • First-file search order changed. Now package.json is searched first, then index.js and bootstrap.js is being searched last.

Fixed

  • Taking a full size picture in Android with NativeScript camera module.
  • Pages no more freeze on cancelling back-navigation via swipe gesture
  • Items having verticalAlignment set to center now have correct layout bounds
  • Camera for ios no more throws a Null pointer error
  • iOS dialog OK button now appears last

Breaking changes

  • image-cache now stores native image instances, i.e. android.graphics.Bitmap or UIImage.
  • Image.src property is now of type any and can accept either a string containing an image url or a native image instance.
  • Gesture related enum values changed to start with a small letter in order to be consistent with all other enums within NativeScript. For example "gesturesModule.GestureType.Tap" should be used like "gesturesModule.GestureType.tap".
  • knownEvents modules within all UI controls are removed and replaced with a static string values. In that case all possible events will be visible through the inheritance tree. These static strings have an Event suffix. At every place where viewModule.knownEvents.loaded is used should be changed to viewModule.View.loadedEvent or pageModule.Page.loadedEvent. This change is relevant to code-behind only (xml declaration will not be affected).

##0.10.0 (2015, April 17)

Fixed

New

  • In addition to binding converters introduced in version 0.42 static (global) place for most common converters is added. This place is named application.resources. More information how to use it can be found in the special help topic regarding Data binding.

  • Using plain objects (numbers, strings also an entire object) as binding context via $value. More information can be found at the dedicated Data binding help topic.

Breaking Changes

  • Image: url property renamed to src
  • Image: source property renamed to imageSource
  • TabView: TabEntry renamed to TabViewItem
  • Module local-settings changed to application-settings.Only the name of the module is changed (API remains the same), hence the require statements must be updated, i.e. require("local-settings") should be changed to require("application-settings").