As expected, today Google made a management release for Android 4.2 official at their breakfast with Sundar event, bumping the release up to Android 4.3 and introducing a bunch of new features and fixes. The update brings everything that Google alluded was coming during Google I/O, and a few more.
On the graphics side, the big change is inclusion of support for OpenGL ES 3.0 in Android 4.3. Put another way, Android 4.3 now includes the necessary API bindings both in the NDK and Java for ES 3.0. This release brings the numerous updates we've been over before, including multiple render targets, occlusion queries, instances, ETC2 as the standard texture compression, a GLSL ES 3.0, and more.
We've also talked about the changes to the 2D rendering pipeline which improve performance throughout Android, specifically intelligent reordering, and merging, which cuts down on the number of draw calls issued to the GPU for 2D scenes. This improvement automatically happens with Android 4.3 and doesn't require developer intervention, the pipeline is more intelligent now and optimizes the order things are drawn and groups together similar elements into a single draw call instead of multiple. In addition like we talked about, non-rectangular clips have hardware acceleration, and there's more multithreading in the 2D rendering pipeline.
Google has been trying to increase adoption of WebM and along those lines Android 4.3 now includes VP8 encoder support for Stagefright. The platform APIs are updated accordingly for the ability to change settings like bitrate, framerate, and so forth. New DRM modules are now added as well, for use with MPEG DASH through a new MediaDRM API.
On the connectivity side we get a few new features, first is the WiFi scan mode which we saw leaked in a bunch of different ROMs. This exposes itself as a new option under the Advanced menu under WiFi settings, and during initial out of box setup. This new scanning mode allows Google to continue to further build out its WiFi AP location database to improve WiFi-augmented location services for its devices.
Like we saw hinted not so subtly at Google I/O, 4.3 also includes support for Bluetooth low energy (rebranded Bluetooth smart) through the new Broadcom-sourced Bluetooth stack. This OS-level support for BT Smart APIs will do a lot to ease the API fragmentation third party OEMs have resorted to in its absence.
Likewise Bluetooth AVRCP 1.3 is now included which supports better metadata communication for car audio and other devices, as well as better remote control.
Security gets improvements as well, Android 4.3 moves to SELinux MAC (mandatory access control) in the linux kernel. The 4.3 release runs SELinux in permissive mode which logs policy violations but doesn't break anything at present.
A number of other security features are changed, including fixes for vulnerabilities disclosed to partners, better application key protection, removal of setuid programs from /system, and the ability to restrict access to certain capabilities per-application. Lastly there's a new user profiles feature that allows for finer grained control over app usage and content.
We'll be playing around with the new features on the new Nexus 7 as well as the other Nexus devices getting the update (Nexus 4, Nexus 10, Nexus 7 (2012), and Galaxy Nexus). Google has already posted the factory images for those devices as well if you're too impatient to wait for the OTA and want to flash it manually.