This page details the developer features newly implemented in Gecko that are specific to Firefox OS 2.1, plus product features, DevTools features, and other points of interest for the new release.
Note: Firefox OS 2.1's Gecko component is based on Firefox 33/34.
Product features
This section lists various categories of new product features and improvements to existing features.
Radio Interfaces and Network Features
- Privileged apps can now distinguish between an MVNO and operator using the same MNC/MCC. (bug 1027430.)
- Firefox OS can now recognize the SIM card regardless of network setting. (bug 1013847.)
System Features
- Usage, Network Data & Consumption Control
- The Usage app now breaks down individual app network data usage, making it easier to identify data-hungry apps (bug 1033549.)
- SD Card Support
- Users can now manually mount and dismount SD cards to avoid damage/corruption of file content (bug 945642.) See Settings App > Media Storage for the relevant options.
- Firefox OS can now recognize unformatted cards, enabling the user to format and use the card (bug 908916.)
- First run experience
- If the time can be determined from the network automatically, the user is no longer asked to manually select the time and timezone (bug 1026098.)
- The device's connectivity status indicator is now displayed during the first run experience to make the user aware when external data connections are being made (bug 1035250.)
- Keyboard
- The multi-touch typing experience on Firefox OS has been optimized (bug 985855.)
- Browser
- The Browser has been integrated into the System, which means that browsing can be done by clicking the Browser icon or just through accessing the universal search and navigation capability. Apps and browsing tabs are unified to a common experience and exist in the task manager and sheets view (bug 945259 and bug 946452.)
- Task Manager
- The discoverability of the Task Manager has been improved by the inclusion of a Show Windows option in the Universal Search and Navigation UI (bug 1058096.)
- Notifications
- CMAS Emergency Warning System messages are now supported and displayed for the user (bug 1023684 and bug 1026685.)
- System
- The performance and UI for App-to-app Edge Gestures has been improved (bug 1037468.)
- Sound
- Firefox OS now has a new set of signature default ringtones (bug 1014009.)
- Status Bar
- The UI of the status bar has been improved with a configurable status bar color (bug 1013913.)
- An icon for Sim ToolKit (STK) is now supported and displayed in the status bar when appropriate (bug 824145.)
- Home Screen
- With the integration of the Browser into the System, the user's previous bookmarks are migrated from the Browser to the Home Screen (for updates from previous OS versions) (bug 945827.)
- Users are provided with a short tutorial explaining the bookmark migration from the Browser to the Home Screen (bug 938279.)
- The visual design and interaction of the soft Home Button has been improved (bug 1037251, bug 1037261, and bug 1036339.)
- Lock Screen
- In Case of Emergency (ICE) contacts are displayed on the lockscreen, enabling emergency personnel to contact them (bug 1026682.)
- Notifications on the lock screen can be clicked to take the user directly into the notifying app (bug 1023818.)
- Dual SIM
- Cell Broadcast messages related to multiple SIM cards are now displayed within a common UI (bug 921326.)
- NFC
- Firefox OS now supports Tap-to-Pay functionality for payments at Point of Sale (bug 979152.)
- Tap-to-Pay functionality now supports couponing (EMV+MIFARE) (bug 979154.)
- Firefox OS can now be used for NFC Tap functionality (using MIFARE 1k) to pass through gates installed with MIFARE gate controllers (bug 979157.)
- WebRTC video calling
- When in a WebRTC call, users can now swap between selecting the front and back camera (bug 1033326.)
- Media Transfer Protocol
- Using the Media Transfer Protocol users can now access content on their device while on a connected PC (bug 922927.) See Settings App > USB Storage > Media transfer protocol (MTP).
Core Applications
- Phone (Dialer)
- Various accessibility improvements have been added to the Dialer.
- A mute button is now available when dial pad is shown during a phone call (bug 1026692.)
- When a call ends, a tone is now played to denote disconnection (bug 995938.)
- Contacts
- Various accessibility improvements have been made to the Contacts app.
- When no image is present for a given contact, a default image will now be displayed (bug 1043496.)
- Firefox OS users can now set In Case of Emergency (ICE) contacts which will be displayed on the lockscreen. (1026682)
- Calendar
- The Calendar Day view now starts at 8 AM (bug 1023663.)
- When a Calendar event's start date/time is changed, the end date/time is automatically changed to retain the original event duration (bug 977050.)
- The Calendar Week view now shows five days by default (bug 1023662)
- Messaging
- The UI of the Messaging app has been updated and improved. (bug 1030925 and bug 1026690.)
- The attachment icon placed closer to the input area and keyboard to make it easier to find. (1026694)
- Messaging (Email)
- Users can now easily jump to the top of their Email inbox by tapping "Top" or "New Messages" (bug 989810.)
- Email UI improvements have been made to notification toasts (bug 1021981), “Show external images” (bug 1043527), “Load more messages” (bug 1043529), and account settings (bug 1043533).
- Video
- During fullscreen video playback, the Soft home button will now be hidden (bug 1037255.)
- System
- Various accessibility improvements have been made throughout the OS.
Settings
- Network and Connectivity
- Users are now able to set a specific Internet APN for roaming data (regulatory requirement). (bug 1024776.) See Settings App > Cellular & Data > APN Settings.
- Ringtone Management
- Users are now able to transfer ringtones from their SD card to their Firefox OS device. (bug 1027995.) See Settings App > Sound > Manage Tones > plus (+) icon.
- Personalization
- 24 hour time format is now supported. (bug 903683.)
- Device
- To improve accessibility users can invert the colors displayed on their Firefox OS device. (bug 1016539.) See Settings App > Accessibility > Color Filter > Invert.
New DevTools features
- The security policy has been changed so that only apps installed via DevTools / WebIDE appear in the WebIDE app dropdown, unless you get higher permissions. Consult our main WebIDE article to learn how.
- Gecko now features a self-signed cert generator for use by WebIDE Wifi debugging, and other such things (bug 1038991.)
Note: You can always find details of new and upcoming Firefox DevTools by looking at the Mozilla Hacks Developer Tools category.
Platform changes and additions in detail
Note: Our list here includes features most important to Firefox OS. For an expanded list of general Gecko feature additions (which are generally also present in Firefox OS 2.1), consult the Firefox 33 release notes for developers and Firefox 34 release notes for developers.
Security
Firefox OS used to have a "single app per origin" security policy, but this was lifted as of Firefox 34/Firefox OS 2.1 (read this FAQ entry for more information). If you still need to support older versions, consider hosting your apps at separate origins; one strategy is to create different subdomains for your apps.
Web API changes
- The pairing event handlers of the Web Bluetooth API —
BluetoothAdapter.ondevicepaired
andBluetoothAdapter.ondeviceunpaired
— have been added (see bug 1036234). - Updated pairing methods of the Web Bluetooth API have been added (see bug 1036233):
- Promise<void>
BluetoothAdapter.pair
(DOMString aAddress) - Promise<void>
BluetoothAdapter.unpair
(DOMString aAddress) - sequence<BluetoothDevice>
BluetoothAdapter.getPairedDevices
- Promise<void>
- The
BlueToothClassOfDevice
interface has been added (bug 1027504.) - The
BluetoothDiscoveryHandle
interface has been added, along withBluetoothAdapter.startDiscovery
andBluetoothAdapter.stopDiscovery
(bug 1006314.) - The
BluetoothPairingEvent
andBluetoothPairingHandle
interfaces have been added (bug 1033898.) - The
BluetoothPairingListener
interface has been added (bug 1036228.) - Support added for
CameraControl
to use events rather than callbacks, i.e.camera.addEventListener('pictureTaken', function () { ... })
(bug 994912.) - Support for the Web Speech API is pending: a patch has been submitted (see bug 1032964.)
- Media Source Extensions (MSE) are now supported on Firefox OS (bug 1027519.)
- The logic for launching Firefox OS "engineering mode" has been implemented in Gecko (bug 997564)
NFCPeerEvent
object now passed inMozNFC.onpeerready
; in addition, you can now get aMozNFCPeer
object from the event'speer
property (bug 1046554.)MozNFCTag
has been considerably expanded, with NDEF information available inMozNFCTag.maxNDEFLength
,MozNFCTag.isReadOnly
,MozNFCTag.ndefType
, andMozNFCTag.isFormatable
(bug 1074611.)- The
MozNFCTag.writeNDEF
method has had an isP2P property added, to indicate that the request is for a P2P/Tag case (bug 1082452.) - The
MozNDEFRecord
constructor's options have been transferred into a dictionary,MozNDEFRecordOptions
(bug 1053732.) - Some settings controlled by the Settings API are now gettable/settable by privileged apps. The main use case that inspired this was having 3rd party homescreens being able to get/set wallpaper.image (bug 900551.)
- The
setWifiTethering
API has been added to enable/disable Wifi hotspot/tethering (bug 936367.) - The Feature Detection API (
) has been implemented and exposed to privileged apps (bug 983502.) This is useful for the Firefox Marketplace, when trying to work out what devices to offer apps to, and in other cases where standard feature detection won't work due to permission levels, etc.
- A low level UDP datagram socket API is now exposed to web applications (bug 745283.)
- The TV Manager API has been implemented (bug 998872.)
- The
Telephony.dial()
method now returns a promise that resolves to anMMICall
object when an MMI code is dialled, not aDOMRequest
like it did previously (bug 1080883.)