Marshmallow!

(*) For developers: Marshmallow now lets apps run with context "u:r:untrusted_app:s0:c512,c768" instead of "u:r:untrusted_app:s0". If the app is run by a secondary user, the level ("c<nnn>,c<nnn>") is different, and system apps (like Settings) don't have such a level at all. The SELinux policy allows access to app data files only when the the level of the file and the process matches exactly, therefore you can no longer access preferences created by a primary user app from apps like Settings or while logged in as secondary user. I do have workarounds for Zygote and system_server, but I can't use them for normal apps in their current state as it might open big security holes.

I have just uploadedwith support for Android 6.0 (Marshmallow). Even though I tested it only on my Nexus 9/arm64, I'm confident that the arm and x86 builds will work fine as well. The Xposed Installer app didn't require any changes, you can still use version 3.0 alpha4.What else can I say about it? Well, as expected, the upgrade from 5.1 to 6.0 was a much bigger one than from 5.0 to 5.1. Therefore, porting the Xposed-related changes in ART was more complicated, but as Google has done a lot of refactoring, I could simplify some of my own changes as well. Pretty much everything is ported now, except for support for gzipped and encrypted files - let's see if vendors even use them on 6.0.The onlyI'm aware of at this time are:- I have only tested this withinstalled, due to which dm-verity and some SELinux rules are disabled. Especiallywould definitely conflict with the modifications of the system partition.- Access to, and Xposed is currently not able to work around that. (*) Some modules might be affected by this, nevertheless I strongly recommend to keep SELinux enabled and enforcing to keep your device as safe as possible.. The system is booting without any error messages from Xposed, but some functions that the framework makes available might still need to be adjusted for Marshmallow.- Obviously,as well due to changes in AOSP. Please be patient and give module developers the time to make the required changes. If you absolutely "cannot live" without module X, don't update to Marshmallow yet.- Some issues might arise from JIT (disabled by default, even in AOSP) and the "optimizing" compiler (which rewrites apps' code to be more efficient, due to which some calls might simply be skipped). Both of these are new in Marshmallow and might have various consequences in combination with Xposed, from hooks that silently don't work to crashes. However, as it's running stable for me, I decided not to disable them and will instead look into them in more detail if concrete issues are reported.Three more things:- I plan to publish a new version for Lollipop (5.0/5.1) within the next days, with backports of some of the changes I did for Marshmallow. This needs some more testing though.- I know that some vendors seem to have backported the latest 5.1 security fix (see a few posts above) to 5.0, due to which Xposed is no longer working. This should also be fixed with the next version.- I will push the changes to GitHub soon, also within the next days (once I have made sure they don't break 5.0/5.1).And now:Discussions go here