All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
2.23.14 (2026-02-20)
- replace PAM GPU group approach with udev world-readable rule (fff2cc2)
2.23.13 (2026-02-17)
- use system dconf profile for RDP animation disable (cc097c0)
2.23.12 (2026-02-17)
- remove duplicate mesa-va-drivers from vm_tools (already in rdp role) (9e445df)
2.23.11 (2026-02-17)
- tune RDP software encoding for virtio-gpu VMs without VA-API H.264 (5fbd6ca)
2.23.10 (2026-02-17)
- add mesa-va-drivers for VA-API video acceleration in VMs (29c4fdb)
2.23.9 (2026-02-16)
- add desktop-mode script for winlike/maclike switching (2373c42)
2.23.8 (2026-02-16)
- rewrite broken symlinks after home directory rename (0d14135)
2.23.7 (2026-02-16)
- change default --all UI mode from maclike to winlike (99afa79)
2.23.6 (2026-02-16)
- rename-user heredoc expansion bug and keyring reset (ef73811)
2.23.5 (2026-02-16)
- add LTS codename fallback for OpenVPN3 repo on Ubuntu interim releases (2427e01)
2.23.4 (2026-02-16)
- add LTS codename fallback for HashiCorp, Docker, and git-core repos (21608fb)
2.23.3 (2026-02-15)
- add regional locale support and rename-user script (3f07a98)
- azure CLI and vector apt repos for plucky (Ubuntu 25.04) (839c5a1)
2.23.2 (2026-02-13)
- replace deprecated apt-key with signed-by keyring for OnlyOffice (c704bd0)
- use HTTP export for git-core PPA GPG keys (8aed3fa)
2.23.1 (2026-02-09)
- use isolated GNUPGHOME for git-core PPA GPG key import (7a67dd7)
2.23.0 (2026-02-09)
- dual GPG key for git-core PPA, Claude Code updates (659a367)
2.22.2 (2026-02-09)
- skip git-core PPA on non-LTS Ubuntu (Plucky 25.04+) (72d1f03)
2.22.1 (2026-02-09)
- quote awk command in gpu_groups.yml to fix YAML parsing (bdba2ec)
2.22.0 (2026-02-09)
- rebrand from HyperSec to HyperI (9ea5514)
2.21.3 (2026-02-09)
- add RUSTUP_HOME env to Rust verification task (7147bf9)
2.21.2 (2026-02-08)
- use full path for rustc verification after rustup migration (bab38cc)
2.21.1 (2026-02-08)
- add libssl-dev build dependency for cargo tools (a9368fe)
2.21.0 (2026-02-06)
- add cargo-update for keeping cargo tools current (f591c2c)
2.20.7 (2026-02-06)
- use rustup instead of distro packages for Rust toolchain (37b7845)
2.20.6 (2026-02-06)
- dearmor Google Cloud GPG key for apt repository (00f5769)
2.20.5 (2026-02-06)
- add Google Cloud CLI to developer_core role (f1a1de6)
2.20.4 (2026-02-03)
- add Rust toolchain and cargo tools to developer_core role (914a873)
2.20.3 (2026-02-01)
- disable Ghostty copy notification popup (de4d5d6)
2.20.2 (2026-01-21)
- GPU groups and duplicate app icons (d67b632)
2.20.1 (2026-01-20)
- desktop template improvements (8bc62c9)
2.20.0 (2026-01-20)
- Replace LibreOffice with OnlyOffice as default office suite (e65493a)
2.19.1 (2026-01-20)
- Re-detect GNOME after desktop.yml installs it (eb3457d)
2.19.0 (2026-01-17)
- make maclike (macOS-style) the default GNOME config for --all (5ddbbe7)
2.18.3 (2026-01-16)
2.18.2 (2026-01-15)
- add flatpak polkit rule for RDP sessions and keep snapd (1279576)
2.18.1 (2026-01-15)
- remove PipeWire frame rate reduction (634f698)
2.18.0 (2026-01-15)
- rdp: add PipeWire frame rate optimization for software encoding (9fe2c29)
2.17.2 (2026-01-15)
- ensure uv installed before gnome-extensions-cli (38a0561)
2.17.1 (2026-01-14)
- keep Firefox installed in desktop builds (651d36e)
2.17.0 (2026-01-14)
- enable LibreOffice by default in desktop builds (cd62384)
2.16.2 (2026-01-14)
- skip apport disable when package not installed (fa63e39)
2.16.1 (2026-01-14)
- keep install_recommends, remove unwanted packages explicitly (79b9d24)
2.16.0 (2026-01-14)
- add Nemo file manager as default (Ubuntu + Fedora) (ad09b70)
2.15.1 (2026-01-14)
- prevent LibreOffice install, remove favorite-apps customization (177f27d)
2.15.0 (2026-01-14)
- configurable branding, browser policies, gnome-initial-setup fix (1c9dddc)
2.14.9 (2026-01-13)
- gnome: skip ui-mode when GNOME Shell not running (5178358)
2.14.8 (2026-01-13)
- gnome: use --ignore-installed for pip upgrade on Ubuntu (fc4bfb2)
2.14.7 (2026-01-13)
- gnome: add --break-system-packages for Ubuntu PEP 668 compliance (bddab1e)
2.14.6 (2026-01-13)
- gnome: add explicit become: true for system-wide pip upgrades (8e173c9)
- gnome: upgrade pip/pipx in-place instead of removing distro packages (4f3423b)
2.14.5 (2026-01-13)
- gnome: remove distro pipx and install via pip system-wide (23c6822)
2.14.4 (2026-01-13)
- gnome: upgrade pip and pipx to latest on all distros (e41e605)
- gnome: upgrade pip/pipx system-wide with --break-system-packages (a8ad318)
- gnome: use --user for pip/pipx upgrade, not --break-system-packages (7f3dad4)
2.14.3 (2026-01-13)
- gnome: upgrade pipx on Ubuntu before using pipx module (9779529)
2.14.2 (2026-01-13)
- utilities: add apt fallback for Remmina on Ubuntu (a1d5d5f)
2.14.1 (2026-01-13)
- utilities: make Remmina Flatpak install non-fatal (74ea5e4)
2.14.0 (2026-01-13)
- modernize Ansible to ansible_facts syntax, auto-upgrade installer (02a3944)
2.13.1 (2026-01-13)
- use | bool filter for Ansible 2.16+ conditional compatibility (3526004)
2.13.0 (2026-01-13)
- add --force-gnome flag for headless template builds (a95e6e7)
2.12.0 (2026-01-06)
- Ensure /usr/local/sbin exists before deploying scripts (73dd627)
- Remove unnecessary Chrome/Slack GPU disables (b93321f)
- Add VA-API auto-detection service for GNOME Remote Desktop (fd3b636)
2.11.9 (2025-12-31)
- Add NetBird CLI to core developer role (445d3da)
2.11.8 (2025-12-31)
- Add Session Manager Plugin and aws-vault for AWS CLI (9e164aa)
2.11.7 (2025-12-31)
- Add Bitwarden and change Flatpak apps to system-wide installation (57c7be2)
2.11.6 (2025-12-28)
- Replace Linear CLI with schpet/linear-cli (dbf83e0)
2.11.5 (2025-12-26)
- Disable GNOME animations for RDP performance (bd82267)
2.11.4 (2025-12-25)
- Replace system-monitor with Astra Monitor extension (e3a6ff7)
2.11.3 (2025-12-24)
- Add Betterbird, Brave browser, desktop environment setup, and psutil dependency (0be8287)
2.11.2 (2025-12-20)
- Add python3 and pytest as explicit system packages (d959a1c)
2.11.1 (2025-12-16)
- Use ask instead of deny for sensitive file permissions in Claude Code (5768dc8)
2.11.0 (2025-12-16)
- Add Adwaita Sans and Martel Sans fonts for consistent UI (80c934a)
2.10.0 (2025-12-16)
- Add Nemo file manager and Window State Manager extension (c276738)
2.9.0 (2025-12-11)
- Add Claude Code managed settings for enterprise deployments (bafd83a)
2.8.7 (2025-12-10)
All platforms tested on fresh VMs with zero failures:
| Platform | Tasks | Result |
|---|---|---|
| Fedora 42 | 319 ok, 0 failed | PASS |
| Ubuntu 24.04 | 346 ok, 0 failed | PASS |
| macOS Sequoia | 120 ok, 0 failed | PASS |
- Ghostty theme names updated to Ghostty 1.2.x format (
Builtin Solarized Light/Dark) - Ghostty deprecated
gtk-single-instanceoption removed (was causing startup hangs) - Ghostty global keybind disabled (causes issues on GNOME/RDP)
- Linear CLI now installs to user npm-global directory (not system-wide)
- Dash to Panel transparency enabled by default (60% opacity)
- GNOME extensions installed via gext (extensions.gnome.org) for GNOME 48 compatibility
- winlike/maclike tag exclusivity enforced (maclike overrides if both specified)
- Added
ansible/test.shfor easier testing
2.8.6 (2025-12-10)
- Linear CLI installation uses user npm-global directory (28d72a6)
2.8.5 (2025-12-10)
- Linear CLI verify path, add test.sh for ansible testing (74cceee)
2.8.4 (2025-12-10)
- Enforce winlike/maclike exclusivity with ansible_run_tags check (f1a2c3a)
2.8.3 (2025-12-10)
- GNOME extensions use gext for all platforms, maclike overrides winlike (4dbca44)
2.8.2 (2025-12-10)
- PATH config, Chrome repo duplicates, apply:tags for all includes (4b2832f)
2.8.1 (2025-12-10)
- Keep git-core PPA, add apply:tags to git include (b093445)
2.8.0 (2025-12-10)
- Disable telemetry and advertising for corporate deployments (0a0c9ff)
2.7.0 (2025-12-10)
- Disable Ubuntu Pro/ESM advertising messages (e65d835)
2.6.0 (2025-12-10)
- Refactor to tag-based options, fix GNOME extensions, update Ghostty config (a117107)
2.5.8 (2025-12-08)
- Configure Ubuntu Dock as Windows-like taskbar on Ubuntu 24.04 (3fb65e6)
2.5.7 (2025-12-05)
- Fix Dash to Panel extension permissions after extraction (8ec0f27)
2.5.6 (2025-12-05)
- Fix Dash to Panel and wallpaper installation on Ubuntu (8b3432f)
2.5.5 (2025-12-05)
- Add RDP role, GNOME defaults, package lock protection, and CI workflow (38f293a)
2.5.4 (2025-11-26)
- [Windows] Royal TS remote connection manager from Windows SOE
- [Ansible] claude-monitor tool from UV installation
2.5.3 (2025-11-25)
- [Ansible] MCP Toolbox (GenAI Toolbox) from core role
2.5.2 (2025-11-23)
- Add act (GitHub Actions runner) to core role (905894e)
- Use direct binary download for act on Ubuntu instead of curl-bash (e523fd6)
2.5.1 (2025-11-16)
- Add GenAI Toolbox (MCP Toolbox) to core role (c6cc07b)
- Add GNU Parallel to utilities and remove duplicate when condition (08dc54c)
- Add tokenx to global npm packages in core role (0b7fe54)
- Configure GitHub linguist to detect Ansible as primary language (c2455f0)
- Correct MCP Toolbox verification command and remove duplicate register (87fc6b6)
- Revert "fix: Add tokenx to global npm packages in core role" (2ac0f60)
2.5.0 (2025-11-10)
- Add semantic-release automation for version management (3bd6478)
- [Core] Gitleaks v8.29.0 secret detection tool for finding hardcoded credentials
- [Cleanup] Removed redundant /claude directory (duplicate of tools/git/)
- [Ansible] Ubuntu Vector GPG keys - Changed from RPM keys to APT keys (DATADOG_APT_KEY_*)
- [Ansible] Ubuntu VS Code repository conflicts - Added cleanup of pre-existing repos
- [Ansible] Missing verify.yml reference - Removed dead playbook reference
- [Ansible] QEMU guest agent verification - Accept 'static' UnitFileState on Ubuntu
- [Testing] All platforms tested on fresh VMs (Ubuntu 24.04: 275 tasks/0 failed, Fedora 42: 257 tasks/0 failed)
- [macOS] Complete macOS Sequoia 15.3.1 support verified (120 tasks, 0 failures)
- [Ansible] git-subtree not available as separate package on Ubuntu (included in git)
- [Ansible] Ghostty uses dynamic Ubuntu version (ansible_distribution_version)
- [Ansible] kubectl moved to k8s.yml with dynamic K8s version detection
- [Ansible] Added HashiCorp repository for Fedora (Terraform/Vault not in default repos)
- [Ansible] Ghostty Ubuntu uses pre-built .deb from mkasberg/ghostty-ubuntu
- [Ansible] Dynamic Kubernetes version from https://dl.k8s.io/release/stable.txt
- [Ansible] Both Ubuntu and Fedora fully working (0 failures on both)
- [Ansible] Complete dfe_developer role with Docker, Python (UV), Git, Cloud tools, K8s tools, Utilities
- [Ansible] Mirror validation before system modification
- [Ansible] GNOME detection in pre_tasks as dfe_has_gnome fact
- [Ansible] Repository backups before modification
- [Ansible] git-core PPA for latest Git on Ubuntu
- [Ansible] Simplified Python to UV only (no pyenv/pipx)
- [Ansible] Task ordering: repository → utilities → Docker → Python → Git → cloud → k8s
- [Ansible] Renamed dfe_use_aarnet_mirrors → dfe_use_mirrors
- [Ansible] Consolidated Docker into single task file
- [Ansible] Ghostty skipped on Ubuntu (PPA doesn't support noble)
- [Ansible] Each task file adds its own vendor repositories
- [Ansible] Ubuntu 24.04 fully working (78 tasks, 0 failures, fully tested)
- [Ansible] Correct Ubuntu mirror path (/ubuntu/archive/)
- [Ansible] Podman removal ignores errors if not installed
- [Ansible] Ansible-based deployment system for cross-platform support
- [Ansible] install.sh bootstrap script for Ubuntu, Fedora, and macOS
- [Ansible] Role-based architecture (4 roles matching bash scripts)
- [Ansible] dfe_developer role (Docker installation working on Ubuntu + Fedora)
- [Ansible] Task-based organization with distro conditionals inside tasks
- [Ansible] Complete role structure for all components (stubs created)
- [Ansible] Ansible 12+ compatibility with modern callback plugins
- [Ansible] Tested successfully on Ubuntu 24.04 and Fedora 42
- [Project] Multi-platform support via Ansible (Ubuntu, Fedora, macOS)
- [Project] Declarative infrastructure-as-code approach
- [Project] Idempotent deployments (safe to re-run)
- [Fedora] RDP optimizer now auto-generates system certificates for gnome-remote-desktop
- [Fedora] Certificates properly configured via grdctl for Remote Login mode
- [Fedora] Desktop now auto-resizes to match RDP client window size
- [Fedora] Certificate ownership and permissions set correctly for gnome-remote-desktop user
- [Fedora] Interactive password prompt for RDP credentials during installation
- [Fedora] --password and --username flags for automated/scripted deployments
- [Fedora] Automatic service restart after credential configuration
- [Fedora] Ready-to-use RDP setup (no manual credential configuration needed)
- [Fedora] RDP optimizer now automatically enables gnome-remote-desktop.service
- [Fedora] Removed renderer auto-detection from Ghostty config (not needed)
- [Fedora] Simplified Ghostty configuration by removing RDP session detection
- [Fedora] Cleaner config template with Solarized Dark as default
- [Fedora] Updated Ghostty configuration to Solarized Dark theme
- [Fedora] Enabled programming ligatures (calt, liga) instead of disabling them
- [Fedora] Reduced font size from 12 to 11 for better high-DPI displays
- [Fedora] Added window dimensions (35x140) for practical terminal size
- [Fedora] Disabled VSync for better RDP performance
- [Fedora] Added useful keybindings (copy/paste, tabs, font sizing)
- [Fedora] RDP-optimized settings (software renderer for remote sessions)
- [Fedora] Fixed all systemctl enable/disable/daemon-reload commands to use sudo
- [Fedora] Fixed GRUB configuration operations to use sudo
- [Fedora] Fixed /sys/ filesystem writes to use sudo tee
- [Fedora] Fixed NetworkManager configuration writes to use sudo
- [Fedora] All scripts now run without PolicyKit authentication prompts
- [Fedora] Removed file logging from VM optimizer (console only, use tee for logs)
- [Fedora] Added complete verification function library to lib.sh (verify_sysctl_setting, verify_command_exists, etc.)
- [Fedora] Fixed VM and RDP optimizer scripts to use sudo properly for system file operations
- [Fedora] Fixed apply_system_dconf function to use sudo for /etc/dconf/ operations
- [Fedora] All optimizer scripts now work as regular user with passwordless sudo
- [Project] Removed windows/VERSION file (using root VERSION only for unified versioning)
- [Fedora] Fixed journald configuration in install-vm-optimizer.sh to use sudo
- [Fedora] Added missing verification helper function stubs
- [Fedora] Minikube installation now idempotent (skips if already installed)
- [Fedora] Minikube downloads to /tmp with proper pushd/popd for directory changes
- [Fedora] Fixed ShellCheck warnings for directory navigation
- [Fedora] Ghostty terminal emulator now installed via scottames/ghostty COPR repository
- [Fedora] Ghostty integrated into main install-dfe-developer.sh script
- [Fedora] Automatic Ghostty configuration with JetBrains Mono font
- [Fedora] Fixed missing BACKUP_DIR and STATE_FILE variables in install-rdp-optimizer.sh
- [Fedora] Added missing helper functions: dconf_update_safe, create_sysctl_config, reload_service_safe
- [Fedora] Removed install-ghostty.sh (now integrated into main installer)
- [Fedora] Removed build-from-source option for Ghostty (now uses COPR)
- [Fedora] Suppressed Flatpak progress bars during installation (Freelens, Slack, Ghostty)
- [Fedora] Uses FLATPAK_TTY_PROGRESS=0 and grep filtering to remove multi-line progress output
- [Fedora] Cleaner installation output while preserving status messages
- [Fedora] Added is_gnome() function to lib.sh for reliable GNOME detection
- [Fedora] Fixed missing HAS_GNOME initialization in all installer scripts
- [Fedora] GNOME detection now uses XDG_CURRENT_DESKTOP, GDMSESSION, and gnome-shell process check
- [Fedora] Fixes GUI tools (Firefox, VS Code, extensions) not installing when GNOME is present
- [Fedora] Removed unnecessary systemd-journald service restarts from install-vm-optimizer.sh
- [Fedora] Services no longer restarted during installation (reboot required anyway)
- [Fedora] Removed automatic call to install-dfe-developer-core.sh from install-dfe-developer.sh
- [Fedora] Prevents duplicate installation when using install-all.sh
- [Fedora] Scripts now properly modular (use install-all.sh for complete setup)
- [Fedora] Fixed Claude Code CLI verification to not halt script execution
- [Fedora] Removed pyright verification check (no longer installed)
- [Fedora] Removed Yeoman (yo) verification check (no longer installed)
- [Fedora] Linear.app CLI tool (@digitalstories/linear-cli) to core developer tools
- [Fedora] fedora/QUICKSTART.md for fast-start installation guide
- [Windows] Windows 11 SOE setup scripts integrated into repository
- [Windows] Built-in debloat with comprehensive telemetry and bloatware removal
- [Windows] Default Switch automatic scheduled task for new Hyper-V VMs
- [Windows] Development workflow documentation (Windows for productivity, Linux VMs for development)
- [Claude] Enhanced claude-contrib-fix.sh with optional branch parameter
- [Claude] Script now supports cleaning non-default branches without GitHub reindex
- [Claude] gh CLI dependency now optional (only required for default branch operations)
- [Windows] Renamed script:
hypersec-windows-soe.ps1→hypersec-windows.ps1 - [Windows] Switched from VMware to Microsoft Hyper-V as primary virtualization platform
- [Windows] Security first: Full VBS, Credential Guard, HVCI enabled by default
- [Windows] Simplified log files to
%USERPROFILE%\basename.log - [Project] Unified versioning across Fedora and Windows platforms (single CHANGELOG)
- [Project] Removed duplicate LICENSE files from subdirectories (all reference root LICENSE)
- [Project] Merged Windows README into root README for centralized documentation
- [Windows]
hypersec-windows-vmware.ps1retained but no longer maintained (security trade-offs)
- [Windows] PowerShell syntax error in scheduled task trigger creation
- [Windows] Log file location and naming consistency
- [Claude] Improved default branch auto-detection (git symbolic-ref, fallback to gh CLI)
- [Fedora] Removed yo (Yeoman) from npm global installations
- [Fedora] Removed pyright from npm global installations
- [Fedora] Dynamic version detection for Confluent CLI (uses latest from packages.confluent.io)
- [Fedora] Dynamic version detection for kubectl (uses latest stable from dl.k8s.io)
- [Fedora] Replaced cd with pushd/popd in AWS CLI installation for safer directory changes
- [Fedora] Updated unit tests to match ISO timestamp format in print functions
- [Fedora] ShellCheck warnings resolved (all tests pass)
- [Fedora] Character policy updated to ASCII-only (no emojis)
- [Fedora] Standardized script headers across all optimizer scripts
- [Fedora] All documentation updated to reflect ASCII-only policy
- [Fedora] Comprehensive CONTRIBUTING.md with Apache project standards
- [Fedora] Full contribution guidelines including fork/PR workflow
- [Fedora] Code standards and testing requirements documentation
- [Fedora] Helm Dashboard plugin installation for visual Helm chart management
- [Fedora] Freelens Kubernetes IDE via Flatpak for K8s cluster management
- [Fedora] Dash-to-panel transparency settings (40% opacity)
- [Fedora] K9s and Freelens verification checks in installation output
- [Fedora] Removed specific version numbers from README.md (centralized in VERSION file)
- [Fedora] Updated documentation to reflect new Kubernetes tools
- [Fedora] Slack installation via Flatpak in install-dfe-developer-core.sh
- [Fedora] Automatic flathub remote configuration for user-level Flatpak installations
- [Fedora] Robust error handling for optional Flatpak installations
- [Windows] Enhanced Australian English locale configuration
- [Windows] Default Switch automatic network assignment for new Hyper-V VMs
- [Windows] C:\VM structure with automatic directory creation
- [Windows] Scheduled task for automatic Default Switch enforcement
- [Fedora] Claude Code CLI command (changed from
claude-codetoclaude) - [Fedora] Claude Code auto-update configuration now uses correct command
- [Fedora] Flatpak installations now use
--userflag for proper permissions
- [Fedora] Removed all SUDO_USER references from scripts (~50+ lines of code simplified)
- [Fedora] Scripts now use $HOME and $USER directly instead of complex SUDO_USER logic
- [Fedora] Simplified UV installation (removed SUDO_USER branching)
- [Fedora] Simplified VM optimizer GUI configurations
- [Fedora] All user-specific paths now use $HOME instead of /home/$SUDO_USER/
- [Windows] Improved Hyper-V configuration with registry and PowerShell module detection
- [Windows] Better handling of Hyper-V default paths (Set-VMHost with registry fallback)
- [Fedora] Code maintainability with single execution path instead of root/user branching
- [Fedora] Consistency with "run as user, sudo only when needed" design principle
- [Windows] Updated Chocolatey packages to current versions
- [Windows] RoyalTS fixed to use
royalts-v7-x64for latest v7 installation - [Windows] GitHub Desktop added with
--NoDesktopShortcutparameter - [Windows] TigerVNC reverted to working
tigervncpackage name - [Windows] Browser configuration updated to Windows 11-compatible manual method only
- [Windows] WinMerge as development tool
- [Windows] GitHub Desktop (replaced SourceTree)
- [Windows] SetUserFTA dependencies and file association automation removed
- [Windows] Teams from bloatware cleanup (now properly installed with M365)
- [Windows] SourceTree (replaced with GitHub Desktop)
- [Windows] Windows 11 24H2 compatibility improvements
- [Windows] Updated package versions for Windows 11 24H2
- [Windows] Improved error handling for Windows 11 security restrictions
- [Windows] Enhanced privacy hardening with built-in telemetry disabling
- [Windows] Improved bloatware removal automation
- [Windows] Better service cleanup and startup program management
- [Windows] Refined Australian English locale configuration
- [Windows] Improved power management detection for laptop vs desktop
- [Fedora] Ported from internal HyperSec SOE build
- [Windows] Migrated from internal HyperSec repository to public GitHub
- [Fedora] Complete rewrite
- [Fedora] Removed all verify, uninstall, and check functions
- [Fedora] Consolidated library functions into single lib.sh file
- [Fedora] Simplified all installation scripts by 85%
- [Fedora] Removed numbered steps from console output and comments
- [Windows] Restructured for public consumption and broader compatibility
- [Windows] Improved installation workflow and user experience
- [Windows] Better error handling and logging throughout
- [Fedora] BATS testing framework for unit and integration tests
- [Fedora] Container tests with Podman/Docker support
- [Fedora] developer_sudoers function for passwordless sudo setup
- [Fedora] Git pre-push hook for automatic version tagging
- [Windows] Complete rewrite with modular architecture
- [Windows] VMware Workstation optimization and automation
- [Windows] Enhanced privacy hardening with comprehensive telemetry disabling
- [Windows] Australian English configuration (locale, timezone, regional settings)
- [Windows] System restore point management
- [Windows] Automated software installation via Chocolatey
- [Windows] Custom wallpaper support
- [Windows] Windows Defender ATP onboarding support
- [Windows] Comprehensive documentation (README, QUICKSTART, VMWARE guides)
- [Fedora] All ShellCheck warnings (SC2155, SC2046, SC2034)
- [Fedora] Container test SELinux context issues
- [Fedora] Script executable permissions
- [Fedora] Complex mode selection logic
- [Fedora] Verification and uninstallation functions
- [Fedora] Over-engineered error handling
- [Fedora] First public release after internal development at HyperSec
- [Windows] First public release after internal development at HyperSec
- Previous versions (1.x) were internal-only for both platforms