• Log errors in ext4_extract.log when attempting to determine file permissions from a mounted ext4 img file
  • Add support for extracting super_new.img
  • Changed hosting locations for all kitchen downloads.
  • Fixed possibility of a super.img group being named default during extraction, which will fail to build because default group is automatically created and there cannot be 2 groups with the same name
  • Added option to use a custom lpmake binary and add additional arguments to the command
  • Added support for extracting ext4.lz4 files from the extract menu
  • Added support for building img.lz4 files with their original extension (system.img.ext4.lz4 for example) from the build menu
  • samsung_tools plugin: Updated to use the new syntax of the kitchen lz4 function.
  • Get group names, slot count, and max metadata size from the original super.img during extraction and add to project config
  • Use configuration values from the original super.img for building new super.img
  • Changed internet check address from google.com to sr-code.com
  • Changed no internet error message to indicate having issues connecting to sr-code.com since you probably have an internet connection
  • Added information to the not authorized error message to inform about going to the downloads page and clicking on reset PC authentication
  • CLI: Create img.lz4 files named the same as the original firmware files (system.img.ext4.lz4 for example); The img extension is configurable in project config with img_extension=.img.ext4, will be configured automatically during firmware extration, and can be changed any time
  • samsung_tools plugin: Added the same feature as listed above for CLI
  • img_tools plugin: Added option for lpdump style super.img information.
  • Added support for building A/B super.img
  • Auto-detect A/B super.img during extraction and set up configuration for building new A/B super.img
  • Added per-project configuration (00_project_files/srk.conf) for super.img group name/names; defaults are metadata-group=main[_a] and metadata-group2=main_b
  • Linux/WSL/WSL2 (e2fsdroid): Fixed crash when building img files if an original img does not exist in the project directory to match the partition being built
  • Added plugin name to plugin.log traceback message
  • Updated plugin reinstall text in the English language file
  • samsung_tools plugin: Added Mutidisabler option, inspired by the work of @ianmacd on his flashable Multidisabler zip and @ZonalRipper on his sammy_disarm script.
  • Squashed some misc bugs that may cause crashes
  • Fixed super.img.lz4 build, was not compressing to lz4 in the interactive kitchen
  • Added option to build partition.img.lz4 files from the interactive kitchen build menu
  • Added --group main to super.img builds
  • Default to metadata-slots 1 instead of 2 since the kitchen does not support A/B slots in super.img currently
  • Allow building a super.img using raw img files
  • Allow a mix of raw and sparse img files for building super.img
  • Removed support for user-created Python plugins (Bash is still supported)
  • Fixed Busybox download
  • Allow setting global manual img sizes in kitchen/tools/srk.conf (00_project_files/srk.conf overrides global)
  • CLI: Check for manual img sizes in project conf, then in global conf, and finally original img size (manual img size is defined with img_size_partition=1234567)
  • img_tools plugin: Fixed crash running the plugin when offline authorizaion is enabled
  • img_tools plugin: Changed the display order of ext4 img information to match the order in the ext4 header
  • img_tools plugin: added options to build partition.new.dat/br and partition.img.lz4
  • img_tools plugin: Support ext4 information option on Mac.
  • Added option to build super.img.lz4 in the kitchen and the CLI
  • Changed the order of Samsung firmware extraction to require less disk space while unpacking everything
  • Updated Android Image Kitchen by @osm0sis to v3.8
  • Less annoying handling of old saved passwords
  • Allow using offline authorization for a fresh kitchen install
  • CLI: Improved argument parsing
  • CLI: Cleaned up the -h/--help menu to actually make it useful
  • CLI: Under-the-hood modifications to make future updates much easier for me hehe.
  • Linux/WSL2/WSL: Fixed img build by eliminating tune2fs, previously responsible for retrieving ext4 information from original img files
  • Linux/WSL2/WSL: Better handling of EXT4 features during img build
  • Linux/WSL2/WSL: Improved error logging for img build
  • Greatly improved speed of calculating raw partition size from a sparse img file during super.img build
  • Added option to build super.new.dat/br in the kitchen and the CLI
  • Added option to build raw super.img in the kitchen and the CLI
  • Minor performance fixes.
  • Fixed Boot/Recovery menu options, a regression from v3.2.1.3+
  • Added config option to exclude ext4 features from new builds even if they exist in the original img
  • Added config option to include ext4 features in new builds even if they don't exist in the original img
  • CLI: Automatically enable offline authorization during CLI operations, and disable if it was not already enabled.
  • Check downloaded language files for errors, and provide a message if errors are found
  • Added support for extracting firmware that contains super.new.dat/br files
  • Linux/WSL/WSL2: Fixed super.img unpack for some newer firmware
  • Added configuration option (create_missing_symlink_dirs) in kitchen/tools/srk.conf to allow skipping symlink creation if the parent directory does not exist
  • Added super.img build to the main kitchen build menu
  • Keep track of img files in a super.img during unpack, and ask if you want to include them when building a new super.img
  • CLI: Simplified commands; -f can be used instead of --function; -p can be used instead of --project; -p superr_project-name is all that is required, no more absolute path
  • CLI: Improved checking for user command errors
  • CLI: Added unpack and pack super.img commands.
  • Linux/WSL1/WSL2/Mac: Added command line options for some kitchen functions, and will expand functions in future releases
  • Linux/WSL1/WSL2/Mac: Call the main kitchen launcher from anywhere, no need to cd into kitchen directory anymore
  • Allow extracting img.lz4 files from the main extract menu
  • Moved the partition extract list to kitchen/tools/srk.conf to allow adding/removing partitions that are extracted from your firmware
  • Windows: Add message during install/update that this is the final release
  • Windows: Disable kitchen updater.
  • Fixed extracting 7z files that contain files/directories with spaces in the name
  • Fixed WSL2 getting recognized as native Linux on rare occasions
  • Fixed regression where old ROM files/directories are not moved before extracting new
  • Fixed ozip plugin regression that causes a crash since v3.2.1.0
  • Detect spaces in manually created project names and replace with underscore
  • Linux/WSL1/WSL2: Added srk.conf option to include or not include the shared_blocks feature in img builds (e2fsdroid)
  • Linux/WSL/WSL2: Hopefully fixed sparse img builds for low RAM PCs (e2fsdroid)
  • Linux/Mac/WSL2: Use auto for mount filesystem type argument instead of ext4, which should allow extracting any filesystem type your kernel supports
  • Added message when not installing the latest version of the kitchen and ask if you wish to continue anyway
  • Show update available text in the main menu when an update is available (only shows after an online authorization occurs and only if there is an update)
  • WSL1: Added warning encouraging to upgrade to WSL2 for full capabilities
  • Windows: Added warning that the Windows kitchen is being phased out and encouraging a WSL2 install
  • WSL2: Added warning if the kitchen is not being installed or updated in the /home directory
  • Added img2simg to all platforms.
  • Linux/Mac/WSL2: Fixed mount extract adding rootfs context for /system on system-as-root firmware
  • Linux/WSL/WSL2: Fixed img files built with e2fsdroid hanging when extracted with Python
  • Linux/WSL/WSL2: Enable shared_blocks ext4 feature if the original firmware img has it enabled (e2fsdroid)
  • Linux/WSL/WSL2: Get ext4 features and info from the original img for the new build using tune2fs (e2fsdroid)
  • Added option to extract new.dat and new.dat.br from the extract menu when they are not packed in a zip
  • Fixed new.dat conversion on partitions with a period in the name.
  • All platforms: Fixed building some img files that were failing with the out of space error
  • Linux/WSL/WSL2: Use e2fsdroid for building ext4 img files
  • Linux/Mac/Wsl2: Default to using mount for extraction instead of Python (Misc Tools > Extract Options > Use mount extract for img files)
  • Linux/Mac/WSL2: Fixed all symlinks going in symlinks-system file when using mount to extract a single partition that is not system
  • Linux/Mac/WSL2: When using mount for extraction, fixed extracting some newer img files that can only be mounted as read-only
  • Added option to turn on/off the case insensitive files fix on all platforms; default is Yes for native Windows, WSL, and WSL2, and default is No for Mac and Linux (Misc Tools > Extract Options > Case insensitive file names fix)
  • Added option to extract and include all img files without stopping to ask (Misc Tools > Extract Options > Extract and include all img files)
  • Do not clear username and password during update from disabled version screen if authorization passes
  • Hopefully fixed pulling img files from rooted system-as-root devices using adb, and from recovery (may not work in WSL1/2 due to USB connection issues)
  • Unpack odm.img from payload.bin if it exists
  • Added option to create individual dat/dat.br files from the Build EXT4 img menu
  • Store project forceencryption type in project srk.conf instead of main srk.conf
  • Check for dynamic_partitions_op_list file in firmware package and include it in sparse_dat ROM zip and updater-script
  • Remember original file extension for img files and use it when building tar.md5 files from the samsung_tools plugin
  • Added support for extracting Samsung Beta firmware with AP_xxxx.tar in a 7z file
  • Do not offer to build img files if there is no directory to build from
  • Fixed some devices by-name paths not being found during the ROM flash
  • Fixed Busybox download not working due to the change in the XDA website recently
  • Allow boot.img to unpack in a new project even if there is no default.prop
  • Minor security improvements.
  • Fixed typo in super.img extraction error message
  • Improved security.
  • Fixed bloat_custom needing system/ prepended to the path on system_as-root firmware
  • Fixed a possible crash when building img files more than once, or when building img files not originally extracted by the kitchen
  • Fixed crash if there is no internet connection during startup when offline authorization is disabled
  • Windows: Attempted to fix a permissions issue when unpacking AIK during kitchen installation.
  • Fixed more users not being able to log in to the kitchen
  • super_build plugin: Accept img_size_system and size-system style srk.conf entries, and ask which to use if both exist
  • super_build plugin: Added option to set metadata-slots in srk.conf (default is 2)
  • super_build plugin: Added option to set metadata-size in srk.conf (default is 65536).
  • Fixed the kitchen updater when accessed from the disabled versions page
  • Fixed some users not being able to log in
  • Minor security fixes.
  • Improved security.
  • Fixed project directory beta partition size detection method only checking the system directory size
  • Fixed su.d for system-as-root devices
  • Updated Android Image Kitchen by @osm0sis to v3.7
  • Updated Busybox installer by @osm0sis to v1.31.1
  • Fixed a couple code derps
  • updateapp plugin: Check for files with duplicate names in UPDATE.APP and append file names with _2 to avoid overwriting the first
  • updateapp plugin: Added option to merge super_2.img with super.img if they both exist after splitting
  • New plugin, ext4_build: Allows rebuilding ext4 img files that have been extracted by the kitchen even if there is not a complete ROM in the project.
  • Added option for temporary offline authorization
  • Rearranged Misc Tools menu to accommodate Offline Authorization Menu
  • Extract optics.img from Samsung firmware if it exists
  • Moved smali download to the same server as all the other kitchen tool downloads
  • Added support for Android 10 Motorola firmware extraction
  • Fixed system_other.img contents not being copied to the correct locations if the directory structure is not consistent with system.img
  • Linux: Fixed the Ubuntu4Kitchen launcher update removing the launcher during kitchen update
  • Linux: Use Python3 for kitchen launcher since Python2 is no longer shipped with the latest Linux distros
  • Fixed crash during img extraction if running the Linux kitchen on an NTFS file system and there is a period at the end of a directory name
  • Added support for extracting and including system_ext.img.
  • Fixed crash when unpacking a boot.img from a system-as-root device
  • Added an error message about no ramdisk when unpacking a boot.img from a system-as-root device
  • Added update-binary script variables for partitions from configure.sh
  • Fixed several issues with update-binary script conversion
  • Extract prism.img from Samsung firmware if it exists
  • Fixed possible crash when choosing set_metadata perm type
  • Zipalign is no longer in the Misc Tools menu
  • Updated apktools plugin to include zipalign and to stay in the plugin after running an option
  • Fixed crash in the xiaomi_patch plugin if a file we are trying to patch does not exist
  • New plugin: custom_zip, for creating a custom flashable zip from a directory
  • Deprecated partition_zip plugin in favor of the new custom_zip plugin
  • New plugin: lg_tools, for unpacking LG kdz files and removing RCTD
  • Deprecated lg_rctd_remove plugin in favor of the new lg_tools plugin.
  • Added support on all platforms for unpacking the new super.img showing up in Android 10 firmware
  • Added support for extracting xz compressed GSI images
  • Added support for extracting non-Google firmware.tgz files
  • Fixed changelog not working when an update is not available
  • Fixed asserts menu showing a comma instead of None after removing asserts
  • Fixed custom directory not being added to the updater-script in sparse_dat and raw_img ROMs
  • Linux/WSL/Mac: Added support for Bash plugins with example
  • Windows: Added support for Batch plugins with example
  • Revert to old set_metadata generator
  • Check for plugin updates as part of the kitchen update routine
  • Include busybox in the ROM and use busybox commands instead of /sbin commands to run programs from the updater-script
  • Updated the update-binary script functions
  • Set default to never convert to update-binary script on fresh install
  • Asserts are now a global option that defaults to no asserts on fresh install
  • Fixed selinux error message getting cut off
  • Ask all partition size questions at the beginning of the ROM build for raw_img and sparse_dat perm types
  • Remember the last manually entered img size for each partition in each project, and ask if you want to use it the next time you choose manual size
  • Fixed unrooting pre-rooted system-as-root firmware
  • Added support for Android 11 developer preview
  • Fixed a bug in configure.sh that did not detect the slot properly on some system-as-root devices
  • Fixed a bug that could allow the root directory file context to be set incorrectly in an ext4 img build
  • Fixed plugin manager saying the server is down if there are no new plugins to install
  • Fixed gapps plugin since Open GApps changed their download server
  • Fixed partition_zip plugin not including an update-binary in final zip package
  • Updated add_remove_files plugin to allow adding apk to system/priv-app.
  • Added support for extracting zip and tar files that include img.lz4 files
  • Fixed custom directory not getting included in the updater script
  • Fixed custom directory mount path not including / before it
  • Fixed showing error when unpacking some recovery.img even when successful
  • Add exdirs to 00_project_files/srk.conf and remove the exdirs file
  • Complete rewrite of set_metadata generator for projects that have file_contexts3-* and fs_config-*
  • Fixed set_metadata lines getting messed up when there are spaces in a file name
  • Fixed Build menu > Custom zip menu zips not including an update-binary
  • Allow Build menu > Custom zip menu zips to build if at least one directory in the list exists
  • Fixed raw_img and sparse_dat perm types not flashing on some Samsung system-as-root devices
  • Updated vdexExtractor to the latest official commit that supports Android 10
  • Fixed deodex errors on Android 10 when there is no dex data in the vdex file
  • Windows: Fixed set_metadata ROM zip not including files with same name and different cases.
  • Add symlink permissions to fs_config during ext4 extraction to avoid make_ext4fs messages about using defaults
  • Windows: system_exfiles directory is gone for good
  • Windows: Fixed ext4 img build when file_contexts3 does not exist
  • Windows: Fixed ext4 img build failing to find file contexts for sym.srk files
  • Windows: Fixed files named the same with different cases not making their way into the ext4 img
  • Updated launchers to allow the kitchen to restart itself when required
  • Added ro.product.system.device and ro.product.system.name to the list of props to look for when finding the device name.
  • When determining partition size from a system.img, check if system_other.img exists, compare the sizes, and use the larger one
  • Added option to list the files in your project that will be removed using Debloat ROM, Custom debloat, and Remove Samsung Knox
  • Updated checksum for Android Image Kitchen v3.6 by @osm0sis
  • Fixed nasty bug in make_ext4fs that allowed a file to have a context belonging to another file
  • Windows: Removed the use make_ext4fs.exe option from the Misc Tools menu
  • Windows: Finally, a fully native make_ext4fs.exe - one option to rule them all
  • Windows: Include files from *_exfiles when building an EXT4 img - no more system_exfiles directory in the ROM zip for sparse_dat and raw_img.
  • Improved the error messages when ext4 img build fails, including directory and img size comparison when size is the problem
  • Added support for the /system_root mount point showing up in new TWRP builds for system-as-root devices
  • Cleaned up configure.sh, hopefully improving the range of devices it works with
  • Abort flash and show fail message when configure.sh does not find the by-name paths
  • Fixed O, P, and Q deodex deleting framework/oat directory from other projects
  • Fixed Debloat ROM showing Debloated on system-as-root devices
  • Fixed Remove Samsung Knox showing No Knox on system-as-root devices.
  • Prevent O, P, and Q deodex function from creating empty jar and apk files if there are no cdex/dex in a vdex file.
  • Added support for additional update-binary files, allowing flashing on architectures other than arm
  • Added arm64, x86, and x86_64 update-binary files for sparse_dat and raw_img perm types depending on firmware abi (Big thanks to @Captain_Throwback for building the binaries!!)
  • Removed all update-binary files from kitchen zip, and added them to the tools downloads
  • Extract product.img from firmware packages if it exists
  • New API to get language download list
  • Included pycrypto module to support new ozip_decrypt plugin
  • Complete rewrite for O, P, and Q deodex function; All vdex files in the project directory (except inside 00_project_files) will be deodexed
  • Compiled vdexExtractor with pull request by @IgorEisberg (Big Thanks!!) to support Q deodex.
  • Added menu option to enable/disable brotli compression for sparse_dat ROMs
  • Fixed adding dat.br.br to updater-script when brotli compression is enabled
  • Fixed crash if quit is chosen after downloading a new language
  • Fixed crash during Android Q deodex (Q deodex will be supported if/when vdexExtractor supports the new dex version).
  • Windows: Request administrator privilege to modify ramdisk files if .su file and/or .backup/.subackup directory exists
  • Windows: Only request administrator privilege to delete ramdisk if .su file and/or .backup/.subackup directory exists
  • Fixed crash if we find a malformed symlink in a system.img during extraction
  • Removed concatenation of system_*.*img files from the kitchen extractor in favor of the concatimg plugin
  • Do not move boot.img or ramdisk to/from the AIK directory (Thanks to @osm0sis for making this possible!!)
  • Fixed AIK downloads not working consistently (Thanks to @osm0sis for allowing private AIK links!!)
  • Use new update-binary in sparse_dat ROMs to allow flashing dat.br (Thanks to @Captain_Throwback for modifying and compiling!!).
  • Mac: Added support for sepolicy patching (thanks @Andmoreagain for fixing the bootimg binary)
  • Fixed crash when choosing set_metadata perm type.
  • Linux/Mac: Fixed tools not getting set executable until after reboot when resetting tools, causing the reset to quietly fail
  • Linux/Mac: Added fallback options to extract ext4 img files; 1 by mounting; 2 by using 7-zip
  • Windows: Added fallback option to extract ext4 img files by using 7-zip
  • Windows: Fixed kitchen hanging due to lack of permissions to delete some unpacked boot.img directories
  • Mac: Fixed mac_tools not downloading during initial setup
  • Reduced ext4 extraction time for all perm types except set_metadata by only preparing metadata when set_metadata is selected
  • Added option in Misc Tools > Flashable zip options, to control the ROM zip compression level (0,1,3,5,7,9)(default is 5)
  • update-binary conversion options have a new menu under flashable zip options, and the settings are now global
  • Fixed more ext4 img builds by searching for additional error codes in the output that trigger a retry
  • Misc code cleanup
  • EXPERIMENT: Added config option (brotli_use) to build sparse_dat with dat.br files instead of dat; Specify brotli compression level (0-9)(default is 0).
  • Fixed make_ext4fs not setting a context if file not found in file_contexts3-*
  • Use kitchen generated file_contexts file as the backup when building an ext4 img and a file does not exist in file_contexts3-*
  • If file_contexts causes an error, generate a minimal file_contexts to use as the backup and try again
  • Update individual tools that have changed instead of downloading the entire tools zip each time a binary is updated
  • Added suppoprt for extracting firmware with SpreadTrum pac files
  • Try all downloads 5 times before giving up, with hope that AIK downloads will work better
  • Reset All Tools is now more like refresh all tools, meaning we compare the checksums and replace only if they do not match.
  • Fixed support.zip uploads
  • Windows: Added option in Misc Tools to use make_ext4fs.exe.
  • Fixed ROM build error when there are special characters in the ROM name
  • Windows: Fixed make_ext4fs not setting symlinks context properly when using file_contexts3-*.
  • Use file_contexts3-* (if it exists) to set file contexts when building ext4 img files
  • Automatically generate a minimum file_contexts file, file_contexts_min, to be used as a backup if a context is not in file_contexts3-*
  • Added option for a file_contexts_custom file in 00_project_files to be used in place of file_contexts_min if it exists
  • Fixed crash when extracting ext4 img and finding files with no contexts set
  • Fixed crash when extracting zip files with spaces in the file name
  • Log img file creation in img_build.log instead of main.log
  • Windows: Hopefully fixed not allowing you to choose the heapsize even when in range.
  • Added check in configure.sh to be sure SLOT equals either _a or _b before using it
  • Refactored code to use a color dictionary instead of an import
  • Send color dictionary to plugins
  • Send kitchen version to plugins
  • Strip trailing spaces and line endings from each line in bloat_custom before searching
  • Allow sparse_dat perm type on system-as-root (slot a/b) devices.
  • Linux: Fixed pulling img files from device while booted to rooted Android
  • Linux: Fixed building zip files with parenthesis in name
  • Windows: Fixed some languages not displaying properly in the menu status fields
  • Added dead project message when choosing SuperSU root method and ask for confirmation
  • Moved Magisk to option 1 in the root menu
  • Actually delete the custom directory after you say yes to remove it
  • Use project srk.conf to store directories included in the ROM from the mods_install plugin
  • Added suggestion to change USB mode on device from charging to file transfer (MTP) if stuck when pulling img files from Android.
  • Do not allow creating the same custom directory twice
  • Added option to remove custom directories when trying to add the same directory again
  • Store custom directories in srk.conf instead of its own file
  • Fixed double forward slash in updater-script when adding custom directories
  • Updated adb binary from the latest sdk platform-tools packages
  • Windows: Tried again to fix system.img building for a few unlucky users still having issues with permissions
  • Windows: Clean up project directory if system.img build fails due to permissions.
  • Make the language dictionary available in plugins to allow translation
  • Linux: Use the included Python for plugins that require root instead of your local Python install
  • Added the v3.1.7.9 XDA release link to the unauthorized PC message in the kitchen
  • Hopefully fixed pulling img files through adb from Samsung (and possibly others) when booted to custom recovery.
  • Fixed ramdisk menu not showing status and not working
  • Do not allow empty passwords.
  • Fixed the possibility of a rare crash when starting the kitchen
  • Fixed Samsung devices pulling img files from the device through adb (hopefully)
  • Fixed lag during extraction after entering your custom signature and after choosing the perm type.
  • Windows: Fixed system.img build for system-as-root devices.
  • Changed to single PC per account
  • Temporarily removed backup server
  • Temporarily removed option to choose primary server.
  • Fixed kitchen updater for future updates
  • Fixed kitchen updater from a future disabled kitchen version
  • Windows: Use the same superr.exe and ramdisk.exe when possible hoping to eventually eliminate anti-virus issues
  • Fixed ramdisk function not recognizing WSL properly.
  • Fixed crash if a file does not exist when validating kitchen files
  • Fixed possibility of kitchen thinking the install is corrupt when it is not
  • Fixed deleting projects from the main menu
  • Fixed crash if smali.zip does not download properly
  • Added option to choose which authentication server you would like to use as primary, New York or California USA
  • Create new apk including the deodexed classes if apk does not exist when deodexing
  • Added screen_clear config option that will use either no screen clearing, tput clear for Linux, or cls for Windows
  • Removed use_tput config option in favor of the new universal screen_clear config option.
  • Fixed relative path symlinks being converted into absolute path
  • Fixed kitchen crashing when trying to install future disabled versions after v3.1.7.6
  • Added redundancy server (for kitchen authentication only) that will be used in case the main server is unreachable
  • Fixed system_image.emmc.win being treated like a tar backup
  • Added support for extracting TWRP win (tar) backups other than system (data may work now but is not supported)
  • Added support for extracting TWRP win (tar) backups that are also gzipped
  • Added new option in Misc Tools > Flashable zip options for long set_metadata updater-script that removes most of the recursive lines and expands the permissions added
  • Many other small fixes, too many to name.
  • Windows: Use rm.exe to delete files and directories, fixing deodexing hang on some pre-Oreo firmware
  • Plugin and tools download locations moved to new server (plugin and tools downloads on previous kitchen versions will no longer work).
  • Check if apk is already aligned before zipaligning
  • Allow to continue when checksums do not match for less important files after kitchen update
  • Added odm to configure.sh to fix flashing errors on Samsung devices when odm is included in the ROM
  • Several small fixes that may have caused crashes
  • Code refactoring for performace improvments.
  • Validate checksum of all kitchen files during install and after updates
  • Add required libs for new apktools and concatimg plugins.
  • Fixed crash if vdex file exists but jar file does not when deodexing
  • Windows: More attempts at fixing system rename after building system.img
  • Linux: Updated kitchen updater to work with the launcher/installer found in the new *4kitchen Linux distros
  • Show update menu even if there is no update when checking for updates
  • Fixed regression with file contexts in set_metadata updater-script.
  • Updated vdexExtractor by @anestisb to the latest commit
  • Windows: Administrator privelage is no longer required to run the kitchen
  • Windows: Do not move system directory when building a system.img, only rename it temporarily
  • Windows: Properly handle exceptions when you don't have permission to rename the system directory
  • Another attempt at configure.sh
  • Added support for extracting Samsung firmware with HOME.md5 and lz4 compression.
  • Better exception handling when Busybox.zip does not download properly from xda link
  • Fixed deodex regression from last version
  • Another attempt at configure.sh.
  • Windows: Local cdex to dex conversion without upload/download, finally
  • Windows: Fixed ext4.img corruption during creation on some firmware
  • Linux: Added configuration option to use tput instead of ascii escape codes to clear the screen
  • Updated md5 for Android Image Kitchen v3.4 by @osm0sis
  • Updated md5 for Busybox Installer v1.29.3 by @osm0sis
  • Fixed extraction of rom.zip that includes payload.bin.
  • Fixed typo when extracting a ROM that uses an update-binary script which caused META-INF to end up misnamed and in the wrong place
  • Compile the kitchen in Ubuntu 16.04 VM for compatibility with older glibc versions.
  • Updated vdexExtractor to the latest commit
  • Fixed the possibility of duplicate entries in the updater-script
  • Minor code refactoring.
  • Windows: Move cdex upload zip to 00_project_files instead of deleting in case there is a problem uploading/converting
  • Windows: Better error messages when deodexing Android Pie
  • Linux: Fixed the broken bootimg binary responsible for sepolicy patching
  • WSL: Fixed many issues installing and running
  • OSX: Updated vdexExtractor to the latest commit
  • OSX: Added support for Android Pie deodex.
  • Windows: EXPERIMENTAL support for Android Pie deodex
  • Fixed crash if matching jar file does not exist when deodexing O/P framework vdex
  • Fixed unmount for extra partitions not being added to the updater-script before format
  • Do not delete platform tools if AIK/AIK2 downloads fail.
  • Linux: Added support for Android Pie Deodex
  • Updated vdexExtractor to the latest commit
  • Rename odm.img.ext4 to odm.img when extracting newer Samsung firmware
  • Windows: Fixed crash when deodexing KitKat and earlier roms
  • Added update option if kitchen version is disabled in the future
  • Changed all updater-script mount commands to conditional statements.
  • Fixed priv-app/PrebuiltGmsCorePi/app_chimera apps not being deodexed in Android Pie
  • Check for scripts inside the AIK/AIK2 directories instead of checking for the directory itself to see if AIK is installed
  • Fixed crash when deodexing framework if one of the detected arch directories does not exist in framework
  • Fixed crash when deodexing M/N
  • Updated aapt and zipalign binaries from the Android Pie SDK
  • Updated smali/baksmali to v2.2.5
  • Windows: Fixed line endings in configure.sh causing it to fail when flashing.
  • Fixed SuperSU options not showing in some cases
  • Separate system and vendor fs_config, file_contexts3, and symlinks files so all are finally separate
  • Minor code refactoring.
  • Added support for Android Pie vendor_file_contexts
  • Added support for extracting Pixel Android Pie firmware including the new system_other.img containing app and priv-app
  • Added support for deodexing Android Pie (still need the updated vdexExtractor binary once it is ready).
  • Fixed crash in plugin install and plugin updater for all plugins that were not fixed in the last update.
  • Check for avb flag during dm-verity check
  • When removing dm-verity, remove avb flag if it exists
  • Fixed strange lines being added to file_contexts during bin conversion causing ext4 img creation to fail
  • Linux/Mac: Fixed runtime error on plugins that require root if your installed python3 version is different than the one included with the kitchen
  • Updated md5 for Android Image Kitchen by @osm0sis.
  • Cleanup project directory after failed img extraction
  • Fixed java detection when getting an unexpected first line in the output
  • Fixed java detection for newer versions of java
  • Use separate fs_config for extracted partitions instead of sharing
  • When building sparse_dat, fixed crash after error message if ext4 img was not created successfully
  • Fixed crash when extracting Samsung extra parts if a tar.md5 file it is looking for does not exist
  • If not already specified, add default context to the file_contexts file for all partitions before building ext4 img
  • Fixed duplicate mount and unmount lines being added to the updater-script.
  • Updated vdexExtractor to the latest commit
  • Fixed data_new.img not being created or included in the rom if data perm type is set to raw_img
  • Allow creating data.img from Build ext4 img menu
  • Added option to choose Magisk root method in main kitchen, making the magisk_mod plugin obsolete
  • Fixed root not being removed from the updater-script fully when choosing to remove root
  • Removed unused language entries
  • Added support for extracting firmware zips containing multi-part system_*.img
  • Check for and fix ext4 img with a larger stored block count than actual blocks.
  • Samsung: Fixed vendor not being extracted
  • Added support for HTC devices that use system_other.img
  • Modified the error message when pulling system.img from your device booted to Android since we no longer use device storage
  • Added permissions error message and link to the post with solutions when trying to modify ramdisk in Windows without proper access.
  • Ask if you would like to save your kitchen password (hashed) so you don't need to manually log in every time you start the kitchen
  • Samsung: When extracting firmware, ask if you want to extract extra partitions (recovery.img, aboot.mbn, sboot.bin, NON-HLOS.bin, modem.bin, sbl1.mbn, sdi.mbn, rpm.mbn, and tz.mbn if they exist)
  • Samsung: Extract odm.img by default if it exists in the firmware
  • Samsung: When using AutoROM, do not stop to tell you there is no csc.zip in your cache.img
  • Do not include modem.bin in rom.zip root if it exists in ROM directory.
  • Fixed rare bug where the file context list can become empty causing all files to use the general system_file context in set_metadata updater-script
  • Use file_contexts file as fallback when extracting a system.img if the system.img does not have contexts set
  • Fixed crash when reading file_contexts file if it contains unexpected characters or lines
  • Do not allow building system.img from the build menu if Android API is 21 or higher and we can't find file_contexts
  • Inform of plugin crashes instead of crashing the kitchen
  • Log plugin crashes in plugin.log
  • Updated configure.sh to work with more devices.
  • Fixed kitchen updater not completing properly and saying it failed
  • Fixed updater-script error about file_j.getprop.
  • Fixed adb permission error when extracting img files from device booted to Android
  • Pull img files directly to PC and skip the device storage when extracting from device booted to Android
  • Busybox is no longer required on device to pull img files when extracting from device booted to Android
  • Do not ask for by-name path unless it is needed for the operation you are performing
  • Fixed crash when installing plugins in Windows.
  • Fixed plugin updater not updating plugins that modify ramdisk correctly
  • Display file name and file size of all downloads while downloading
  • Updated estimation of tools download size to be more acurate
  • Hide lz4 output while decompressing img files
  • Provide more progress information when extracting Samsung firmware.
  • Added support for extracting zips that include payload.bin
  • Prepare kitchen updater for partial incremental updates, starting with the next update.
  • Fixed ramdisk errors, again.
  • Menus with more than 10 options, less than 31 options, and 22 characters or less per option are now displayed in columns
  • Allow extracting odm.img by itself
  • Disable set_perm perm type for KitKat and above firmware.
  • Fixed contexts and capabilities in updater-script on system/system devices such as Pixel/XL
  • Initial test for MacOS/OSX
  • Do not include superr.exe in Linux or Mac packages
  • Linux/Mac - Launcher (superr file) is now compatible with Python 2.7.x due to Mac coming with only Python 2.7.x preinstalled.
  • Import sdat2img and img2sdat as modules
  • Fixed more ramdisk errors.
  • Fixed crash when working on ramdisk
  • Fixed crash on some Linux when starting.
  • Windows 10: Fixed the no internet error some users reported
  • Plugins are now imported instead of running as scripts in an external python interpreter.
  • Updated vdexExtractor md5 to the latest commit
  • Include cacert.pem for ssl connections
  • Include kernel.img and ramdisk.img in rom zip if they exist in project directory
  • Include kernel.img and ramdisk.img in flashable boot zip if they exist
  • Fixed crash when extracting twrp backup if there is no system directory in the archive.
  • Removed git dependency.
  • Fixed kitchen updater
  • Fixed asking for username and password twice in a strange order when updating
  • Don't ask for username when updating if it was provided during installation.
  • Allow userames with @ to log in
  • Fixed language file download failing on first run due to 7-zip not being downloaded yet.
  • Fixed extract when there is no firmware, then choosing option 1 asks if you want to extract nothing if you didn't add firmware
  • Added more knox apps to remove list
  • Fixed Windows key presses not working properly on some machines.
  • Fixed Insecure boot.img option not doing anything
  • Ask if you want to delete the framework arm, arm64, x86, and x86_64 directories after deodexing Oreo
  • Extract vendor.img from Samsung firmware if it exists.
  • Removed init.d support
  • Added oem.img bloat files to bloat list
  • Added AutoROM support for oem.img
  • Extract and fix Moto oem.img_sparsechunks from firmware package
  • Fixed partition paths in updater-script when device/superr_mmc file contains by-name paths
  • Remove duplicate classes when deodexing MIUI firmware
  • Huge speed improvement preparing files and significant updater-script size reduction when firmware such as MIUI has a large system/vendor directory
  • Fixed extracting Galaxy S2 firmware with factoryfs.img.
  • Fixed crash when entering ROM tools.
  • Added support for oem.img
  • Added check for spaces in the path, and an error message
  • Windows 7: Fixed ugly Quit/Restart due to ascii escape codes not working in the console.
  • Added confirmation message when uploading support.zip
  • Fixed crash when boot.img status does not exist
  • Log exception when boot.img status does not exist
  • Delete system.new.dat after system.img conversion when converted from dat.br
  • Fixed improperly detecting some update-binary script roms causing a failure to extract.
  • Fixed boot/recovery flashable zips not including install directory if there is no extracted ROM in the project directory
  • Fixed boot/recovery flashable zips mounting/extracting system when there is no system if there is no extracted ROM in the project directory
  • Fixed system/vendor/framework files not getting deodexed
  • Updated md5 for Android Image Kitchen v3.2 by @osm0sis.
  • Updated img2sdat.py by @xpirt to v1.6 which now supports Python3
  • Removed Python2 dependency
  • Updated md5 for Busybox Installer by @osm0sis.
  • Remove framework jar files from knox debloat list.
  • When patching sepolicy for Oreo deodex, do not patch cil files if either zygote or dalvikcache_data_file do not already exist in the file
  • Fixed install directory being empty (so sorry everyone).
  • Windows: Fixed scripts in the install directory failing due to improper git setting core.autocrlf (line ending normalization) to true when installing git
  • Fixed capabilities in set_metadata updater-script, a regression from v3.1.2.8
  • Fixed Pixel style firmware crashing during extraction
  • If system_image.emmc.win is chosen, rename to system.img and extract.
  • Fixed flashing issues since adding the backup/restore and changing the location of configure.sh
  • More fine tuning for the set_metadata updater-script.
  • Do not assume the default vendor partition context is vendor_file
  • Added support for version, product, and cust partitions in configure.sh for Huawei ROMs.
  • Updated smali/baksmali to v2.2.3
  • Renamed config directory to install
  • Fixed configure.sh not found error when flashing
  • Fixed changing perm types not replacing the config directory properly.
  • Added backup/restore to updater-script for all perm types to provide addon.d survival script support
  • Fixed extracting Android P firmware.
  • Updated vdexExtractor by @anestisb
  • Use new --ignore-crc-error argument to the vdexExtractor command if deodex fails without it
  • Write vdexExtractor crc ignored files to deodex_crc_ignored log for reference
  • Fixed Chinese language crash
  • Find zygote and dalvikcache_data_file names before patching sepolicy and cil to be sure we get everything.
  • Fixed crash when checking dm-verity status.
  • Fixed skipping nonplat_file_contexts on Pixel style system.img causing failure when building ext4 img
  • Check if img is sparse before running simg2img when getting partition size
  • Sort fs_config and file_contexts3 files alphabetically.
  • Fixed patching cil files while patching sepolicy for Oreo deodex.
  • Fixed /data/app support still showing enabled after removing
  • Added option to patch sepolicy to allow zygote execute permission for dalvikcache_data_file after deodexing Oreo
  • Updated vdexExtractor by @anestisb
  • Fixed mount errors while flashing after adding /data/app
  • Make sure all files with unique permissions make it into the set_setadata updater-script
  • Removed pre-defined set_metadata_recursive lines from the updater-script when extracting from img file
  • Fixed file contexts in set_metadata updater-script for root directry files on devices with ramdisk in the system.img
  • Return an empty list instead of None when there is no match for getprop
  • Prevent / being used in zip name
  • Skip inodes that have an empty name when extracting from img files
  • Moved changelog to a different server.
  • Fixed /data mount when flashing after adding userdata to the ROM
  • Fixed AIK download failing due to xda devdb no longer allowing direct downloads from external source.
  • Fixed some file capabilities not being read completely and getting ignored.
  • Fixed crash on all strange symlinks
  • Added support for extracting new Samsung firmware with lz4 compression.
  • Fixed extracting files with unmapped blocks from ext4 img (only seen on Pixel/2/XL so far).
  • Fixed file context regression from last update
  • Do not extract duplicate files ending in (2) from system.img
  • Fixed crash when using pre-defined capabilities due to none being found in the system.img.
  • Fixed crash when encountering a symlink with strange data struture
  • Windows: Fixed crash when extracting if the inode name ends with /.
  • Fixed files not extracting properly from system.img.
  • Fixed Windows/Linux file capability inconsistencies in the updater-script
  • Windows: Extract files to _exfiles directory if there is another file with the same name but different case in the destination directory
  • Windows: Include _exfiles directories in rom
  • Fixed crash when performing update-binary conversion
  • Moved language file downloads to a different server.
  • Removed external requests library dependency
  • Removed external psutil library dependency
  • Log all ramdisk modification errors in boot.log
  • Added support for extracting roms that include compressed system.new.dat.br
  • Updated configure.sh to find full byname partition path on device
  • Updated all updater-scripts to reflect the new configure.sh changes
  • Added AutoROM support for building the ROM
  • Added AutoROM support for signing the ROM.zip
  • Added AutoROM support for zipaligning
  • Added AutoROM support for deodexing Oreo
  • Added AutoROM support for converting updater-script to update-binary before building
  • Added AutoROM support for including cache.img
  • Added AutoROM support for removing dm-verity
  • Added AutoROM support for removing forceencrypt
  • Linux: When using AutoROM, set sudo in terminal at the beginning of extraction to avoid interuption.
  • Fixed language entries getting cut off if there is an equal symbol in the text
  • Fixed gitlab username error message disappearing so fast you can't see it
  • Added check with gitlab api to be sure your username is correct as it will mess up the kitchen updater otherwise
  • Fixed crash when extracting older Nexus firmware that does not contain a vendor.img
  • Fixed custom bloat list not being refreshed when bloat_custom file changes
  • Read url output directly instead of downloading/reading a temporary file
  • Added several items to the knox remove list and bloat list
  • Added Windows support to the superr launcher (not superr.exe) for those who prefer to start the kitchen from the Windows command line.
  • Do not reset language when resetting all tools
  • Fixed crash when unpacking boot.img.
  • Get boot.vdex classes name from boot.oat when deodexing Oreo
  • Added encoding type to language files to ensure proper display
  • Fixed extra quote being added to some set_metadata lines when using default perms.
  • Fixed crash when choosing Boot/Recovery Tools menu on Pixel firmware
  • Handle exception when subproccess communicate fails.
  • New Oreo deodex method based on vdexExtractor by @anestisb
  • Use apk name for deodexing instead of app directory name in case the names are different
  • Updated md5 for Android Image Kitchen by @osm0sis to v3.1
  • Added support for ramdisk.img/kernel.img from Huawei Oreo firmware
  • Added /system/etc/selinux to the search locations for file_contexts
  • Fixed crash replacing lower case partitions with upper case in the updater-script.
  • Fixed custom directory display in the Extra Directory Menu when there are more than one
  • Ask if custom directories should be flashed to a partition instead of assuming they should
  • Use a python dictionary to store language data instead of importing variables
  • Removed all color and newline escape codes from language file
  • Remember language choice after update
  • Fixed asserts not coming back after you remove them from the asserts menu and try to add them back
  • General code cleanup.
  • Ask for confirmation before recording the gitlab username in case of typos
  • Prevent the possibility of having more than one username in the git config
  • Fixed crash when devicename has not been defined before pulling img from custom recovery.
  • Added skip and quit options to the by-name detection menu
  • Fixed possibility for crash when checking boot status if we don't find a ramdisk
  • Fixed crash if system.new.dat is named system.new.dat.*
  • Ask your Gitlab username and add it to git config so you won't be asked every time you update.
  • Added option in plugin manager to check for plugin updates and update all of them at once
  • Moved getconf, getprop, and md5chk functions to srktools module to be accessible by plugins
  • Fixed plugin manager returning to main menu if a non-existing option is pressed
  • Removed unused language variables
  • Fixed not returning to main menu when adb perations fail.
  • Fixed removing flags following verify when removing dm-verity
  • Ignore system_b.img in newer Moto firmware
  • Call /sbin/unzip instead of busybox unzip when installing mods.
  • Fixed fstab detection correctly this time.
  • Windows: Fixed default.prop operations if default.prop is a symlink
  • Remove dm-verity and forceencrypt from all fstab files if more than one exist
  • Fixed crash on first update after fresh clone due to updatecheck conf not being set yet.
  • Fixed fstab not being found in /vendor/etc if init.rc is not in /system
  • Fixed Pixel/Pixel2 default.prop/prop.default detection
  • Linux: Fixed ownership of fstab and default.prop/prop.default when they are changed and exist outside the boot.img
  • Fixed crash when entering boot/recovery menu on Pixel/Pixel2 devices.
  • Fixed boot.img not unpacking/repacking after last update.
  • Updated checksum for Android Image Kitchen v3.0 by @osm0sis
  • Fixed dm-verity status display if fstab exists but dm-verity is in the dtb.
  • Added support for removing dm-verity from dtb
  • Removed magiskboot option as it is no longer needed
  • Fixed extracting more than system sparsechunks in some moto firmware.
  • Added support for fixing Moto system.img with additional superblock
  • Added a check for sparse images to only run simg2img if needed
  • Move art files along with odex and vdex for deodexing if they exist
  • Do not run smali if baksmali fails.
  • Let the kitchen finish installing if downloading devices.zip is the only problem
  • Show list of failed items when kitchen tools install fails
  • Fixed asking for signature after changing perm types even if you already have one set
  • Fixed language conf not being unset after update
  • Fixed language conf not being unset when resetting all tools
  • Fixed dependencies conf not being unset when resetting all tools
  • Added option in the update menu to toggle checking for updates when the kitchen starts
  • Fixed update menu allowing you to choose non-existing options.
  • Fixed deodexing framework for M, N and O smali/baksmali methods
  • Alphabetically sort oat deodexing.
  • Fixed metadata lines not being added to the updater script after v3.0.8.9
  • Really don't log simg2img Invalid sparse file format
  • Fixed broken by-name/mmc operations after last update
  • Do not log simg2img Invalid sparse file format at header magi during extraction when trying to unsparse a raw img
  • Fixed boot.log ending up in the wrong place with the wrong name
  • Alphabetically sort the extract file list
  • Store ROM config info in project srk.conf instead of single line or empty files
  • Store kitchen config info in kitchen srk.conf instead of single line or empty files
  • Added temprorary function to convert single line and empty files into srk.conf lines
  • Fixed import readline error on 32-bit Linux
  • Fixed device asserts adding a comma after the default device if you leave the input field empty and press enter
  • Fixed language download
  • Minor code cleanup.
  • Fixed crash and/or unexpected behavior if there is no fstab in the boot.img
  • Added option to patch the boot.img with magiskboot to disable dm-verity and forceencrypt (alpha testing)
  • Added option to restore original boot/recovery.img after packing or patching
  • Fixed a few cosmetic bugs with menus and prompts
  • Log all boot pack/unpack operations in boot.log
  • Added ability to build ext4 img files from included directories chosen when extracting
  • Windows: Create fs_config files from tar/win backups
  • Get original file contexts from tar/win backups
  • Huge improvments in the set_metadata updater-script for tar/win extractions.
  • Fixed crash if vdex is used but not for all odex files
  • Create fs_config for all img files extracted instead of only system and vendor
  • Use fs_config for creating all ext4 img files if it exists
  • Fixed some tar files not extracting and crashing in certain cases.
  • Added tools/gapps to .gitignore for the gapps plugin to store gapps zips.
  • Fixed /data not flashing in sparse_dat roms if set_metadata is chosen for /data.
  • Fixed partition size through adb for /data
  • Fixed data.new.dat not being created/zipped when choosing sparse_dat for data perm type.
  • Fixed by-name address when adding /data to rom
  • Added check to be sure system.img can be fixed if created from Motorola sparsechunk files
  • Added status message when fixing Motorola system.img.
  • Windows: Fixed extracting Motorola firmware that contains sparsechunk files
  • Linux: Removed awk, dd, and head dependencies
  • Log simg2img operations in main.log.
  • Fixed crash starting windows after last update.
  • Fixed text input not allowing arrow keys
  • Added text showing img size while building
  • Log img2sdat and sdat2img operations in main.log
  • Return and cleanup properly during sparse_dat rom creation if system.img build fails
  • New update-binary compiled and patched by @Captain_Throwback to hopefully fix all issues
  • Fixed unzip arguments for unpacking chunk files and for unpacking update-binary when signing.
  • Keep all adb shell calls inside quotes to avoid windows grep, tr, etc errors
  • Hopefully fixed partition size through adb, again
  • Added dependencies check for Windows
  • Windows: Python2 is now a required dependency
  • Removed extra mount command in sparse_dat updater-script (thanks @firefds)
  • Linux: Removed which dependency.
  • Really fixed updater-script not changing by-name partition labels when required.
  • Ignore data.ext4.win when extracting system.ext4.win
  • Windows: Fixed crash when trying to get data from build.prop on le_x2 and possibly others
  • Do not accept symlinks with non-ascii characters
  • Fixed updater-script not changing by-name partition labels when required
  • Added support for j3xnlte style by-name partition labels.
  • Fixed m key press not taking you to the main menu from the extract menu
  • Reverted to old screen clearing method for WSL
  • Fixed file_contexts.bin conversion for some files
  • Fixed TWRP backups without a system directory not extracting
  • Linux (not WSL): Create fs_config files from TWRP *.win* and older *.tar backups
  • Fixed crash when getting partition size through device
  • Windows: Hopefully fixed getting partition size from device
  • Replaced oat2dex latest commit with latest release.
  • Fixed E:unknown command [] at the end of flashing due to tabs in the updater-script (thanks @nkk71 for finding the solution).
  • Fixed SuperSU.zip download not working since their SSL cert expired.
  • Fixed last update breaking the kitchen
  • Updated SuperSU to v2.82 SR5
  • Updated Busybox installer by @osm0sis to latest version.
  • Updated img2sdat by @xpirt to version 1.5
  • New update-binary for use in all perm_types, patched and compiled by @Captain_Throwback
  • Fixed typo/bug when getting partition size through adb shell
  • Fixed regression from #de161929 not allowing to unpack boot.img without unpacking rom first
  • Updated smali, baksmali, and oat2dex to the latest commits
  • Use 7-zip to extract zips instead of Python zipfile module
  • Log all zip pack/unpack operations in 00_project_files/logs/zip.log.
  • Linux: Removed tput dependency
  • Sort plugin list alphabetically
  • Added support for detecting amlogic partition paths when choosing to Detect mmcblk partitions from recovery.img.
  • Windows: Added screen clearing with ability to scroll up to see the history (same behavior as Linux)
  • Linux: Removed getcap, stat, and some other unneeded dependencies
  • Linux: Added check/error for running as root
  • Look for device name in ro.build.description as a last resort to avoid crash.
  • Fixed crash if ro.build.display.id does not exist in build.prop
  • Added support for extracting newer Motorola firmware packages
  • Added /system/vendor/etc to fstab check locations
  • Some code cleanup.
  • The new Quit/Restart now only requires a single key press
  • superr.exe is even safer now according to VirusTotal.
  • Fixed errors while packing dex into jar files when there are multiple dex files for the jar
  • Hopefully fixed superr.exe getting removed by Windows Defender (thanks @nkk71 for pointing out the double system call)
  • The kitchen now asks if you want to quit or restart when choosing quit from the menus or when the kitchen crashes
  • Fixed symlinks ending up as set_metadata lines when the source files have non-standard file_contexts.
  • Use sysXtract by @nkk71 to extract img files, and use 7-zip as a backup
  • Linux: Use all 64-bit binaries on 64-bit systems
  • Fixed crash when deodexing firmware that contains /system/vendor/framework that is already deodexed
  • Added check to be sure all files with non-standard file contexts get added to the updater-script for set_metadata perm type
  • Use correct file contexts for /vendor in set_metadata updater-script
  • Fixed root not being added to the updater-script after changing perm types if previously rooted
  • Updated the update-binary script functions by @osm0sis
  • Added a slightly modified arch detection by @topjohnwu to the update-binary script to include the correct libs for 64-bit Android when setting metadata
  • Modified set_metadata/_recursive functions to use the correct libs in the update-binary script
  • Replaced package_extract_file and package_extract_dir functions in the update-binary script to improve extraction speed
  • Improved on-device by-name detection in configure.sh by testing the path for system and boot
  • Fixed crash when creating set_metadata updater-script from a system directory with no symlinks.
  • Windows now creates fs_config files when extracting system.img (@nkk71 has done it again!)
  • Added fs_config status next to "Build system.img" in the Build Menu
  • Windows and Linux both use 7-zip to extract img files
  • Improvements to set_metadata perm type to be sure we get all files with capabilities into the updater-script
  • Removed getcap dependency.
  • Linux: Fixed system.img extraction not creating fs_config if there are no capabilities
  • Linux: Fixed vendor.img extraction.
  • Fixed all device files being zipped when choosing to zip new device files
  • Added option to upload new device database files directly from the "Zip devices/capfiles to share" menu
  • Keep track of new devices you have already uploaded, do not keep track if they are not uploaded
  • Added option to upload support.zip directly from the "Support: Create zip to send" menu
  • Added XDA username question to be used in filenames when creating device and support zips so I can match uploaded files to xda posts more easily.
  • Linux - Use custom fs_config file to build system.img if you extracted from a system.img, or if one exists in the devices database
  • Windows - Use custom fs_config file to build system.img if one exists in the devices database
  • Add current device directory to support.zip
  • Moved devices database out of the repo, will be downloaded during first run
  • Added option to Misc Tools to update device database
  • Use SSL to download plugins.
  • Fixed typo preventing vendor.new.dat from being created in sparse_dat roms
  • Fixed /vendor/default.prop being modified instead of /default.prop on pre-Oreo Pixel/XL roms
  • Updated make_ext4fs for Oreo
  • make_ext4fs now uses pure AOSP permissions and capabilities
  • Windows make_ext4fs is finally up to date (Huge thanks to @nkk71 for fixing the cygwin build to make this possible)
  • Updated Android Image Kitchen by @osm0sis to v2.9.
  • Updated SuperSU to v2.82-SR3
  • Fixed apks not getting deodexed if system/app is in the path name but are not in /system/app
  • Look for system/init.rc instead of system/default.prop for Pixel/XL firmware detection
  • Pixel/XL updater-script: Added / in front of egl symlinks, allow /system/etc > /system/etc symlink
  • Added at least partial support for Pixel/XL Oreo
  • Added at least partial support for devices such as Odroid where the root partition contains the system files and ramdisk
  • Properly handle file contexts if they are not found from the mounted system.img.
  • Rename img files to lower case when choosing to extract img
  • Add boot.img to updater-script and ROM.zip when building for Pixel/XL devices.
  • Updated md5 for Busybox Installer by @osm0sis to v1.27.1
  • Added fileencryption to the forceencrypt removed list
  • Added capfiles-23 and capfiles-24 for gts28vewifi.
  • Fixed crash when creating symlinks if the destination file already exists
  • Fixed crash getting directory size when the directory contains symlinks
  • Fixed crash in oat2dex method right after downloading official oat2dex.jar
  • Fixed crash if app or priv-app directories do not exist while deodexing
  • Fixed crash when deodexing if there is an app directory but no apk
  • Windows: Added more capability files.
  • Fixed crash in oat2dex deodex method after choosing official oat2dex
  • Fixed Lollipop deodex not removing arch directory
  • Fixed Lollipop deodexing apps a second time when deodexing framework
  • Windows: Added more capability files.
  • Windows: Added per-device capabilities files to the device database (tools/devices) that will be used if it exists.
  • Fixed system.ext4.win extraction when there are recovery files in the directory.
  • Fixed system.ext4.win extraction when there are sha2 files in the directory.
  • Added option to download/install language translations
  • Added Chinese to the language downloads
  • Windows: Fixed language check overwriting the new language file.
  • Use 7-zip for all zip compression.
  • Windows: Speed and accuracy improvements to file_contexts in updater-script
  • Windows: Sort symlinks
  • Windows: Fix /egl symlinks missing the /
  • Fixed crash and properly handle new java -version output
  • Added per-project option to set rom zip compression level in file 00_project_files/rom_comp_level.
  • Added support for the new plat/nonplat_file_contexts in Android O DP4
  • Improved get_contexts function to parse the wildcards provided in *_context files.
  • Find and use latest Busybox installer by @osm0sis instead of using a predefined link
  • Updated Busybox md5 to v1.26.2 by osm0sis.
  • Find and use latest version of Android Image Kitchen by @osm0sis instead of using a predefined link.
  • Per-project custom debloat is now possible by adding bloat_custom file to your 00_project_files directory.
  • Don't adb pull cache.img when extracting from Samsung devices
  • Fixed crash if there is no csc.zip in the cache.img when extracting Samsung firmware.
  • Fixed update-binary conversion not working with configure.sh
  • Fixed several other major issues with update-binary conversion
  • Switched from native Windows/Linux commands to Python command for moving directories
  • Added cache.img to the adb pull list for Samsung devices
  • Fixed crash when we try to install a plugin but the server is down.
  • Exclude .ftm from fstab list
  • Fixed crash when creating support.zip
  • Tried to fix crash when extracting from adb on some devices.
  • Added md5 check for SuperSU.zip and Busybox.zip after update.
  • Install all modules automatically when the kitchen is run
  • Added md5 check of tools after kitchen update to see if they need to be updated
  • Windows: Fixed only getting symlinks from the 1st volume when extracting multi-volume tar/win files
  • Linux: Fixed AIK install crashing on fresh kitchen clone.
  • Removed build.prop requirement when unpacking boot.img
  • Upper and lower case responses are now accepted in all menus and prompts
  • Linux: Fixed init.d being owned by root after adding it
  • Fixed extracting tar/win files that were created using absolute paths
  • Windows: Fixed symlinks not being created and causing a crash when extracting tar/win files.
  • Updated SuperSU to v2.82-SR1
  • Linux: Fixed kitchen hanging when trying to delete a project that contains an unpacked boot.img with root owned files
  • Fixed crash if ro.build.display.id does not exist in build.prop.
  • Added /data mount and unmount commands when /data/app is enabled
  • Fixed a few occurrences of SYSTEM and APP devices using system.
  • Fixed dm-verity not being removed on some devices
  • Fixed by-name not being correctly detected on some devices
  • Added mofd_v1 to the fstab ignore list
  • Fixed fstab not being detected and hanging if /system is not in any existing fstab.
  • Fixed crashes when dealing with boot.img and possibly others.
  • Windows: The kitchen launcher now calls python3 instead of python
  • Windows: All internal Python calls to external programs call the appropriate python/python3
  • Fixed issue with custom asserts.
  • Updated plugin url to work with new file server.
  • Windows: Fixed Pixel/XL symlink failure when flashing.
  • Fixed custom zip not showing status on screen after offering to convert to update-binary
  • Fixed Pixel/XL slot detection in configure.sh
  • Fixed Pixel/XL symlink failure when flashing.
  • Windows: Hopefully fixed adb extract on most devices when booted in Android.
  • Fixed crash if we don't get device name from an adb extraction
  • Use capital SYSTEM when needed while extracting with adb and booted in Android
  • Look for a good place for extraction on device when using adb booted in Android
  • Look for img files to adb pull when booted in Android
  • Fixed crash while unpacking recovery.img
  • Fixed crash when extracting system.img that includes /system/bin/[.
  • Fixed crash when extracting zips containing AP and CSC tar.md5 files
  • Add metadata lines for everything in /system/bin recursively
  • Updated configure.sh to hopefully make it more compatible with more devices
  • Fixed adb partition size detection.
  • Fixed smali/baksmali crash when there is no apkname__classes.dex and we try to rename.
  • Fixed /data always including itself in raw_img roms
  • Fixed extra partitions such as /vendor not being included in raw_img roms even if you want them.
  • Fixed cache.img not being extracted from tar.md5 when not contained in a zip
  • Look for and extract system and cache .img, .img.ext4, and .ext4 from tar.md5 files
  • Linux: Fixed some AIK 2.8 binaries not being marked executable after extraction
  • Windows: Fixed crash when extracting system.img due to currently unknown error, and log the line that causes the error.
  • Windows: New icon for the launcher, and smaller size
  • WSL: Fixed img files not extracting
  • Windows: Fixed line ending in configure.sh
  • Fixed crash if trying to extract an img file when there is no build.prop
  • Added support for sec_omc.zip files in newer cache.img like gs8
  • Windows: Fixed files not being extracted from system.img
  • Linux: Fixed crash when ls -Z does not output file context, and we iterate file_contexts file
  • Linux: Fixed failing to get directory contexts from system.img
  • Linux: Fixed directory symlinks not being created
  • Fixed boot.img line not being removed from updater-script on Pixel/XL devices
  • Fixed debloat not removing all files in bloat list
  • Fixed file_contexts file not including / and /d
  • Updated Android Image Kitchen by @osm0sis to v2.8.
  • Windows/WSL: Back to Python zipfile() module for compressing flashable zips
  • Linux: Fixed the error created in last update unpacking AIK when fresh cloning
  • Added check for / at the beginning of bloat_custom lines before deleting to be sure we only delete paths relative to the project directory.
  • Fixed odex.xz files crashing the kitchen
  • Added option to remove asserts from ROM
  • Do not use fstab with .fota in the name
  • Use 7-zip (included) to pack all flashable zips in Windows and WSL.
  • Windows: Fixed b key press not being recognized
  • Added a Back option to the root method options
  • Only allow key presses that correspond to menu options
  • Fixed project name adding an extra superr_ when creating new project from the project selection menu
  • Set permissions of configure.sh to 777 instead of /tmp to 755.
  • Windows: Use 7-zip (included) to extract img files instead of Imgextractor
  • Windows: Fixed missing symlinks in updater-script
  • Windows: Fixed many file contexts not being set correctly
  • Windows/Linux: Fixed system/SYSTEM on devices that use SYSTEM
  • Linux: Do not create metadata lines for symlinks.
  • Fixed manually signing zip when there are more than one to choose from
  • Added ability to convert all flashable zips to update-binary script when building
  • Added per-project option in Misc Tools for update-binary script - Always convert, Never convert, Ask every time
  • Added check for delete_recursive when converting to update-binary script
  • Fixed mount command not getting converted to update-binary script if rom does not use by-name.
  • Fix crash when signing zips that use an update-binary script in Windows
  • Log zip signing in sign.log
  • Fixed update-binary conversion on roms that do not use by-name
  • Make a copy of *_statfile.txt after extracting img files in Windows
  • Add *_statfile.txt to support zip
  • Add META-INF directory to support.zip
  • Fixed Downloading/installing screen that disappeared.
  • Disable sepolicy-inject root method for Windows
  • Fixed sepolicy-inject root method for Linux
  • Fixed some debloat/knox checks
  • Updated smali/baksmali to v2.2.1.
  • Display root type instead of Rooted
  • Fix error during deodex cleanup on L and M
  • Fix crash when removing knox.
  • Change root status to rooted when adding Magisk using the plugin.
  • Fixed logs crash when check for updates on start is enabled.
  • Fixed crash in Windows when checking for app_chimera at the start of deodexing N and O
  • Fixed crash when finishing deodex on M and L
  • Fixed crash and show error message when entering the wrong syntax for custom asserts
  • Fixed boot/AIK still being part of the repo and causing Windows tools install failure after resetting tools and boot extraction failure on Linux
  • Fixed crash removing knox in Windows
  • Fixed crash deleting plugins if example does not exist
  • Heapsize errors now return you to heapsize options instead of Misc Tools
  • Added confirmation when deleting projects
  • Tried to fix META-INF1 remaining after builing rom.
  • Fixed crash when choosing main menu from root zip options menu
  • Fixed crash when getting by-name through adb.
  • zipalign - check to make sure files exist before renaming and record in main.log
  • Fixed assert getting broken when building rom
  • Fixed line endings in updater-script when running in Windows.
  • Minor improvement to set_metadata generation in Windows
  • Fixed Android O rom not building due to lack of xbin.
  • Ignore commented lines in build.prop
  • Do not create set_metadata lines for files/directories that do not exist
  • Do not use fstab with nodata in the name
  • Removed duplicate /system/vendor/firmware set_metadata line
  • Fixed tar creation for future use.
  • Hopefully fixed crash after signing zips when checking for update-binary script
  • Updated Imgextract.exe to 1.3.7.
  • Fixed Windows kitchen trying to update the Linux launcher
  • Fixed cyfile errors
  • Fixed system.img.ext4 not being renamed automatically if not in an archive
  • Added dialog informing we are getting the plugin list when installing a plugin
  • Check for and show error message when trying to run Bash plugins in Windows
  • Remove all set_metadata lines with a context of "?"
  • Add all files in /system/bin to the updater-script.
  • Require kitchen restart after updating
  • Fixed duplicate unmount commands in updater-script when extracting extra img files
  • Fixed some language file checks from crashing
  • Added official Windows launcher (superr.exe)
  • The kitchen should install psutil (win/linux) and colorama (win) packages now if they are not already installed.
  • Fixed custom zips on Pixel devices
  • Removed attempts to pip install packages from within the kitchen
  • Added logging to adb operations.
  • Fixed extracting Pixel firmware.
  • Download and extract Android Image Kitchen (Linux) directly from the XDA thread
  • Fixed extracting tar.gz files
  • Fixed crash if the main tools download/extract fails
  • Fixed crash in Linux when updating the kitchen launcher
  • Fixed crash when running the updater if there is no update available
  • Added logging to img extract operations
  • Fixed crash if Java 8 is not installed on Linux
  • Added check for proper java installation on Windows
  • Fixed language files other than English.
  • Rewritten in Python for cross-platform support.