ci: Bump actions/upload-artifact from 4 to 7 - #1
Closed
dependabot[bot] wants to merge 35 commits into
Closed
Conversation
Add complete OpenClean WPF application (.NET 10) for Windows system maintenance. Features: - Dashboard with system health scoring (drives, RAM, temp files, autostart analysis) - Temp/cache cleaner with file preview and selective deletion - Autostart program manager with impact detection - Dark/Light theme support with runtime switching - System information display (drives, memory, storage) - Transparent score calculation based on real metrics (no fake boosting) Includes models, services, ViewModels, and themed UI views with proper error handling and safety checks.
Implement comprehensive privacy data cleanup functionality with providers for browser history, cookies, clipboard, search history, recent files, media players, and Office MRU. Includes PrivacyViewModel and PrivacyView for user-friendly scanning and cleaning interface, along with IPrivacyProvider interface that agents can implement. Add SQLite dependencies for browser database access. Bump version to 0.5.0.
Add CI/CD workflow for automated .NET 10 builds and improve UX with loading indicators: - Add dotnet-desktop.yml GitHub Actions workflow that builds Debug and Release configurations and publishes Release artifacts - Add LoadingBar style in App.xaml with animated indeterminate progress bar using shimmer effect - Add loading banner in DashboardView that displays during background operations with pulsing indicator and status text - Dim main content while loading to emphasize the loading state
Updated the GitHub Actions workflow for building the OpenClean WPF application, including changes to the .NET version and environment variables.
Add workflow_dispatch trigger to the dotnet-desktop workflow, allowing manual execution from the GitHub Actions UI. This enables on-demand builds without requiring a push or pull request event.
- Datei nach .github/workflows/ (Repo-Wurzel) verschoben, damit GitHub Actions sie erkennt (vorher im Unterordner OpenClean/ ignoriert) - Solution-/Projekt-Pfade auf OpenClean/... korrigiert; behebt den Build-Fehler (dotnet fand OpenClean.sln nicht) Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Automatic Dependency Submission und Dependabot laufen auf Linux-Runnern und koennen das net10.0-windows-Ziel nur mit diesem Flag wiederherstellen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Native SQLitePCLRaw.lib.e_sqlite3 von 2.1.11 (verwundbar, <= 2.1.11) auf den gepatchten Build 3.50.3 gehoben; Microsoft.Data.Sqlite auf 10.0.9 (passend zu .NET 10). Verwalteter Stack bleibt auf validiertem core 2.1.11. Verifiziert per Laufzeit-Smoke-Test: sqlite_version() = 3.50.3, Query OK. Build: 0 Warnungen, 0 Fehler (NU1903 behoben). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Behebt IDE-Fehler (Cannot resolve Sum/Where), die entstehen, wenn die globalen ImplicitUsings nicht aufgeloest werden. Build war bereits gruen. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ings JetBrains Rider las die auto-generierte OpenClean.GlobalUsings.g.cs nicht ein und meldete ~411 Phantom-Fehler (Cannot resolve Environment/DateTime/ IEnumerable/...). Globale Usings jetzt als echte Quelldatei; ImplicitUsings deaktiviert (kein Duplikat). Compile-Ergebnis unveraendert: 0 Fehler. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
- Eigene Titelleiste mit integrierten Fenster-Buttons (WindowChrome, Drag/Resize/Snap bleiben erhalten, Maximieren-Fix per RootGrid-Margin) - Ueberarbeitete Farbpaletten (Dark & Light): kuehlere Toene, lebendigeres Akzent-Gruen, neuer AccentSoft-Ton fuer Hervorhebungen - Karten mit Schatten und groesserem Eckenradius, Buttons mit Pressed-States und dezentem Akzent-Glow - Navigation als Pill-Style mit Akzent-Hinterlegung - Hartkodierte Dunkel-Gradienten in Cleaner-/PrivacyView entfernt (folgen jetzt dem Theme) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
- WMP-Verlauf: MediaHandle wurde falsch befuellt (Key/Value vertauscht), wodurch CleanWmp nie einen Registry-Wert loeschte - Gemeinsamer Autostart-Ordner: StartupApproved-Status liegt unter HKLM, nicht HKCU - Lesen und Schreiben korrigiert - Impact-Messwert nur noch aus Blobs >= 20 Bytes an Offset 12 lesen; Fallback auf Offset 4 interpretierte die FILETIME als Startdauer - RunOnce-Eintraege sind nicht ueber StartupApproved schaltbar: CanToggle=false, immer aktiv, UI-Label "Einmalig" Kleinere Korrekturen: - StartMenuSearchProvider: MRUList/MRUListEx nach dem Loeschen entfernen - Kategorie-Checkbox (AllSelected): pro-Item-Callbacks bei Bulk-Aenderung unterdruecken (kein O(n^2)-Benachrichtigungssturm) - AsyncRelayCommand: Ausnahmen abfangen statt App-Absturz (async void) - ETA-Anzeige unterstuetzt Restzeiten ueber einer Stunde - Ergebnis-Banner: "Objekt(e)" statt "Datei(en)" Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Change MainWindow.xaml footer text from "v0.1.Über · Open Source" to "v0.6.0 · Open Source" to reflect the current application version/release.
…ersistenz
- Sprachdateien als eingebettete JSON-Ressourcen (Resources/Strings/*.json),
je 201 identische Schlüssel; LocalizationManager + {loc:Loc}-Markup + Loc.T,
Live-Umschaltung ohne Neustart
- Alle sichtbaren Texte aus XAML-Views, ViewModels, Models und Services ausgelagert
- SettingsService: Sprache, Theme und zuletzt aktiver Bereich (Startphase) in
%AppData%\OpenClean\settings.json (ersetzt Registry); Erststart ermittelt die
Systemsprache, Fallback Englisch
- Modernes, themefähiges Sprach-Dropdown (eigenes ComboBox/ComboBoxItem-Template)
- .gitignore um lokale Laufzeit-Einstellungen ergänzt
Neuer Bereich "Software-Updates": veraltete Programme via winget erkennen, tabellarisch anzeigen und einzeln bzw. gesamt aktualisieren. - WingetService: Verfügbarkeitspruefung, locale-toleranter Parser der winget-upgrade-Ausgabe, Einzel- und Sammel-Upgrade - UpdateLogService: Protokoll nach %AppData%\OpenClean\updates.log - Modelle AppUpdate und UpdateProgress - UpdaterViewModel/UpdaterItemViewModel mit Bestaetigung, Fortschritt und automatischem Neu-Scan nach jedem Update - UpdaterView mit Lade-/Update-Banner oben (LoadingBar): Shimmer beim Scannen/Einzel-Update, determiniert beim Sammel-Update - Navigation + Verdrahtung in MainViewModel/MainWindow - ConfirmDialog um optionalen Titel/Button-Text erweitert - i18n: updater.*/nav.updates in allen 7 Sprachen, sidebar.version v0.7.0
Neuer Bereich "Zeitplan": automatische Reinigung nach Zeitplan ueber eine Windows-Aufgabenplaner-Aufgabe (/RL HIGHEST, kein Hintergrunddienst). - ScheduleTaskService: legt/entfernt die geplante Aufgabe via schtasks an; startet OpenClean mit --auto, laeuft lautlos ohne UAC-Abfrage. - AutoCleanService: reinigt ohne Rueckfrage nach Profil (Nur Temp / Vollstaendig / Benutzerdefiniert), nutzt dieselbe gepruefte Loesch-Logik wie die manuelle Bereinigung. - AutoCleanReportStore + AutoCleanReport: Bericht der geloeschten Dateien (autoclean-reports.json + autoclean.log), Anzeige im UI. - ToastService: best-effort Windows-Benachrichtigung nach dem Lauf. - App.xaml.cs: --auto-Modus laeuft komplett ohne Fenster; StartupUri entfernt. - Deutlicher Warnhinweis: automatische Reinigung loescht ohne Bestaetigung/Vorschau. - Autostart (geplante Aufgabe) nur bei aktivierter Automatik. - CleanerService: Bericht sammelt zusaetzlich die geloeschten Pfade. - i18n: neue Schluessel in allen 7 Sprachen; Version auf v0.8.0.
Neuer Bereich "Deinstallation": installierte Programme gruendlich entfernen (alle Funktionen kostenlos, keine Pro-Features). - InstalledAppsService: liest installierte Programme aus den Uninstall-Registry- Schluesseln (HKLM 64/32-Bit + HKCU), inkl. Groesse, Version, Herausgeber, Datum; blendet System-Komponenten/Updates aus. Kein Win32_Product (langsam/riskant). - UninstallerService: startet den Hersteller-Deinstaller; still (QuietUninstall/ msiexec /qn) fuer Batch, interaktiv fuer Einzel-Deinstallation. - LeftoverScannerService: findet nach der Deinstallation zurueckgebliebene Ordner und Registry-Schluessel (konservativer Namensabgleich + Sicherheits-Guards) und entfernt sie erst nach Vorschau/Bestaetigung. - UninstallViewModel/-ItemViewModel + UninstallView: Liste mit Suche, Sortierung (Groesse/Name), Einzel- und Batch-Deinstallation, Reste-Banner mit Auswahl. - Verdrahtung: AppSection.Deinstallation, Nav-Eintrag, MainWindow/MainViewModel. - i18n: neue Schluessel in allen 7 Sprachen; Version auf v0.9.0.
- Ordnergrößen-Scan bricht nicht mehr beim ersten gesperrten Unterordner ab (IgnoreInaccessible; Symlinks/Junctions übersprungen) - EstimatedSize vorzeichenlos lesen (keine negativen Größen mehr), zusätzlich Text-Werte mancher Installer parsen - Neuer SizeFolder-Fallback über DisplayIcon/Uninstaller-Pfad für Apps ohne InstallLocation (Chrome-Apps, Launcher-Spiele) – nur für die Größenberechnung, nicht für die Reste-Suche - Guard gegen Sammel-Wurzeln (C:\, Windows, Program Files, AppData …) als Größenquelle – manche Installer tragen solche Pfade ein - Nachberechnung fehlender Größen parallelisiert (4 gleichzeitig) - Sekundäre Namens-Sortierung für stabile Reihenfolge bei gleicher Größe - Layout: Kopf-/Status-/Reste-Zeilen mit Spalten statt Überlagerung
Die Toast-Benachrichtigung nach der geplanten Reinigung erschien immer auf Englisch, weil InitializeStartupLanguage() nur im UI-Zweig aufgerufen wurde.
Neuer Bereich "Duplikate" – alle Funktionen kostenlos (auch die ursprünglich als [Pro] geplanten): - Mehrere Ordner gleichzeitig scannen (Mehrfachauswahl im Dialog, überlappende Ordner werden dedupliziert) - Exakte Duplikat-Erkennung dreistufig: Größe -> Teil-Hash (64 KB) -> vollständiger SHA-256; 0-Byte-Dateien ignoriert, Symlinks/ Junctions übersprungen, parallelisiert, abbrechbar - Duplikat-Gruppen nach verschwendetem Speicher sortiert; Kopien einer Gruppe nebeneinander im Vergleich (Pfad, Größe, Zeitstempel, Bild-Vorschau bei Bilddateien) - Einzelne Kopien manuell zum Löschen markieren; pro Gruppe bleibt immer mindestens eine Kopie erhalten (Guard beim Löschen) - Automatische Auswahl: Neueste behalten / Älteste behalten / Kürzesten Pfad behalten, plus Auswahl aufheben - Vollständige Lokalisierung in allen 7 Sprachen (de/en/es/fr/pt/ru/pl) - Version auf 0.10.0 angehoben (csproj + Sidebar)
…mit Fehler ab Die rekursive Enumeration (RecurseSubdirectories) warf bei nicht lesbaren Verzeichnissen eine IOException, die IgnoreInaccessible nicht abdeckt. Jetzt wird jedes Verzeichnis einzeln gelesen und bei Fehlern nur dieses übersprungen.
…e (v0.11.0) - AppPaths: Portable-Erkennung per Marker-Datei OpenClean.portable neben der EXE; Config/Logs dann im Data-Ordner statt %AppData% (behebt zugleich die dreifach duplizierte Pfadlogik in SettingsService/AutoCleanReportStore/ UpdateLogService) - Portable.pubxml: self-contained Single-File (win-x64) inkl. IncludeNativeLibrariesForSelfExtract fuer die native e_sqlite3.dll - build/publish-portable.ps1: lokaler Portable-Build mit Marker - installer/OpenClean.iss: Inno-Setup-Installer (nutzt %AppData%, ohne Marker) - .github/workflows/release.yml: baut bei v*-Tag Portable-.zip + Installer-.exe und haengt beide ans GitHub-Release - Version 0.10.0 -> 0.11.0 (csproj + 7 Sprachdateien) - .gitignore: installer/Output/ + Ausnahme fuer Portable.pubxml
…als Premium (M1) - Neues Projekt OpenClean.Contracts: Plugin-Vertrag (IPremiumModule/IPremiumSection/ IPremiumHost) für das Closed-Source-Premium-Modul (OpenClean.Premium.dll) - Lizenzsystem (Services/Licensing): ECDSA-P-256-signierte Offline-Tokens (license.json, 30 Tage Offline-Frist), anonymer Geräte-Hash, LicenseApiClient gegen daonware.de (nur bei Nutzeraktion/Refresh – nie beim Start), Modul-Loader mit SHA-256-Integritätsprüfung gegen den signierten Token - Zeitplan-UI (ScheduleViewModel/ScheduleView) ins private Premium-Repo verschoben; MainWindow hostet den Bereich per ContentControl, ohne Lizenz erscheint die LockedSectionView (Kaufen/Aktivieren), Schloss-Symbol in der Navigation - Batch-Deinstallation (>1 Programm) hinter Premium-Gate; Einzel-Deinstallation bleibt kostenlos - --auto-Lauf prüft die Lizenz offline: ohne Lizenz kein Reinigen, aber Toast + ÜBERSPRUNGEN-Eintrag im Protokoll (nie stilles Scheitern) - Grandfathering: Bestandsnutzer mit aktivem Zeitplan aus v0.11 behalten ihn (einmalige Migration, Flag ScheduleGrandfathered) - Aktivierungsdialog inkl. Datenschutz-Hinweis; 25 neue i18n-Keys in allen 7 Sprachen
feat(premium): Open-Core-Grundlage – Zeitplan & Batch-Deinstallation …
- Eingebetteter Lizenz-Public-Key auf das auf daonware.de erzeugte Produktions-Schlüsselpaar umgestellt (privater Schlüssel existiert nur auf dem Server) - App-Version auf 0.12.0 angehoben (csproj + sidebar.version in allen 7 Sprachen)
…ess-Seite /openclean/)
Finale Version 1.0.0. Enthält: - Code-Signing via Azure Trusted Signing in der Release-Pipeline (Portable-EXE + Installer, Publisher DaonWare); überspringt sauber ohne Signier-Secrets. - Online-Lizenzdurchsetzung: Prüfung beim Start und beim geplanten Lauf (nur bei vorhandener Lizenz), Entfernen bei serverseitigem Widerruf, harte 30-Tage-Offline-Frist. - Deinstallation: Listen-Refresh wartet nach dem Deinstallieren auf das tatsächliche Entfernen aus der Registry (behebt hängenbleibende Einträge). - Premium: Batch-Deinstallation mit Schloss-Badge kenntlich gemacht; nicht renderndes Emoji-Schloss durch Segoe-MDL2-Glyph ersetzt (Nav-Zeitplan + Deinstallations-Button). - Branding: App-Logo/-Icon (EXE-, Fenster- und Setup-Icon) sowie Logo oben links im Programm. - Doku: README (Englisch, mit Screenshots), LICENSE (MIT), PRIVACY aktualisiert.
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 7. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v4...v7) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Author
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
Author
|
OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting If you change your mind, just re-open this PR and I'll resolve any conflicts on it. |
dependabot
Bot
deleted the
dependabot/github_actions/actions/upload-artifact-7
branch
July 6, 2026 14:09
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps actions/upload-artifact from 4 to 7.
Release notes
Sourced from actions/upload-artifact's releases.
... (truncated)
Commits
043fb46Merge pull request #797 from actions/yacaovsnc/update-dependency634250cInclude changes in typespec/ts-http-runtime 0.3.5e454baaReadme: bump all the example versions to v7 (#796)74fad66Update the readme with direct upload details (#795)bbbca2dSupport direct file uploads (#764)589182cUpgrade the module to ESM and bump dependencies (#762)47309c9Merge pull request #754 from actions/Link-/add-proxy-integration-tests02a8460Add proxy integration testb7c566aMerge pull request #745 from actions/upload-artifact-v6-releasee516bc8docs: correct description of Node.js 24 support in READMEDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)