All notable changes to this project will be documented in this file.
- Robust drift detection & reconciliation:
- Baseline snapshot: the backend records a baseline
~/.bazzite/base_packages.txtat environment creation to filter out base image packages. - Machine-readable package queries for user-installed packages (primary + fallback):
- Fedora/DNF:
dnf repoquery --userinstalled --qf '%{name}\n'(primary) → fallbackrpm -qa --queryformat '%{NAME}\n'. - Debian/APT:
apt-mark showmanual(primary) → fallbackdpkg-query -f '${binary:Package}\n' -W. - Arch/Pacman:
pacman -Qqe(primary) → fallbackpacman -Qq. - Alpine/APK:
apk info.
- Fedora/DNF:
- Diffing formula:
(Current Packages - Baseline Packages) - Manifest Packages = Drift. - Fallbacks emit a
fallback_usedflag returned bydetect_environment_driftso the UI can warn users when a conservative fallback was necessary.
- Baseline snapshot: the backend records a baseline
- Manifest normalization and seeding:
- Manifest package entries are normalized (trimmed and lowercased) on creation and when updating, preventing case/whitespace mismatch drift.
- Environment templates now seed
.envstation.jsonwith template base packages so newly scaffolded projects have zero day‑one drift.
- DevContainer scaffolding derived from manifest:
devcontainer.jsonpostStartCommand content is built from the manifest (not hardcoded), ensuring DevContainer hooks align with the manifest.
- Frontend improvements:
ManagePackagesModalnow consumesfallback_usedand displays a warning banner when a fallback was used during drift detection.
- Replaced brittle, human-oriented package-manager parsing with low-level database queries and added primary→fallback logic with warnings.
- Drift detection and baseline initialization use the new machine-readable commands and normalization pipeline.
- Documentation updated: ARCHITECTURE.md and README.md describe the new reconciliation strategy and guidance for UI behavior.
- Eliminated false-positive drift from transitive dependencies by switching to user-installed package queries.
- Resolved day‑one drift by seeding manifests with template packages and syncing DevContainer generation from the manifest.
- C# / .NET scaffolding: minimal Program.cs and project file targeting .NET 8.0. Generated DevContainer and Distrobox scaffolds use the official .NET SDK image and recommend the VS Code C# extensions.
- Dynamic package manager detection: the backend probes the target environment and picks the appropriate package manager (dnf/apt/apk/pacman, etc.) when performing live installs.
- Bumped application/package versions to 1.0.0 across package.json, src-tauri/tauri.conf.json, and displayed About modal.
- Updated README installation examples and CI/CD example in ARCHITECTURE.md.
- This release focuses on improved scaffolding for .NET developers and more robust package-install flows across different container images.