Repository navigation
Releases: Kazo-ca/HackerOs
Releases · Kazo-ca/HackerOs
Release list
HackerOS 2.2.2
Improved
- Hack Store apps are signed. HackerOS now checks the signature of every app from the official Hack Store and refuses a package that was not signed by the catalog or was changed after. (app-installation.md)
All versions: CHANGELOG.md
HackerOS 2.2.1
New
- Set as wallpaper from the menu of an image. Right-click a PNG, JPEG or WebP image and choose Set as wallpaper: it becomes the desktop background at once, without opening Settings. With several screens, a submenu chooses the screen. (#330, 0218-set-as-wallpaper-file-menu.md, wallpapers.md)
- Do not disturb. A Do not disturb switch in the clock panel (the shade on a phone) and in Settings ▸ Notifications stops the notification bubbles and sounds, errors included. Notifications still go to the clock panel and the unread dot still shows them. A moon in the notification area says the mode is on; the choice is saved for each user in ~/.config/hackeros/notifications.config. (0216-do-not-disturb.md)
- Mouse Back and Forward buttons in apps. The mouse Back button, Alt+← and the phone's Back (Android button or gesture, iOS swipe) now go to the active app instead of moving the browser tab back and leaving HackerOS; the mouse Forward button and Alt+→ go forward. On a phone, Back follows the ◁ button. Apps receive them through IAppBackHandler and the new IAppForwardHandler, with the new MouseButton and SystemBack sources. (0220-mouse-back-forward-buttons.md)
- Wallpaper on the mobile home screen. The mobile home screen can show an image too. In Settings ▸ Appearance ▸ Wallpaper, pick « Mobile », then an image and how it fits; the desktop keeps its own choice. Without an image, the mobile theme's background stays. (0217-mobile-home-wallpaper.md)
Improved
- Frosted glass app drawer on the iOS theme. On the iOS mobile theme, the app drawer is now the same frosted glass as the notification shade, so the wallpaper shows through. Other themes keep an opaque drawer; a theme can choose with --hos-mobile-drawer-background and --hos-mobile-drawer-backdrop-filter. (0217-mobile-home-wallpaper.md)
Fixed
- Installed apps keep their look. An app installed from the Hack Store or with hackpkg now loads its own styles and scripts, and looks the same as an app that comes with HackerOS. (0221-pack-all-static-web-assets-of-an-app.md)
- Installed apps speak your language. An app installed from the Hack Store or with hackpkg now shows its French texts, as an app that comes with HackerOS does. (0222-installed-app-satellite-assemblies.md)
- Restarting to update opens the new version. When a new version of HackerOS is available, it now downloads in the background, and « Restart to update » opens it instead of an older copy kept by the browser. Other open HackerOS tabs restart too, and the Start menu Restart also takes the new version. If the download fails, nothing closes and you are told. (0223-restart-onto-the-new-version.md)
For developers
- App packages carry their satellite assemblies. HackerOsPack puts the satellite assemblies of the app's own assemblies in the package at lib//.resources.dll; the OS checks them and loads them before the app's first render. (0222-installed-app-satellite-assemblies.md)
- HackerOsPack packs every static resource of an app. The package now holds the whole wwwroot/, the collocated .razor.js files and the scoped CSS bundle, declared in the package's manifest with their SHA-256; the publish workflow of the hackeros-solution template copies that manifest into the catalog folder. (0221-pack-all-static-web-assets-of-an-app.md)
- Signing tool for app authors. dotnet build -t:HackerOsKeyGen creates an author's signing key, HackerOsPack signs each package with the HACKEROS_APP_SIGNING_KEY secret, and the hackeros-solution template publishes the signed packages on the hackeros-packages branch on each version tag. Administrators require an author's signature by adding their public key to [signing-keys]. (0219-app-authors-signing-tool.md)
All versions: CHANGELOG.md
HackerOS 2.2.0
New
- Window animations. Windows now open, close, minimize into their taskbar button, restore, maximize and snap with a short fade and scale. The Reduce motion setting turns the animations off, and a theme can change their duration. (#311, 0198-window-animations.md)
- Notification bubbles. Each new notification from the OS or an app now shows as a bubble for 6 seconds, above the taskbar of the first screen or at the top of a phone screen, then stays in the clock panel. Pointing at a bubble keeps it open. A ready update arrives the same way, with its Restart to update button. (#309, 0197-notification-toasts.md)
- Installable local server. The HackerOS server installs on your computer as a service on Windows, Linux and macOS, or as a Docker image, from the archives attached to each release. It listens on this computer only, or also on the local network over HTTPS with a local certificate authority. Settings > Server connection > Local server lists the downloads, tests an address and pairs this device with a one-time code; apps get HackServerConnection.PairAsync and TestAsync. (#308, 0191-installable-local-server.md, installable-server.md)
- Real sites in the browser through the HackerOS server. With a HackerOS server connected, the Browser opens real web sites through its proxy and stays signed in to them (cookies and redirects are kept). An icon at the start of the address bar tells where the page came from, and http pages say Not secure. Apps get HackHttpResponse.Source and the TimedOut and BlockedByAdministrator network errors. (#305, 0210-browser-real-sites-through-the-proxy.md)
- System sounds. The OS plays a sound for notifications, warnings, errors, sign-in and sign-out. Choose the sound theme (HackerOS or Soft), the volume or turn the sounds off in Settings > Sound. Add your own theme in ~/.local/share/sounds (freedesktop.org format, OGG or MP3). (#304, 0204-os-event-sounds.md, system-sounds.md)
- Open a .zip as a folder. A double click on a .zip file in the File Explorer opens it as a read-only folder, with its path in the address bar. A file opened from the archive is extracted to /tmp first. Dragging or pasting items out of the archive extracts them; renaming, deleting or adding inside it is refused. Double-clicking a .zip on the desktop opens it in the File Explorer. (#302, 0185-file-explorer-improvements.md, file-explorer.md)
- Taskbar window previews. Hovering a window's taskbar button shows a small live copy of the window, with a button to close it. Click the preview to bring the window to the front. Rest the pointer on it to see that window alone: the other windows of the screen keep only their outline. (#300, 0199-taskbar-window-previews.md)
- Taskbar context menus. A right click on a window's taskbar button gives New window and the window menu with Other screen. A right click on the rest of the taskbar gives Task manager, Show the desktop, Cascade windows, Tile windows and Taskbar settings, for the windows of that screen. (#289, 0194-taskbar-context-menus.md)
- Start as a guest, then create your account. On a new installation, Start as a Guest opens the desktop without an account. Create my account (sign-in screen, Settings ▸ Users or the Start menu) then makes it a real account with a password, keeping the guest's files or starting over. (#286, 0187-guest-start-and-sign-in-credits.md, guest-account.md)
- The clock shows your local time. The clock, the date command, ls -l and the apps now use your time zone: the device's by default, or one chosen in Settings > Date and time. Apps read it with HackTimeZone and IAppExecutionContext.TimeZone. (#283, 0193-local-time-and-time-zone.md)
- Compress, Download, Copy path and Send to. The File Explorer file menu can compress items, download them, copy their path and send them to another place. (#275, 0185-file-explorer-improvements.md)
- Drag files out of the browser to download them. Drag items from File Explorer to your computer to download them; several items arrive as a .zip. (#275, 0185-file-explorer-improvements.md)
- Credits on the sign-in screen. The sign-in screens and Settings ▸ About show the author and a link to the GitHub project. (#262, 0187-guest-start-and-sign-in-credits.md)
- A taskbar on every screen and an "Other screen" menu. Each screen can have its own taskbar. The window icon and the Maximize button offer to send a window to another screen, and a shortcut identifies each screen. (#238, 0179-per-screen-taskbars-and-other-screen-menus.md)
- Drag a window to another screen. Drag a window by its title bar onto another screen; an outline shows where it will land. (#238, 0183-drag-a-window-between-screens.md)
- Install apps from GitHub with hackpkg. The hackpkg command installs, updates and removes an app from its GitHub repository. App authors build the .hackapp package with HackerOsPack. (#238, 0182-install-apps-from-github.md)
- Mount a computer folder as a network drive. In Chrome and Edge, a folder of your computer can be mounted under /mnt and used like any other drive, with the mount and umount commands. (#238, 0181-host-folder-mounted-as-a-network-drive.md)
- Settings ▸ Screens. A new Settings page lists your screens, opens or closes them, restores them after a restart and remembers where each one goes. (#238, 0180-screen-service-placement-and-memory.md)
- Use several screens. Extend HackerOS to other monitors: each screen gets its own desktop, and windows move from one screen to another. (#238, 0178-extended-screens-in-display-surfaces.md)
- New Folder button in folder dialogs. The Choose folder and Save dialogs have a New Folder button, also used by Open Folder in Code Editor. (#218, 0175-new-folder-in-the-choose-folder-dialog.md)
- Cursor themes. Settings ▸ Appearance ▸ Cursors changes the pointer of the whole OS: System (the device's cursors), HackerOS Neon, Gothic Crimson, or your own theme, a folder of PNG cursors with their hot spot in ~/.config/hackeros/cursors/ or /etc/hackeros/cursors/. Apps need no change. (0205-cursor-themes.md, cursor-themes.md)
- Hack Store: apps open without a restart, signed packages, safe installs. An app installed or updated opens at once when it was not already loaded. Packages from a source with a signing key are verified before install. Installs are transactional: an interrup...
HackerOS 2.1.0
What's Changed
- HackerOS 2.1.0 et annonce d'une nouvelle version aux sessions ouvertes (ADR 0174) by @werddomain in #217
Full Changelog: v2.0.3...v2.1.0
HackerOS 2.0.3
What's Changed
- Add MultiMonitorManager by @werddomain in #1
- Add basic kernel and shell by @werddomain in #4
- Add network emulation services by @werddomain in #5
- Add executable processes and system launcher by @werddomain in #6
- Initialize persistent filesystem with AutoRun service by @werddomain in #7
- Add basic Blazor window component by @werddomain in #8
- Improve taskbar tracking and remove build artifacts by @werddomain in #9
- Add webassembly terminal window by @werddomain in #10
- Enable CSS isolation in wasm components by @werddomain in #11
- Add minimal MVC framework to Blazor WASM by @werddomain in #12
- Refactor process hierarchy with command base by @werddomain in #13
- Add basic linux command implementations by @werddomain in #14
- Add basic implementations for Blazor apps by @werddomain in #15
- Add placeholder websites for wasm project by @werddomain in #16
- Implement linux command arguments in wasm by @werddomain in #17
- Add initial website pages by @werddomain in #18
- Add Blazor File Explorer by @werddomain in #19
- Add basic dialog system by @werddomain in #20
- Replace JS prompts with Blazor dialogs by @werddomain in #21
- Add simple VS Code-like editor layout by @werddomain in #22
- Add full WebBrowser app by @werddomain in #23
- Add BlazorMonaco editor by @werddomain in #24
- Add desktop and shared file list by @werddomain in #25
- Add icon helper for wasm by @werddomain in #26
- Add basic file type handling service by @werddomain in #27
- Add start menu to Blazor WASM by @werddomain in #28
- Add authentication and login screens by @werddomain in #29
- Enable MudBlazor and icon fonts by @werddomain in #30
- Add folder workspace and multi-terminal support by @werddomain in #31
- Replace localStorage with IndexedDB in Blazor wasm by @werddomain in #32
- Improve calculator by @werddomain in #33
- Add HackPaint editor skeleton by @werddomain in #34
- Enhance HackPaint image editor by @werddomain in #35
- Add Open With submenu in File Explorer by @werddomain in #36
- Add upload/download and zip features to WASM by @werddomain in #37
- Add HackPaint app skeleton by @werddomain in #38
- Add save and rotate features to HackPaint by @werddomain in #39
- Add basic MudBlazor System Monitor by @werddomain in #40
- Add zip folder menu and view zip contents by @werddomain in #41
- Add advanced SystemMonitor features by @werddomain in #42
- Add Wasm GitHub Pages workflow by @werddomain in #43
- Wasm by @werddomain in #44
- Add Settings service and GUI by @werddomain in #45
- Add WordPad editor app by @werddomain in #46
- Implement Notepad application by @werddomain in #47
- Add MudBlazor theme support by @werddomain in #48
- Fix IndexedDB reopen issue by @werddomain in #49
- Fix DatabaseService version check by @werddomain in #50
- Improve login UI style by @werddomain in #51
- Add configurable session persistence by @werddomain in #52
- Fix shell command VFS integration by @werddomain in #54
- Fix missing methods in HackerOS by @werddomain in #55
- Fix build errors in HackerOS by @werddomain in #56
- Fix compile-time issues by @werddomain in #57
- Fix compilation issues in HackerOs by @werddomain in #58
- Fix compilation issues in HackerOs by @werddomain in #59
- Fix UI event handlers by @werddomain in #60
- Fix compile issues by @werddomain in #61
- Fix path utils and DNS file access by @werddomain in #62
- Fix path utils and DNS file access by @werddomain in #63
- Fix compile issues in HackerOS modules by @werddomain in #64
- Fix namespaces and event args by @werddomain in #65
- Fix compile errors in HackerOS by @werddomain in #66
- Fix build issues in HackerOs project by @werddomain in #67
- Fix compile issues in settings and file open by @werddomain in #68
- Fix interface method and router constant by @werddomain in #69
- Bug fixes for settings and window creation by @werddomain in #70
- Partial fixes for HackerOs compilation by @werddomain in #71
- Fix token conversion and namespace issues by @werddomain in #72
- Fix HackerOs compilation by correcting namespace uses by @werddomain in #73
- Wasm2 Comit by @werddomain in #74
- Add simplified Window component for declarative window creation by @werddomain with @Copilot in #75
- Extract window runtime into HackerOs.Windowing.Core by @werddomain in #79
- Wasm total conversion by @werddomain in #78
- Add reusable FileView control, topic messaging, and directory file association by @werddomain in #80
- Fix app.css single-source resolution; resolve regressions from main merge by @werddomain in #81
- Document common pitfalls from static-asset, manifest, and E2E harness fixes by @werddomain in #82
- Fix accessibility violations found by AccessibilityAndVisualCoverageTests by @werddomain in #83
- Fix PWA E2E file-save flow: dropped FileView selection + row class regressions by @werddomain in #84
- Add shared theming and Windows 7 launcher by @werddomain in #85
- Add HackerOS ecosystem rebuild plan and reorganize docs by @werddomain in #86
- Phase 1: virtual /proc and /dev filesystems (ADR 0046) by @werddomain in #87
- Phase 1: write platform logs as files under /var/log (ADR 0045) by @werddomain in #88
- Phase 1 (5.1) : API fichier Hack* et contexte d'exécution ambiant by @werddomain in #89
- Settings as real files with layering, locks and a typed HackSettings API (plan 5.2) by @werddomain in #90
- docs(adr): ADR de la phase 2 (0047 à 0049) by @werddomain in #91
- Phase 2 : migration des 43 apps vers [AppManifest] (ADR 0047 §6) by @werddomain in #92
- Phase 2 : classement des capacités (ADR 0049) by @werddomain in #93
- Désinstallation des apps par apps.config (ADR 0048, chantier app-uninstall) by @werddomain in #94
- Approve dangerous capabilities at launch (ADR 0049, dangerous-approval) by @werddomain in #95
- docs(adr): ADR de la phase 3 — shell, commandes et corbeille (0050-0052) by @werddomain in #96
- Phase 3 : regroupement des commandes dans HackerOs.Commands (ADR 0051 §1) by @werddomain in #97
- Phase 3 : environnement par processus (ADR 0050 §5-6, ADR 0053) by @werddomain in #98
- Phase 3 : corbeille freedesktop, HackTrash, rm vers la corbeille, commande trash (ADR 0052) by @werddomain in #99
- Phase 3 : interpréteur du shell hsh (tubes, redirect...