- 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 v18.104.22.168+
- 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 v22.214.171.124
- 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 v126.96.36.199 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 v188.8.131.52
- 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 v184.108.40.206
- 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 v220.127.116.11
- 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.