Fixes:
- Prevent triggering a crash bug affecting iOS v4.0.8 and earlier when setting a
numberas the navigation bar title
Fixes:
- Prevent duplicate postMessage events from being received in WebViews originating the event (fixes #1033)
Changes:
- Do not spam console with debug output from WebBridge and ModuleBridge
Fixes:
- Fix dispatching of
visibilitychangeevent in some older versions of the Android Platform WebView.
Features:
- Trigger event
blockedforsteroids.view.on()and.off()when trying to close the current WebView which is not yet ready to be disposed (controlled by Supersonic).
Features:
- PreviewFileView now supports remote URLs
- Display a blocking native spinner with
steroids.spinner.showand hide it withsteroids.spinner.hide. Spinner can block either the current webview or the whole app. - New API to display a media gallery:
mediaGallery = new steroids.views.MediaGalleryView {
files: [...]
}
steroids.modal.show {
view: mediaGallery
}
- Support for Native Loading View.
- Support for animations when calling steroids.view.displayLoading({transition:'slideFromRight', ...});
Fix:
- Add source argument to postMessage if it's not supplied. Fail gracefully when trying to send objects with functions.
Features:
- Module bridge for web
Bugfixes:
- Fixed issue where window.postMessage could not be used for it's original purpose (iframe message passing). No longer hjiack the whole message, let it pass through.
Features:
- Enabling/Disabling the Drawer via API. Closes #749.
Features:
- Add
steroids.getLaunchURIAPI (requires Android native runtime v4.0.5/iOS v4.0.4)
Features:
- Support fade animations for modals
Features:
- Removed timeOut hack from JSCoreBridge now that the problem was fixed in iOS native 4.0.2
Features:
- Fixed
visibilitychangeso thathiddenevents may also fire on Android.
Features:
- Fixed the
visibilitychangeevent to work with Android.
Features:
- API calls for styling Native UI with CSS:
- API methods
setStyleandsetClassfor Tab Bar and Navigation Bar - API method
setThemeto apply a set of styles at once
- API methods
steroids.screen.dismissNextAlertto dismiss the next appearing alert (intended for test automation)steroids.view.navigationBar.tapButtonto tap a specified navigation bar button (intended for test automation)
Bugfixes:
- Allow
steroids.layers.replaceto be used even when the target view is in the layer stack (fixes #411) - Fixed typo in Drawer options (strechDrawer -> stretchDrawer)
Rollback: steroids.views.WebView object reads url parameters from _parameters object instead of parameters. Related to #502
We have added a lot more tests to our Steroids.js testApp for etc. pushing layers from the initialView etc, check them out!
Secret features:
- Tabs for Android (Fresh) have the possibility to be defined to be at the top or the bottom of the screen.
- On the top the tabs would be "Android default" but for now tabs can only be at the bottom to make the app look similar to iOS apps on Android.
- The first things for MapViews are now in Steroids.js, but this feature is not coming before iOS native runtime v4.0.0.
Features:
steroids.views.WebViewnow accepts object key calledparameterswith object as a value. Parameters object key/value pairs are added to the location url (after encodeURIComponent). Issue #502.
Bugfixes:
steroids.view.paramsno longer returns object with current location as a key with undefined value when no queryParameters in the view URL.
Changes:
steroids.view.paramsobject keys and values are now decoded using decodeURIComponent
##3.5.1 (2014-08-21)
Features:
- Added
waitTransitionEnd: trueparameter forsteroids.modal.show. iOS only. (Requires iOS native runtime v3.5.1 or newer.)- This will cause the modal to wait until any existing transition (such as
steroids.layers.push) is finished before showing the modal. - Without this parameter, calling
steroids.modal.showwhile a transition is in progress will trigger the failure callback.
- This will cause the modal to wait until any existing transition (such as
- Added
steroids.keyboard.onactionButtonPressedevent listener. Android only. **(Requires Fresh Android native runtime v3.5.1 or newer.)- This event is triggered when the Go button is pressed (present on the software keyboard of older Android versions).
Bugfixes:
steroids.view.setBackgroundColornow properly honorsbackground-color: transparentCSS property. Closes #304.steroids.view.setBackgroundImageno longer randomly displays a white box on top of the background. Closes #38.
##3.5.0 (2014-07-14)
Features:
steroids.tabBar.replacefor replacing the native tab bar with new tabs. iOS only.
Bugfixes:
- Calling
alertinside apostMessageevent listener no longer freezes the app. Closes #379.
##3.1.12 (2014-06-09)
Support for Fresh Android API bridge added.
##3.1.11 (2014-05-22)
Features:
- Added missing callback options for
steroids.layers.popAll(), addingonTransitionStartedand onTransitionEnd`. iOS only.
Bugfixes:
- Certain APIs (such as
steroids.layers.popAll()) no longer give errors if called without callbacks.
##3.1.10 (2014-05-21)
Support for the Initial View; steroids.getApplicationState, steroids.screen.rotate and native UI events are no longer secret features; bugfixes.
Features:
steroids.initialView.show()andsteroids.initialView.dismiss()for showing/dismissing the Initial View.steroids.modal.hideAll()to hide all currently open modals. (BREAKING: replaces secretsteroids.modal.closeAll()introduced in 3.1.9.)steroids.getApplicationState()returns the application state including all preloaded webviews, tabs, modals and drawer controllers.- New
steroids.screen.rotateAPI that allows for the device orientation to be set programatically. - Register event listeners for the new native UI events with
steroids.drawers.on(),steroids.layers.on(),steroids.tabBar.on(),steroids.modal.on()andsteroids.view.on()(event listeners are unregistered with the.off()functions). - Setting the
window.AG_allowedRotationsDefaultsarray beforesteroids.jsis loaded will override the WebView defaultsteroids.view.setAllowedRotations([0])with the given array. - New iOS JavaScriptCore bridge - more awesome, faster and etc.
Bugfixes:
steroids.modal.show()actually usesnavigationBarproperty (as documented) instead of deprecatedhidesNavigationBarproperty.- BREAKING: Fixed typo'd
steroids.drawers.updateparameter to bestretchDrawer, notstrechDrawer.
Changes:
- Deprecated
steroids.view.rotateTo(), usesteroids.screen.rotate()instead.
##3.1.9 (2014-05-06)
New drawers, set background image for a WebView, use unfiltered images for navigation bar buttons, open modals with navigation bar, bugfixes. All updates in v3.1.9 are iOS-only.
Features:
steroids.views.WebView.setBackgroundImageto set a background image for a WebView.steroids.buttons.NavigationBarButtonnow supports theimageAsOriginalproperty, allowing you to use an image for a navigation bar button without applying Apple's color filter on it.steroids.modal.shownow has anavigationBarproperty; setting it totruewill open the modal with the navigation bar displayed.
Changes:
steroids.drawersis completely reworked on the native side, with support for drawers on both sides, more open gestures, different animations for displaying the drawer and more:- New API method
steroids.drawers.updatefor updating/setting the WebViews used for drawers as well as drawer options. See the API docs for all the goodies! steroids.drawers.hidenow supports replacing the center view as part of the API call.- BREAKING:
steroids.drawers.showis now only used to display drawers that have been set up withsteroids.drawers.update, and cannot be used to initialize the drawer anymore. - BREAKING:
steroids.drawers.defaultAnimationschanged to include four default animation types: slide, slide and scale, swinging door and parallax. - BREAKING:
steroids.drawers.hideAlldeprecated. steroids.drawers.enableGestureandsteroids.drawers.disableGestureare deprecated (though they should still work), usesteroids.drawers.updateandoptions.openGesturesandoptions.closeGesturesinstead.
- New API method
Changes:
setAllowedRotationsnow has a default of[0]instead of[]for new WebViews. This can be overridden by setting awindow.AG_allowedRotationsDefaultsvariable before Steroids.js is loaded.
Secret features:
steroids.getApplicationState()returns the application state including all preloaded webviews, tabs, modals and drawer controllers.steroids.modal.closeAll()closes all currently open modals.- New
steroids.screen.rotateAPI that allows for the device orientation to be set programatically. Examples:steroids.screen.rotate("portrait"),steroids.screen.rotate("landscapeLeft"). - New native UI events for
steroids.drawers,steroids.layers,steroids.tabBar,steroids.modalandsteroids.views.WebView
Internal stuff:
- New iOS JavaScriptCore bridge - more awesome, faster and etc.
##3.1.8 (2014-04-03)
Various new APIs for iOS, multiple consecutive modals supported, navigation bar in modals supported.
Features:
- Navigation bar can now be used in modal windows also.
- Multiple modal windows are supported.
steroids.view.navigationBar.setAppearanceto change the global color/background image settings of the navigation barsteroids.statusBar.onTapevent listener for triggering a function when the status bar is tapped.steroids.Animationhas newonAnimationStartedandonAnimationEndedcallbacks.steroids.view.navigationBar.updatehas a newbackButtonparameter for setting a custom button to replace the native back button.steroids.view.displayLoadingto showloading.htmlprogrammatically.steroids.tabBar.currentTab.updatefunctions likesteroids.tabBar.updatefor the currently active tab.steroids.view.updateKeyboardwith support for showing/hiding the keyboard accessory bar on a per-view basis.steroids.view.navigationBar.setAppearancechanges navigation bar appearance.
Secret features:
steroids.app.getNSUserDefaults()returns current NSUserDefaults in iOS.
##3.1.7 (2014-03-05)
Secret features:
steroids.logger.log(msg)for new logging feature, messages readable insteroids.logger.messagessteroids.logger.queue.startFlushing(ms)flushes logs tosteroids cli+.stopFlushing()steroids.app.host.getURL()returns (async) the (base) URL that was used to download the app (e.g. machine that hassteroids connectrunning)steroids.view.rotateTo(deg)rotates current view to deg somehow, somedaysteroids.device.platformnamespace andsteroids.device.platform.getName()to determine the platform (e.g. "ios", "android", "tizen")steroids.app.getMode()returns "standalone" if the build is an ad-hoc or production build. Otherwise returns "scanner".steroids.loggerautomatically sends logs to Steroids CLI when running as a scanner.
Bugfixes:
- Fixed a bug with the OAuth2 modal show (thanks @zeopix!)
##3.1.6 (2014-02-27) Added methods for setting tab bar badges and programmatically selecting a tab. Added support for replacing the layer stack with a WebView already in the layer stack. Added a parameter to disable animation for modal screen show/hide.
New API methods requires Scanner v3.1.3.
Features:
steroids.tabBar.updatenow supports setting a badge for a tab.steroids.layers.replacecan now target preloaded WebViews that already exist in the layer stack.steroids.modal.showandsteroids.modal.hidenow have adisableAnimationparameter to show/hide the modal screen immediately, without an animation.- Added
steroids.tabBar.selectTab(index)for programmatically setting the active tab.
Bugfixes:
- Fixed an issue where
window.postMessagegave false error messages on Android.
##3.1.5 (2014-02-10)
Bugfix for steroids.view.navigationBar.update.
Bugfixes:
steroids.view.navigationBar.updateno longer gives an error regarding undefined button callbacks when updating buttons only on one side.
##3.1.4 (2014-02-10)
New steroids.view.navigationBar.update API on iOS (deprecates steroids.view.navigationBar.setButtons on iOS), added option to animate showing/hiding navigation bar, programmatic show/hide of splashscreen, deprecated methods removed.
Features:
- Support for updating navigation bar contents (title, title image, buttons) per webview with
steroids.view.navigationBar.updateon iOS. - Support for showing and hiding navigation bar with animation using
animatedoption on iOS. - Support for showing and hiding splashscreen programmatically with
steroids.splashscreen.showandsteroids.splashscreen.hideon iOS.
Changes:
- Removed deprecated
steroids.view.bounceShadow. - Deprecated and removed
steroids.layers.array.
##3.1.3 (2014-01-02)
Programmatic updating of tab bar icons and titles with steroids.tabBar.update.
Features:
- Adds support for updating tab titles and icons to new ones with
steroids.tabBar.update.
Changes:
- Removed deprecated
steroids.XHR.
Fixed to work in Tizen Web Simulator.
Bugfixes:
- Use TizenBridge if window.tizen is defined.
Fixed visibilitychange firing twice on iOS, Steroids Analytics API to record analytics events
Bugfixes:
visibilitychangeevents no longer fire twice on iOS.
Features:
steroids.analytics.trackrecords analytics events (iOS-only).
Support for unloading preloaded webviews, show/hide tab bar, show/hide status bar.
Features:
sterois.views.WebView.prototype.unloadto unload preloaded webView from memory (iOS)steroids.statusBar.hideandsteroids.statusBar.showto hide and show the native status bar (iOS)steroids.tabBar.hideandsteroids.tabBar.showto hide and show the native tab bar (iOS)
Changes:
steroids.views.webViewconstructor supportsidparameter (defaults tolocationif not given)
Tab improvements, navigation bar bugfixes
Features:
- Adds support for tabBar parameter in steroids.layers.push
Bugfixes:
- Fixes the issue Android right button not showing.
- Navigation bar title image and image buttons now wait for the Steroids
readyevent internally.
Multiple navigation bar buttons, ability to hide the back button.
Features:
steroids.view.navigationBar.setButtons()API expanded, see the API docs for more information- Hide/show the back button.
- Multiple buttons on the left and right side of the navigation bar.
- Buttons can use images or text.
Initial Tizen support.
Features:
- TizenBridge for handling API calls and auto-refresh of client on Tizen devices.
Grunt tasks updated to latest Node.js version, support for images in navigation bar (iOS only)
Changes:
- Added support for images in navigation bar with steroids.view.navigationBar.show({titleImagePath: imagePath})
- Cleaned up and updated
grunttasks to support Node.js 0.10.x/0.11.x
Fixed a bug that prevented Steroids API calls from functioning on certain Android versions.
Bugfixes:
- WebBridge is no longer erroneously used instead of NativeBridge (affected certain Android versions)
SQLite API no longer experimental
Changes:
- steroids.data.SQLiteDB.createTable supports defining columns as an object
Experimental EventSource support for refreshing browser when project is changed
Changes:
- WebBridge polls steroids npm for changes and refreshes
Expirimental SQLite API and browser support
Changes:
- steroids.data.SQLliteDB secret APIs
- Experimental support for browser debugging
Experimental TouchDB API
Changes:
- steroids.data.TouchDB secret APIs
Bugfixes:
- fixed rare issue with websocket state handling
Sleep modes and layer stack replacing
Changes:
- steroids.layers.replace all layers with a preloaded webview
- steroids.device.disableSleep - prevent device's screen from sleeping
- steroids.device.enableSleep - allow device's screen to sleep
Public beta release
Tuned drawers animations.
Changes:
- Left drawer animation is snappier
Version bumb to 0.7.x indicate dependency on new Scanner.
Drawers.
Features:
- steroids.drawers namespace with methods for managing drawers.
Reset changelog.
Bugfixes:
- API calls were broken in 0.6.0, release process failure.