Release v1.4

This commit is contained in:
PizzaG 2026-09-15 21:22:01 -05:00
commit 93dca4deb3
10 changed files with 181 additions and 36 deletions

135
CHANGELOG.md Normal file → Executable file
View file

@ -1,3 +1,138 @@
## v1.4
- Added Windows EXE packaging support with a self-contained application build and installer workflow.
- Added Linux DEB packaging support with a standard desktop application entry.
- Added platform-specific settings.ini configuration for the Project_Working_Folders path, defaulting to the user's home directory on Linux.
- Added optional sudo password configuration through settings.ini.
- Added platform-aware updater handling for extracted 7z, Windows EXE, and Linux DEB installations.
- Added separate update metadata support for extracted.json, windows.json, and linux.json.
- Added Windows EXE and Linux DEB update installation handling.
- Added reusable Linux and Windows package builder scripts.
- Preserved the cleaned project source layout while retaining existing application and module functionality.
- Public Release v1.4
## v1.3
- Restored Linux ownership and writable permissions for `app_log.txt` when the toolkit runs elevated, preventing the desktop user from being left with a locked/root-owned log.
- Re-asserted log permissions safely during logging so the fix survives new or replaced log files.
- Preserved existing Linux working-folder permissions and behavior.
- Public Release v1.3
## v1.2.28
- Module 3: route non-terminal progress through the existing GTK progress bar.
- Module 3: strip ANSI colors/cursor control sequences and suppress terminal block-bar redraws in GUI output.
- Module 3: retain normal interactive terminal progress behavior on Linux.
- Module 3: keep harmless `tput: unknown terminal` diagnostics suppressed in GUI/non-terminal runs.
## v1.2.27
- Suppressed harmless Linux EROFS/EXT4 rebuilder `tput: unknown terminal "unknown"` diagnostics when launched from the GTK GUI, while preserving interactive terminal behavior.
## v1.2.26
- Removed the redundant Module 6 Operation dropdown; Unpack Image, Repack Image, and Cleanup buttons now directly select the operation.
- Fixed Windows Module 6 command construction so the complete GUI-safe command is passed to cmd.exe as one /c command string.
- Applied the corrected Windows invocation to unpack, repack, and cleanup.
## v1.2.24
- Fixed Module 6 Windows batch invocation so quoted Android Image Kitchen script paths are passed correctly through cmd.exe.
- Applied the corrected GUI-safe command invocation to unpack, repack, and cleanup operations.
## v1.2.23
- Fixed Module 5 Windows rebuild publishing when the selected output image is inside the staged working folder. The rebuilt image is now published only after the working folder is restored.
- Made Module 5 ownership restoration explicitly Linux-only; Windows no longer attempts Unix `os.chown()` handling.
## v1.2.21
- Module 5 Windows vendor_boot extraction now automatically installs/verifies the required native `lz4` Python module in the MSYS2 UCRT64 environment before running the extractor.
- Linux Module 5 behavior is unchanged.
## v1.2.20
- Fixed Windows Module 4 crash caused by Unix-only os.geteuid() ownership restoration.
- Added Module 4 subprocess/stage logging to app_log.txt.
- Clarified lpmake sparse-probe messages in the Module 4 output.
## v1.2.17
- Fixed Windows EROFS TAR rebuilding against an erofs-utils 1.8.x bug that can produce a bogus ~2 TiB image when TAR paths traverse intermediate symlinks. Intermediate symlink components are now resolved before the TAR is handed to mkfs.erofs.
- Added explicit EROFS TAR preparation statistics and clearer extraction-stage output.
- Added reliable application-wide session logging of module output and subprocess activity to app_log.txt.
## v1.2.14
- Windows Module 3 now reuses an existing non-empty working folder when it is verified to match the currently loaded image.
- Added source-image identity metadata for reliable matching, with backward-compatible inference for older Module 3 folders.
- Windows EROFS rebuild preparation now runs in the background worker, preventing the GTK interface from freezing while metadata and the PAX tar stream are generated.
- Preserved all Project_Working_Folders, including empty directories, in release archives.
## v1.2.13
- Windows Module 3 EROFS rebuild no longer invokes host/Cygwin SELinux label lookup.
- Windows EROFS rebuild now creates an erofs-utils-compatible PAX tar stream carrying Android uid/gid/mode, SELinux xattrs, and fs_config capabilities directly.
- This removes the recurring `selabel_lookup` `Error 22` failure on Windows while preserving Android filesystem metadata.
- Linux Module 3 behavior remains unchanged.
## v1.2.12
- Fixed Windows EROFS SELinux lookup failures caused by afsr `security.selinux` xattrs carrying their required trailing NUL byte into generated `file_contexts.txt`. The NUL is now stripped only when converting the xattr into the text-based Android SELinux context file.
- Preserved the original xattr metadata for EXT4/afsr use.
- Preserved all empty `Project_Working_Folders` directories in release archives.
## v1.2.11
- Fixed the remaining Windows EROFS SELinux lookup failure by passing `--mount-point` without a leading slash. erofs-utils constructs the SELinux lookup path as `/<mount-point>/<relative-path>`, so passing `/extracted_system` produced a double-slash path and libselinux returned `EINVAL`.
- Kept Android `file_contexts.txt` entries in image-relative/mount-point form and retained `.repack_info` isolation.
- Preserved all empty `Project_Working_Folders` directories in release archives.
## v1.2.10
- Fixed Windows EROFS SELinux context generation: mkfs.erofs already prepends `--mount-point` to image-relative paths before calling libselinux, so Windows rebuilds now pass the Android/image-relative `file_contexts.txt` unchanged instead of incorrectly prefixing it with the host working-directory path.
- Preserved `.repack_info` isolation and all empty `Project_Working_Folders` directories in release archives.
## v1.2.9
- Fixed Windows EROFS rebuild preparation to read `file_contexts.txt` from the temporary metadata copy after `.repack_info` is moved out of the source tree.
- Preserved the v1.2.8 SELinux path adaptation and `.repack_info` isolation fixes.
- Preserved all empty `Project_Working_Folders` directories in release archives.
## v1.2.8
- Fixed Windows EROFS SELinux context lookup by adapting Android file_contexts patterns to the Cygwin source-tree paths used by mkfs.erofs.
- Preserved the original Android file_contexts metadata for cross-format conversion; only the temporary mkfs input is path-adapted.
## v1.2.7
- Fixed Windows EROFS rebuilds failing on `.repack_info` shared-xattr/SELinux processing by keeping toolkit metadata outside the mkfs source tree during image creation.
- Preserved all Project_Working_Folders directories, including empty folders, in release archives.
## v1.2.4
- Windows Module 3 extraction now preserves a common cross-format metadata set so one working folder can be rebuilt as either EXT4 or EROFS.
- EROFS extraction captures `fs-config.txt` and `file_contexts.txt` from the native extract.erofs backend and derives afsr `fs_metadata.toml` from them.
- EXT4 extraction keeps afsr `fs_metadata.toml` and also generates Android `fs-config.txt` and `file_contexts.txt` for EROFS rebuilds.
- Windows rebuild now validates only the metadata required by the selected output filesystem.
- Module 3 metadata files under `.repack_info` are excluded from generated filesystem images.
- Sparse EXT4 images are converted with the bundled Windows `simg2img.exe` before afsr extraction.
- afsr is downloaded on first Windows EXT4 use and verified against the published SHA-256 release digest.
- Linux Module 3 implementation remains unchanged.
## v1.2.3
- Windows Module 3 EXT4 rebuild now uses the bundled `mke2fs.exe` plus a verified native Windows `e2fsdroid.exe` backend.
- The EXT4 backend preserves the existing `.repack_info/fs-config.txt` and `file_contexts.txt` metadata path used by Linux.
- `e2fsdroid.exe` and its required Cygwin runtime DLLs are fetched on demand and verified against their Git blob SHA-1 values before use.
- Linux Module 3 scripts were not modified.
## v1.2.2
- Module 3 Windows no longer requires WSL.
- Added native userspace EROFS extraction/rebuild using a verified Cygwin x86_64 EROFS tool bundle downloaded on first use.
- Windows EXT4 remains gated until the native Android metadata population backend is added; Linux EXT4 behavior is unchanged.
## v1.2 — 2026-09-12
- Device Tools Theme dropdown now receives the active theme color treatment, including hover/focus states.