Releases: ravindu644/Droidspaces-OSS
Releases · ravindu644/Droidspaces-OSS
Release list
Droidspaces v6.4.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- droidspaces: bump v6.4.0 (7612af0)
- change: chkopenrc.sh to use rc-status for checking of running services (#226) (da001f9)
- build: name tarball with commit hash instead of date (35c6dd4)
- ci: name CI apk Droidspaces-universal-CI-.apk (fe67da3)
- ci: remove redundant run-name configuration from CI workflow (ac346ff)
- docs: Add Galaxy A15 4G (sma155f) to GKI support list (#225) (5f5c613)
- mount: force image rootfs read-write before pivot_root (7957014)
- net: wire gateway clients before unblocking gateway init (39dbbdf)
- net: explicitly reap gateway veth on gateway stop to free orphan netns (8510a02)
- net: heal stale gateway cable when its peer outlives the gateway netns (9e738a8)
- docs: link Networking From Zero guide in README (d9e6938)
- docs: cover gateway mode and --upstream pinning in built-in help (c4129eb)
- docs: document gateway mode, automatic uplink monitor, and --upstream pinning (e50ebe8)
- app: drop unused host systemUsage polling and its collector (c7c6296)
- app: fix Panel tab polling not resuming after returning from background (06b1378)
- net: fix DHCP source MAC for bridgeless NAT; harden gateway on no-bridge kernels (e876f99)
- net: log decoded target name instead of '' for standard verdicts (2dfdf89)
- net: dedupe NAT/gateway helpers (iptables ACCEPT, MAC, link up/down) (f30f467)
- app: block back gesture on backend install screen, force Continue button (371ffd8)
- net: re-assert ip_forward on every platform, not just Android (9ac6ed3)
- net: add --upstream to pin NAT WAN to specific interface(s) (f702611)
- mount: don't force a full e2fsck on every container start (d035ce8)
- net: self-heal delegated-LAN clients when the gateway (re)boots (901502d)
- Update translation files (#224) (ea1c703)
- Added translation using Weblate (Tamil) (#221) (4206f21)
- docs: remove garbled characters from the Android installation guide (#223) (bc6c536)
- Documentation: Updated community-supported-devices.md to bring 1 new device and organization (#222) (d4e518c)
- app: show rootfs.img disk usage on sparse container details (80f687f)
- update Simplify Chinese translation (#219) (7a268e9)
- Translated using Weblate (Indonesian) (#212) (cbfcd47)
- selinux: fix permission denied when read/write mounted storage (5c7066f)
- app: center tab empty/error states above the floating bar (76cbd21)
- docs: document non-root GPU access for Turnip (e31a047)
- app: trim and collapse whitespace in container names (9d6b861)
- Translated using Weblate (Chinese (Simplified Han script)) (#208) (204e7e9)
- docs: add TB520FU (Yoga Tab Plus ROW ZUI 17.5.10.096) to community-supported-devices (#207) (802c933)
- build: add Debian package artifact generation (#206) (310abb5)
- Translated using Weblate (Chinese (Traditional Han script)) (#204) (75ed0b5)
- android: add OpenWrt procd service management (#203) (7b7213b)
- Add Droidspaces support for Redmi note 7 pro (violet) (#202) (a72fec3)
- Translated using Weblate (#200) (977f0e8)
- net: pin container eth0 to a deterministic MAC from its name (c09e941)
- net: keep gateway veth alive on last client exit, reap only the bridge (4457dc4)
- post_extract_fixes: allow network services to start in gateway mode (20c6dbc)
- net: unify /etc/resolv.conf wiring, fix gateway-mode DNS (0ebd06f)
- config: load running container's booted snapshot, not the host copy (fc2dbda)
- net: tear down idle gateway bridge and veth on last client exit (bd65799)
- fix: smooth network-mode switching, single static divider above DNS (f0c2bf5)
- feat: add gateway networking mode to installer and edit screens (ef6bcb5)
- feat: add auto-boot priority ordering for gateway networking mode (db90b9a)
- net: fix port forwards being unreachable from hotspot/USB-tether clients (4184d97)
- updated .gitignore and submodules (899b1ae)
- netlink: fix netd default-network rule never matching in RTM_GETRULE dump (c29524b)
- net: remove --upstream entirely, detect the internet uplink automatically (81b02fa)
- updated gitignore (c2a1c09)
- submodules: updated socketd & webui (90a53f6)
- docs: add Networking-From-Zero conceptual guide for gateway mode (6cf898a)
- clang-format all the source files (61d400a)
- Makefile: add make format target to automate clang-format on source files (a5bc2cd)
- Net: Virtual router support (#196) (d41368e)
Automated Release by Droidspaces CI
Droidspaces v6.3.0
Immutable
release. Only release title and notes can be modified.
What's Changed
- Translated using Weblate (#195) (cd95a6f)
- droidspaces: bump v6.3.0 (e52bac0)
- docs: reorganize README and README_CN structure (605d31d)
- docs: unify GPU, audio, and DE autoboot into Graphics-and-Audio guide (d8a53f9)
- Move socketd and WebUI out-of-tree (#194) (be467a5)
- Add connection timeout settings for socketd (#193) (4b521a2)
- fix: wakelock now requests battery optimization exemption (de132d3)
- post_extract_fixes: always generate a machine ID regardless of already applied post-extract fixes (5c1355d)
- requirements: add Termux requirements section with curl codebox (b6a3e41)
- build: prepare in-house BusyBox for WebUI daemon (#191) (d9af43e)
- docs: bold all OnePlus device names in community-supported-devices table (b8729bf)
- Add More Wild Kernels OnePlus Kernel Variants (#192) (0aa6dcd)
- daemon: fix PTY input deadlock and backpressure on large paste (700f751)
- Makefile: fix missing -I include/src path in debug-hardened target (a3278f1)
- main: unified root gate before config/scan execution (016e744)
- app: ContainersScreen: collapse drawer before action callbacks (c2c7cb9)
- chore: remove Chinese feature request template and enforce English-only bug reports (4d25c6c)
- pulseaudio: fix OpenSL ES and suspend-on-idle hang on Samsung (7524efa)
- Add OnePlus 7 Pro (guacamole) to community-supported devices (#186) (8c891c6)
- Translated using Weblate (Chinese (Traditional Han script)) (#188) (e7a8ed5)
- refactor: remove PulseAudio default.pa patching in favor of clearing stale runtime configuration (c49daea)
- updated gitignore (b672a23)
- container: support NixOS su path (#185) (bb7871c)
- src: reorganize into android/, net/, and include/ subdirs (d0a7611)
- utils: add ds_global_daemon_stop/ds_resolve_daemon_pid, unify 3 stop fns (09483d3)
- config: add ds_config_free() to unify free_config_binds/env_vars/unknown_lines (b641c24)
- pid: replace 4x check_*_needs() with generic ds_feature_needs() (8151467)
- daemon: signalfd for SIGCHLD/SIGWINCH, fix poll probe, shrink cmdline buf (d5ba163)
- terminal: make TIOCSPTLCK best-effort for kernel 4.9 compat (9901f05)
- terminal: disable OPOST/ONLCR on host PTY for transparent TUI passthrough (5d0aebb)
- scripts: setup-termux.sh: nuked termux-specific checks (5c3ff5f)
- scripts: add setup-termux.sh script to install Termux-X11, VirGL dependencies and configure PulseAudio for Droidspaces (4f1ce67)
- pulseaudio: fix mainloop deadlock on Android (20ed69c)
- selinux: unify daemon domains, simplify dyntransition API (b697ef1)
- add NoRoot kernel for XiaomiPad8Pro & Xiaomi 15 (#182) (685fd89)
- Translated using Weblate (Japanese) (90bd0f8)
- pulseAudio: fix SELinux denials on enforcing mode (a3fa3f5)
- pulseAudio: use
AAudio_sinkas the default sink, wire up the pulseAudio status to features in the info command (2d03660) - app: wire up PulseAudio configuration toggle to the app (a47ee80)
- refactor: unify Android daemon utilities and lifecycle management (129e221)
- feat: add support for PulseAudio on Android (09bba58)
- webui: add initial local dashboard assets (4093c08)
- socketd: serve bundled WebUI test assets (5e6702b)
- Add Xiaomi Pad 7 (China) to supported devices list (#180) (e7f5ad6)
- refactor: extract monitor logic into monitor.c (8a2161c)
- app: wired up "Termux:X11 Extra Flags" and "VirGL Extra Flags" to the container config screen (a639dc7)
- x11/virgl: add --tx11-flags / --virgl-flags for custom server arguments (db86cfa)
- info: show VirGL status in human-readable and --format output (59206e8)
- socketd: implement Docker-compatible container lifecycle API (#178) (588a866)
- socketd: 404 when not found in inspect (f0c4969)
- socketd: wire container inspect endpoint (9033df8)
- socketd: WIP. adding inspect api (c629dee)
- Enable the socketd backend to support container inspection requests addressed by container name or UUID prefix and return a packed container record. (5d417d1)
- feat: integrate VirGL 3D hardware acceleration support on Android (1663a75)
- x11: implement log rotation for X11 logs to prevent file size overflow (3b5bba8)
- x11: replace hardcoded X0/:0 with TX11_DISPLAY_NUM macro (b184bf8)
- android: x11: replace unified tmpfs bridge with dedicated x11.c daemon manager (7ac7842)
- fix: multi-container stop via comma-separated names (ac80c85)
- app: reduced app size by 4MB by dropping bloated brutal busybox and compiling our own custom busybox for our needs (42285c6)
- terminal: fix NULL deref in ds_openpty fallback path (e8330be)
- build: accept native musl compiler in make native (#173) (58a5306)
- Revert "fix: chown host-side PTY slaves to AID_SHELL on Android" (e80a0e5)
- Update Simplified Chinese translations (#172) (3df081e)
- Translated using Weblate (Khmer (Central)) (#167) (a824fdd)
- Add all currently supported WildKernels OnePlus Devices. (#169) (a98bffd)
- fix: chown host-side PTY slaves to AID_SHELL on Android (a5cea2d)
- fix: remove unused pre-allocated TTYs that leaked onto host /dev/pts (94b2c7a)
- app: ui: show full-screen EmptyState when no containers are running in Control Panel (c72682d)
- sepolicy.rule: prune redundant rules and add
ksudomain support (92f32bc) - app: restore reboot recommendation check based on sepolicy.rule (c04ee8c)
- security: selinux: removed every single trace of magiskpolicy and droidspaces.te and fully migrated to sepolicy.rule (1ff5c8a)
- build: sync boot module version dynamically from DS_VERSION at build time versionCode formula: major1000 + minor100 + patch*10 (4208074)
Automated Release by Droidspaces CI
Droidspaces v6.2.5
What's Changed
- fix: bump boot module version to v6.2.5 (65e8011)
- docs: update XFCE tarball resource links and fix formatting for DRI3 tip (e64b269)
- docs: update installation and usage guides to include Rootfs Repository features (afb16a3)
- docs: update gallery and showcase screenshots in readme (8c2be2d)
- droidspaces: v6.2.5 (be2dbc2)
- Translated using Weblate (#165) (0efdc4c)
- seccomp: drop mknod/mknodat device blocking (580c1ea)
- post_extract_fixes: generate and set machine-id to prevent systemd deadlocks on Fedora 44 (8645ce1)
- post_extract_fixes: remove problematic iptables service files (2a30f3c)
- Add conditional compilation for ds_socketd_record_core_event (924a3c1)
- build: reduce R8 obfuscation to lower AV heuristic score (8de6bcc)
- fix: declare BootReceiver to satisfy RECEIVE_BOOT_COMPLETED permission (9d1ff64)
- fix: remove shadowed context variable in ContainerCard (1be8b50)
- docs: zh-CN: move language switcher to the top of README (01ff26c)
- fix: distro icons disappearing after app kill (d9d6bd5)
- mount: fix /proc/sys RW holes being clobbered by parent RO lock (2c1cf81)
- refactor: rename clean_kmsg.txt to last_kmsg.txt for consistency in bug report collection (7291aa3)
- daemon: add mid-run log rotation for droidspacesd.log (3805da1)
- ds_dhcp: fix cross-container DHCP leaks with ifindex and direction filtering (7964783)
- style: enforce consistent code formatting using clang-format across source files (fffaa78)
- build: fix all hardened-debug compiler warnings (f1ae0ef)
- log: persist container logging across pivot_root isolation (ba51ef9)
- virtualize.c: add pre-check to skip virtualization updates if tmpfs directory is missing (2c2b6bf)
- mount: unify masking as self-bind+RO, drop unused shared mask-dir tmpfs (29ae5da)
- feat: wire read-only bind mount flag to app (9c60d95)
- mount: add :ro flag support for read-only bind mounts (7b97ff3)
- Translated using Weblate (#163) (b615530)
- More Shortened titles in Docs metadata (#162) (62e6306)
- Shortened titles in Docs metadata (#161) (921b99d)
- docs: move language switcher to the top of README (eb721a0)
- post_extract_fixes: do not add ExecCondition to udev-related units (136ec2f)
- fix: post_extract_fixes: guard udev socket units with hardware access limit (0d504ad)
- ui: polish rootfs repository sheet and fix cosmetic bugs (a3cdcec)
- Update translation files (#157) (2bbe25c)
- app: Rootfs Repository: use unique, metadata-derived filenames for rootfs assets to prevent download conflicts (c73586d)
- Android: fix icon cache poisoning and stale state after container poweroff (b626078)
- seccomp: truly skip all filters when noseccomp is active (0ea180e)
- nix: finix: fix finix using wrong arch. improve compatibility with droidspaces (#159) (01ce155)
- docs: zh-CN: consolidate Simplified Chinese translations into singular folder (a5746c7)
- Simplified Chinese Translation of Document (#158) (c931c5b)
- app: Rootfs Repository: contextual empty state and hide banner while searching (009e08e)
- app: Rootfs Repository: filter rootfs assets based on detected device architecture (f81a350)
- app: add custom rootfs repo support (d98185a)
- docs: add trailing spaces to markdown quick navigation lists for improved rendering (6629f0a)
- docs: add disclaimer warning to community-supported devices documentation (6ab10fa)
- fix: cancel terminal session notification upon service termination or empty session state (a5baa69)
- fix: add hostname sanitization and validation for container configuration menu (7c91bcf)
- app: Rootfs Repository: fix rootfs downloads saving with display name instead of filename (9b21332)
- app: removed unused strings (17c979c)
- app: add open-source repository banner to rootfs sheet (3e5f74b)
- app: Rootfs Repository: replace download count with build_date from JSON (c3c68a2)
- app: Rootfs Repository: adapt to new rootfs.json format (ecbffac)
- fix: prevent Linux /dev breakage by restricting device pruning to Android environments (21ab8dc)
- fix: nuke container sessions before stop/restart (58b5973)
- post_extract_fixes: restrict dhcpcd to NAT mode and whitelist eth interfaces to prevent Android network interference (b6c5cbc)
- post_extract_fixes/docs: gate udev services behind hardware access config and update documentation (2d9c389)
- Translated using Weblate (#153) (1f00fbb)
- app: fix cancel button not stopping DownloadManager download (dac54d4)
- Added docs dispatch workflow to trigger web repo on Documentation changes (#156) (ef2dc4a)
- Added metatags to Documentation (#155) (7dcbf04)
- Correct model number for two devices (#154) (a8f6100)
- app: use overflow-driven font auto-shrink for rootfs asset card names (544e358)
- app: implement rootfs repository browser and download manager for rootfs tarballs (65a042a)
- app: add support for OpenRC init system management in the container info menu (d336534)
- docs: added oppo reno10 devices to GKI support list (#152) (34a68b2)
- docs: added Oneplus SM8250 devices to Non-GKI support list (#151) (5358ec6)
- Translated using Weblate (Khmer (Central), Portuguese) (#150) (ee10cc8)
- requirements: update kernel configuration to include TMPFS_POSIX_ACL and reorganize networking settings (9ab49f7)
- Add machine-readable output support to show command (7c4864f)
- docs: Fix duplicated 'https://' and format chart (#148) (5aeb895)
- docs: Update 5.10 GKI community supported devices (#147) (6220539)
Automated Release by Droidspaces CI
Droidspaces v6.2.0
What's Changed
- fix(terminal): resolve hostname before opening tabs/picker (588cca1)
- fix(terminal/panel): unified OSInfo stream eliminates hostname/metrics null bug (cb5cdd2)
- droidspaces: bump v6.2.0 (823b889)
- Translated using Weblate (#144) (4c37545)
- fix: prevent UI remount and terminal state loss on screen rotation (cc491fd)
- fix(service): update terminal session notification count and localize strings (f8088a5)
- post_extract_fixes: configure systemd-networkd for eth0 and restrict network services to NAT mode via ExecCondition (2ae320c)
- Merge branch 'dev' (16a7b39)
- fix: correct banner printing order in start and restart flows (2b700a1)
- app: scale up Ubuntu logo (6bb6669)
- nix: modularize code, keep API intact, add pinned systemd v257, improve rootfs module (#143) (6e535c1)
- app: add Azure icon support and map Azure and Mariner strings to IconUtils (b2ec2c6)
- ui: Change default network mode to NAT and update static IP description (03c4bec)
- socketd: preserve image-backed rootfs references in container summaries (#142) (b908c72)
- config: implement semantic comparison to prevent redundant config writes (5ecb630)
- Merge branch 'dev' (1363f5e)
- Merge branch 'main' into dev (aa89854)
- boot: guard UUID marker write against empty uuid (aba9b80)
- app: preserve UUID across container config edits; parse uuid in parseConfig() (cf9cd1b)
- pid: add collect_active_uuids(); container: skip generate_uuid() if existing UUID is collision-free (5fe67cc)
- nix: add minimal-with-systemd-v257 (#141) (d20e6f1)
- nix: fix android app drv that previously did not include binaries (#140) (f571bb2)
- mount: skip tty1-N null symlinks in privileged+unfiltered-dev mode (b0acd95)
- docs: update contributing guidelines to include Linux support, platform detection, and strict submission requirements (7a9e778)
- docs: add CONTRIBUTING.md with project philosophy and submission guidelines (0d4d660)
- seccomp: block host clock modification syscalls (39fb8de)
- Merge branch 'main' into dev (f4c9277)
- utils: harden init detection for Nix-based and wrapper-script rootfs (3ef14b2)
- docs: we hit the 400KB binary size limit :( (b0f8ad5)
- docs: added RISC-V 64 support to the supported architectures (4c045b9)
- docs: remove deprecated UI credits for KernelSU-Next, MMRL, and LSPatch from README (68a873c)
- docs: rewrote Droidspaces comparison sections into a comprehensive table against alternatives (1300228)
- droidspaces.te: fixed a typo (5c4f40c)
- Merge pull request #138 from yoshi3jp/web (8716a9c)
- Translated using Weblate (Romanian) (#139) (3127eeb)
- docs: add XFCE launch instructions and fix typos in SELinux policy documentation (e522f70)
- nix: add nix documentation (#137) (2b19080)
- socketd: replace snapshot dummies with backend-backed JSON projections (53df9e7)
- socketd: add typed backend client methods for snapshot data (f99a8be)
- socketd: add core lifecycle event journal and polling opcode (3e7ce18)
- socketd: add backend pseudo-image inventory opcode (47be2d2)
- socketd: add backend info counters for container inventory (c71485a)
- socketd: implement backend container inventory opcode (93053ad)
- Merge pull request #133 from yoshi3jp/web (cf823ca)
- Merge branch 'main' into dev (4690c7f)
- socketd: satisfy Portainer snapshot probes and expose local events (8d13720)
- socketd: add dummy container list endpoint for Portainer probing (8f2baf4)
- socketd: expose initial TCP Docker-compatible discovery API (709f5cd)
- Translated using Weblate (Chinese (Simplified Han script)) (#136) (bf38753)
- nix: ignore power/suspend key events in logind (#135) (9308fa2)
- fixup boot module version and versionCode (2885999)
- Nix: Fixing rootfs config, update nixpkgs, support for finix (#134) (347754e)
- Web API skeleton (#132) (4131127)
- fix(icons): clear OS info cache on container uninstall (1ccfc66)
- feat(icons): prefetch distro icon on container start, cache forever, apply to all 3 card locations (141843e)
- feat(ui): synchronize container installer options and enhance UI consistency (3e3b027)
- ui: unify distro icon fetching and clear stale cache on stop/restart (f402152)
- feat(ui): add custom icons for 22 popular Linux distributions in container details (cfe0c7e)
- ui: fix real-time IP updates and prevent stale data display on restart (802524a)
- virt: fix frozen/drifting uptime across all kernel versions (c04446c)
- Merge branch 'main' into dev (b0871d5)
- Translated using Weblate (Chinese (Traditional Han script)) (#131) (91089e6)
- app: add support for configuring a custom init binary for containers (5a4cf94)
- boot: add --init=PATH to override the default init binary (de4e15d)
- virt: decouple resource visibility from cgroup limits (59160a4)
- System-wide init family awareness (#129) (1660f6e)
- Merge branch 'main' into dev (ff42b09)
- cgroup: disable virtualization when controllers are unavailable (fe3553c)
- feat: add [VIRT] prefix support to message logging filter (c455b09)
- feat(virt): implement resource visibility virtualization (9802718)
- cgroup: implement resource constraints via v2 delegation (84c4ca7)
- [daemon] add optional backend bridge for future socket API service (#110) (59e53d6)
- Add OnePlus SM8650(LineageOS) to community support devices list (#125) (e770d6f)
- Add Nothing Phone (1) to supported devices list (#126) (f5b557e)
Automated Release by Droidspaces CI
Droidspaces v6.1.5
What's Changed
- app: implement HardwareAccessDialog with confirmation gate for hardware access toggles (da4bc05)
- droidspaces: bump v6.1.5 (69bb63d)
- Add Redmi Note 13 4G / NFC to supported devices list (#122) (d4e752c)
- Refactor nix flake code and support building android app (#123) (45b0ce1)
- perf(ui): implement container list caching for instant display (ae098d6)
- ui: add net mode to container card info row, fix hostname display (b24143d)
- post_extract_fixes.sh: improve systemd detection logic and encapsulate initialization within conditional block (92a3103)
- container: enhance SysVinit shutdown with /dev/initctl and SIGPWR (2eca653)
- container: implement graceful shutdown for OpenRC via SIGPWR (146c3b9)
- container: sysvinit shutdown via initctl FIFO instead of SIGTERM (5544379)
- boot: silence harmless fchown console warning (30c8f1a)
- utils: detect NixOS as systemd in is_systemd_rootfs (4958f52)
- container: detect init system and send targeted shutdown signal (73632ba)
- ui: implement global keyboard overlap fix for input fields (c5158d2)
- Merge branch 'dev' (49b3d5f)
- ui: enable sparse image mode by default and fix keyboard overlap (4f531ff)
- Add Redmi K20 Pro (China) to supported devices list (#120) (5b312fa)
- ui: fix container installer back navigation and failure redirection (5ec2362)
- ui: replace all dropdowns with shared DsDropdown composable (6125b9d)
- build: skip riscv64 sync and clean Android assets (4d14086)
- Added: RM6785 community maintained kernel (#117) (461906a)
- Add initial nix flake support (#116) (7d59409)
- Translated using Weblate (#115) (f35fa31)
- post_extract_fixes.sh: removed redundant nixOS check in run_in_chroot() (1dddd75)
- sparsemgr.sh: add path length validation when migrating to rootfs.img mode (56a9975)
- nixOS: enable CONFIG_TMPFS_XATTR in kernel configuration for NixOS setcap support (c8b3848)
- feat: skip post-extraction fixes for NixOS environments (8bd9a75)
- feat: add GitHub Actions workflow to build and release Musl cross-compilation toolchains (c369010)
- nixOS: skip run_in_chroot in post_extract_fixes.sh (09201f6)
- nixOS: app: filter nixbld users from container user list (880bb48)
- nixOS: append system binary path to PATH in run_in_rootfs (2c73947)
- ui: fix InstallationSummaryScreen bottom bar aesthetics to match ContainerNameScreen (4b43376)
- app: cap container name to 17 chars to prevent losetup path overflow (5057304)
- chore: update musl-cross-make toolchain versions, switch to curl, and implement manual kernel header installation (e1999a6)
- build: add riscv64 cross-compile target (565cf77)
Automated Release by Droidspaces CI
Musl Toolchains to compile Droidspaces
Musl Cross-Compilation Toolchains
Pre-built static musl toolchains for Droidspaces CI.
Included Toolchains
| Architecture | Tarball |
|---|---|
| aarch64 | aarch64-linux-musl-cross.tar.zst |
| armhf | arm-linux-musleabihf-cross.tar.zst |
| x86 | i686-linux-musl-cross.tar.zst |
| x86_64 | x86_64-linux-musl-cross.tar.zst |
| riscv64 | riscv64-linux-musl-cross.tar.zst |
Automated build by Droidspaces CI
Droidspaces v6.1.0
What's Changed
- droidspaces: bump v6.1.0 (157aa5d)
- Translated using Weblate (Chinese (Traditional Han script)) (#109) (c0c4727)
- Translated using Weblate (Chinese (Simplified Han script)) (#107) (2be4f1d)
- security: defer seccomp filter application until after setup tasks and allow mknod when hardware access is enabled (25c9d2e)
- container: stop dhcp server on reboot to avoid memset race (9f44878)
- hardware: reject symlinks in unified termux tmp setup (f71c942)
- seccomp: block device mknod/mknodat in standard mode (bedf81c)
- documentation.c: restore terminal state on SIGINT/SIGTERM (3c6377e)
- documentation.c: correct bottom bar padding for UTF-8 arrow characters (8521a25)
- fix(about): use plural resource for contributor commit count (39adf28)
- boot-module: sepolicy.rule: make termux happy (#106) (f4e600f)
- Re-modify the kernel source code according to the requirements. (#105) (1dc368e)
- moved install-musl.sh to scripts. (3c45135)
- feat(about): dynamic contributors page from build-time GitHub API (8090fc7)
- fix(container): check /sbin/init before NAT resolve and config save (147b8b3)
- android: refine is_android() to prioritize recovery binary check (7442c29)
- ui: show kernel recommendation warning after banner (63e1922)
- android.c: do not forcefully treat ramfs environments as NOT Android. Fixes false positives on old devices like
j1minilte. (ce53642) - cgroup: fix stale ds-enter-* dirs not being cleaned up after session exit (7b6a0bc)
- fix: remove useless container entry log message in container.c (32f0ba3)
- refactor: rename systemd_not_available_message resource key to systemd_not_available_desc across all localizations (c1ad562)
- Translations update from Hosted Weblate (#104) (2a1d51b)
- docs: remaster interactive documentation for CLI consistency (9b9047d)
- documentation.c: use project constants for documentation title string instead of hard-coding (8e648c0)
- strings: correct onboarding hint text ("Android" -> "Linux") and remove stray space before "!" (0fdfc97)
- chore: update systemd service installation instructions to include group setup steps (3994b2b)
- fix: correct the droidspaces.service path in the systemd service file (2765012)
- docs: reorganize community-supported devices list by non-GKI/GKI and update table structure (3aa9c5f)
- Add Xiaomi 11T Pro to community-supported devices list (#103) (3d96e7f)
- ui: standardize language picker and fix icon deprecations (2999e7e)
- Add Galaxy A25 5G to documentation (#100) (4f48a6b)
- Implement hardening checks for user namespaces (#101) (cf4fd81)
- security: implement automated SELinux permissive reversion (b2d8be3)
- Add device support for the Droidspaces kernel, covering most OnePlus and some Xiaomi models, along with a few other devices. Verified to boot successfully. (#99) (1a2cb0a)
- refactor(info): modernize container diagnostic reporting across CLI and Android app, implement --format flag for 'info' command (a593215)
- feat: add GKI and non-GKI kernel requirement sections with external guide links to RequirementsScreen (71cc13a)
- refactor: move host info display to logic branches and enforce container running state in show_info (1086e13)
- main.c: add daemon mode option to usage help (231fa60)
- refactor: removed useless
statuscommand entirely (519bfb6) - post_extract_fixes.sh: check if busybox exists before the execution (fdca872)
- security: restrict daemon access to root and 'droidspaces' group (#98) (b86691a)
- fix: add net subsystem match to udevadm trigger in post_extract_fixes.sh (4d58ff6)
- docs: add community-supported Android devices documentation (6790154)
- Update translation files (#93) (13d890a)
- fix: remove explicit size limit from tmpfs mount options in hardware.c (c5eac44)
- feat(container): implement robust in-namespace PTY allocation for enter (2150555)
- fix(ui): replace custom FAB with ExtendedFloatingActionButton (eaffac0)
- fix(ui): reduce GPU overdraw - surface colors and Scaffold backgrounds (be9ba2f)
- docs: update GPU acceleration guide to reference custom Mesa drivers instead of official rootfs tarballs (7a4a155)
- mount: ensure critical device nodes are always recreated (be9ad0d)
- refactor: remove redundant systemd-resolved DNSStubListener configuration and related documentation (0aa2cfe)
- mount: remove host /dev/block bind-mount logic (69291d3)
- ui: fix auto-scroll race in TerminalConsole (b89cd3f)
- net/dhcp: remove MAC filter, fix DHCP silence on Ubuntu 26.04+ containers (7d8edc5)
- boot: refine sysfs mount logic for systemd and hardware access (50214e1)
- post_extract_fixes: overhaul post_extract_fixes.sh for Android compatibility (2653694)
- ui: fix unused variable warning in ContainerUsersCard (2e10e3c)
- fix(ui): modernize users textfield on ContainerUsersCard (cb7f9cb)
- Revert "sec: implement mount hardening in minimal seccomp filter" (4a0fef5)
- ui: fix terminal auto-scroll regression and burst freezing (4a3f6a5)
- net: remove DNS proxy, use static defaults (6d60baf)
- iptables: narrow raw cleanup matches (9b5ad29)
- netlink: avoid broadcast shift for /32 (e3d5360)
- network: use full pids for veth names (3c68fe5)
- utils: bound bind source expansion (718f601)
- config: validate saved container names (dbdd7a7)
- docs: add security and isolation philosophy section to README (67c9a4f)
- sec: implement mount hardening in minimal seccomp filter (df62534)
- ui: unify container networking components and modernize dialogs (a5e9202)
- seccomp: remove PR_SET_NO_NEW_PRIVS to restore sudo support (7fb7587)
- Translated using Weblate (Chinese (Traditional Han script)) (#91) (93b4c24)
- seccomp: mitigate CVE-2026-31431 (Copy Fail) (e1dddc3)
- app: fix layout shifts and color glitches in Save Configuration button (7cad5ea)
- ui: remastered setup flow with premium feature-showcase aesthetic (2b65e0b)
- app: modernized the rest of the ui, including systemd services menu, dialogs, etc (2488f06)
- ui: achieve atomic symmetry in DroidspacesStatusCard layout (a93d167)
- ui: modernize systemd management screen with premium design language (3e6dc4d)
- Translations update from Hosted Weblate (#86) (189cf66)
- ui: complete localization and resource pruning (6a24b7c)
- container.c: reorder container startup sequence and move banner print before rootfs resolution (596c8fc)
- app: fix log persistence and snackbar layering glitches (4ec4ef7)
- app: enforce JetBrains Mono across all terminal and monospace UI (73e35ac)
- backend: Implemented the usage command, app: improved the container resource management dashboard (afdea36)
- app: premium UI rewrite with unified design language (2072338)
- feat: fix colors in the active container card, implement background OS info refresh with pull-to-refresh support in RunningContainerCard (20569cc)
- Merge branch 'ponces-main-ponces' (9e4b27a)
- fix(ui): update terminal card container colors (2bf2d08)
- feat(ui): update active Containers panel (11400e5)
- feat(ui): enter Containers detail screen via Containers tab too (36cd88a)
- app: implement export container as tarball option (8160114)
- app: terminal: fix scroll stall race condition during rapid log bursts (77d5cfa)
- app: enable daemon mode by default on fresh installs and update reboot instructions (a6f3420)
- feat: add --user option to run commands as specific container users (a412b64)
- docs: add sparse image storage reclamation to troubleshooting (ca2624b)
- fix: warn on silent string truncation (89bb136)
- fix: increase DNS proxy buffer size (9234698)
- fix: use O_PATH to pin bind source (a3bf0ab)
- security: reject unsafe container names and bind destinations (6f56dc2)
- cgroup: move status reporting to cgroup.c and defer until after banner (72f71a4)
- boot: fix race condition in background startup logs (3d4ec00)
- core: fix banner placement, restart flow, and handoff lock lifecycle (55b3073)
- fix: fall back to background mode when foreground=1 but no tty (ee20fab)
- fix: drop tty1-6 bind-mount/container_ttys, symlink to /dev/null instead (a5b9580)
- fix: resolve PTY allocation failure on kernel 3.x devices (a870e0c)
- pid: fix is_container_init() for kernels < 4.1 (NSpid fallback) (bd2f926)
Automated Release by Droidspaces CI
Droidspaces v6.0.0
What's Changed
- droidspaces: bump v6.0.0 (d71215c)
- refactor: cleanup comments (ce6032a)
- requirements: lower minimum supported kernel version to Linux 3.10 (b0815ed)
- docs: refactor kABI patch documentation (56f2ffd)
- docs: update kernel configuration guide with mandatory POSIX_MQUEUE kABI patches for 5.10 and below (4106757)
- docs: Kernel-Configuration.md: fixed broken patch file path (44e7b5f)
- docs: reorganize and clean up non-GKI kernel configuration documentation (373789b)
- docs updates (#78) (023013a)
- refactor: improve cgroup2 detection and bootstrap logic for Android environments (d70d165)
- refactor(cgroup): enforce isolation via pure hierarchy synthesis (cc7d9ac)
- fix: refactor pivot_root capability probe to reduce strace noise (536e1f5)
- fix: resolve double slash in auto-detected config path (2eac79c)
- ci: update commit message format, add artifact upload, and conditionalize telegram notifications (db98dcb)
- Update translation files (#74) (d010532)
- i18n: add Italian translations (values-it) (#71) (ec94846)
- Update translation files (#69) (57d0875)
- Translated using Weblate (#63) (0c7e609)
- container: warn and revert force_cgroupv1 changes on internal reboot (fb78d7c)
- config: fixed container config from the disk is not loading during internal reboots, when the container is started only with the --name flag (b571e88)
- feat: implement cgroup v2 host auto-mounting bootstrap to ensure consistent container environment in minimal environments like android recovery (0e85e0c)
- app: implement granular Privileged Mode configuration (10c6480)
- security: implement granular --privileged mode for advanced users (c75abd5)
- init.droidspaces.rc: auto-boot device on charger connection (b2a4538)
- backend: enable support for direct block device rootfs images (081c9b8)
Automated Release by Droidspaces CI
Droidspaces v5.9.5
What's Changed
- droidspace: bump v5.9.5 (18d14b1)
- app: replaced the container icon with a custom-made tux icon in the welcome screen (f5404f3)
- app: redesigned the app-icon (580054d)
- Added feature request issue template (743f220)
- feat: add automated clown filter workflow and update bug report guidelines (5f13f19)
- add networking mode dropdown to bug report template (85e3349)
- Disable blank issues in issue template configuration (629492c)
- app: preserve system path symlink during backend update/reinstallation (f5fd0ab)
- main.c: print_usage(): fixed alignment of the --reset flag (b89c472)
- Translated using Weblate (Japanese+Turkish) (a9358da)
- cleanup: remove deprecated cgroup devices controller logic (fe85be2)
- feat: unify SELinux permissive logic and overhaul help menu (50e799c)
- fix(env): sanitize garbage TERM values leaked by TWRP terminal (399704c)
- Translated using Weblate (Turkish) (#54) (f4c3b50)
- feat: implement is_ramfs helper and simplify root transition/remount logic (8c9a11f)
- fix: explicitly remount loop devices on Android to clear nosuid and nodev flags (2827982)
- mount: enable Btrfs rootfs images and restrict support to known FS types (309b4b1)
- mount: replace host tool calls with pure-C loop device management (24775cb)
- pid: use mkdir_p for recursive workspace initialization (5eff79a)
- fix: ensure host devpts is mounted before terminal creation to support Android recovery environments (262cc8f)
- boot: add MS_MOVE + chroot fallback to support Android Recovery (58a122d)
- Translated using Weblate (#51) (321ef57)
- fix: add 10s stability delay after network readiness detection in boot scripts (000d3c2)
- feat: move symlink creation to SymlinkInstaller with settings toggle (356e0b7)
- fix: redirect intermediate stdio to /dev/null after forking init, not before (d2645fc)
- backend+app: added a new option to mirror GPU nodes, even without the hardware access mode. (949bfea)
- added a github bug report template (3065f33)
- Translated using Weblate (Chinese (Simplified Han script)) (#50) (8034796)
- Translated using Weblate (Chinese (Simplified Han script)) (#49) (306934f)
- Translated using Weblate (#48) (72378e7)
- refactor: localize strings in InstallationSummaryScreen for better maintainability (47bba1b)
- Translated using Weblate (Romanian) (#44) (44ffe43)
- Translations update from Hosted Weblate (#40) (073e1e5)
- app: updated sinhala translations (3ec3a2a)
- app: nuked dead ProcessListScreen + all related strings (78f0f27)
- app: res: removed all the duplicated strings (297d5fb)
- Translations update from Hosted Weblate (#36) (99200e1)
- Softened the cgroup devices controller and devtmpfs checks to maintain GKI compatibility (#39) (7a375fa)
- app: generate locale list and config dynamically during build (#37) (a998b75)
- README.md: added weblate links for translating the project (00f9f1d)
- added files for weblate (eb409e5)
- documentation: mentioned about Android paranoid networking (7d84153)
- documentation: removed dead guide related to GPU permissions in Troubleshooting.md (0cfa341)
- android.c: do not check device nodes for Android detection (6ae6d22)
- network.c: removed the dead code related to android networking groups (paranoid networking) (8ed3d60)
- cli: hint to use the help command in unknown commands/arguements (e932e4f)
- fix: silent exit on missing/unknown args by reusing existing error handlers (d48fa2b)
- docs: added known quirks to the overview section (fcd4486)
- docs: added warning about using Meta module + OverlayFS combination in KernelSU (ace4a0b)
- docs: restore legacy GKI patching guide alongside the professional workflow (9360ca2)
- Add Buy Me a Coffee funding option (14a8dba)
Automated Release by Droidspaces CI
Droidspaces v5.9.0
What's Changed
- docs: update installation guide, remove obsolete GKI kernel patches, and fix documentation links (97d9b5d)
- docs: refactor GKI kernel guide and professionalize documentation suite (b9cda77)
- docs: add guide for manual GPU device mapping and permission configuration for none-hw-access mode in the Turnip guide (71c88e5)
- docs: add reboot sequence to Init System Support description in README (ba8df5a)
- feat: add documentation for GPU acceleration and daemon mode. (b4f51c6)
- app: fix Termux X11 toggle reset on back navigation (7da73df)
- hardware: implement unified droidspaces-gpu group for GPU access (6a42403)
- fix(terminal): route arrow keys through TerminalView to respect cursor key mode (bcb0899)
- fix(terminal): update notification lifecycle and exit behavior (0c78f7e)
- boot-module: post-fs-data: only
chcononly if the daemon mode is enabled (cf43bcf) - feat: add Telegram notification step to CI workflow with artifact attachments (78940eb)
- refactor: consolidate backend and android build jobs into a single workflow step (0f6a7fb)
- iptables: fix raw socket EAGAIn failures and num_counters ABI mismatch (46aed2d)
- refactor: implement daemon_log_tee for persistent logging in foreground mode and update logging macros (dc336d2)
- refactor: standardize logging format and output redirection across boot scripts (16de4bf)
- selinux: added more rules based on the denials of internal testers (f785e33)
- selinux: added more rules to fix denials (7006b5b)
- refactor: reorder chcon logic within post-fs-data script (d13a3f4)
- boot-module: added more rules to droidspaces.te (9ed758c)
- boot-module: daemon: implement SELinux domain isolation and self-transition (bfd2c8a)
- selinux:
(allow droidspacesd system_data_file (file (entrypoint)))(c50465b) - feat: add pstore log collection to bugreport.sh (c5917ab)
- init: droidspacesd: start at post-fs-data stage instead of relying on main class (4f62027)
- init: autoboot: decrease the networking timer down to 25 seconds (464a3b2)
- boot-module: service.sh: wait for network instead of sleeping 25 seconds for nothing (aff5f54)
- fix: add fallback sleep for network wait when ip binary is missing and update route check path - fixes waiting for network hang after changing the shebang (573a2fa)
- feat: update boot scripts to verify container startup using PID instead of exit code (bc5a1d8)
- feat: add SELinux policy rules to suppress log denials for droidspacesd (aa96d33)
- feat: add last_kmsg collection to bugreport.sh (bef47cd)
- feat: add SELinux policy collection to bugreport script (903b461)
- feat: integrate bug report generator and unify terminal console UI (0d5ea95)
- scripts: added bugreport.sh to generate bug reports, start a dmesg logger in post-fs-data stage and kill it after device boots (c387a4d)
- init: droidspaces_autoboot: changed the shebang to /vendor/bin/sh (c6688b6)
- init: add droidspaces_autoboot service for run-at-boot container management (62f8666)
- post-fs-data: write 1 to the .daemon_mode if the init-based daemon is already seems like installed (3f4d7d2)
- init: add working Android init service with SELinux policies for droidspaces (9fdca85)
- hardware.c: fixed a bug where x11 socket never getting mounted in desktop Linux (d2a360f)
- init: added notes about untested android init.rc service (870e8d7)
- selinux: added rules related to
magiskdomain to fix denials in APatch/Magisk (c78e75e) - boot-module: simplified post-fs-data.sh (b81a5c8)
- refactor: group status text and backend mode badge in Droidspaces status card and simplify badge styling. (a8195da)
- container.c: fixed the hang when running commands through a pipe (f927448)
- app/boot-module: implement live SELinux patching with magiskpolicy (74dd3ba)
- boot-module: sepolicy.rule: added necessary rules for mounting the rootfs.img in Android (bd73636)
- boot-module: added a simple sepolicy.rule to prevent droidspaces actions getting denied by selinux (b79325f)
- boot-module: refined module.prop (f7f07b1)
- pid.c: remove dead code related to creating a useless folder called 'mounts' (3e5d671)
- docs: added warning about using susfs with droidspaces (cdae340)
- source: code cleanup (5a9b6bc)
- refactor: Standardize path resolution using
ds_resolve_path_argfor rootfs and other critical paths. (c3c0f78) - init: added droidspaces daemon systemd service (1a993f8)
- droidspaces: bump v5.9.0 (39f5c8c)
- initial init documentations (f0a0186)
- feat: Improve TerminalConsole auto-scrolling by adding a final scroll on operation completion and using snapshotFlow to conflate rapid log updates. (6041ca9)
- android: integrate background daemon support into the Android application (399f077)
- backend: implement background daemon for robust terminal and session management (89aa5ee)
- kernel-patches: added the new module crc check patch for Kernel 6.1 and newer (0310e4d)
- docs: add caution about GrapheneOS not being supported (359f47e)
Automated Release by Droidspaces CI