@@ -6,14 +6,54 @@ browse releases, wallpapers, the gallery, documentation and the team, right from
66## Features
77
88- ** Releases** - live release notes pulled directly from the official HackerOS website's release
9- data, in your selected language, with background notifications for new releases.
9+ data, in your selected language, with background notifications for new releases (filterable by
10+ edition), and offline fallback to the last successfully fetched copy.
1011- ** Wallpapers** - browse official HackerOS wallpapers, install them to your device with a live
11- download progress bar, then set them as your Home screen, Lock screen, or both.
12- - ** Gallery** - community screenshots and visual archive.
13- - ** Documentation** - the full official HackerOS documentation, shown natively in-app.
12+ download progress bar, then set them as your Home screen, Lock screen, or both. Installed
13+ wallpapers are cached on-device so they're available fully offline afterwards.
14+ - ** Gallery** - community screenshots and visual archive, with a pinch-to-zoom/swipe fullscreen
15+ viewer, download-all, per-image share, and offline fallback to the last fetched copy.
16+ - ** Documentation** - the full official HackerOS documentation, parsed and rendered ** natively**
17+ (no WebView) straight from the website's own data file, with a native tab menu, native search,
18+ offline caching, and an English-only-content notice where relevant.
19+ - ** Games Store** - browse, install, update, and launch community-made games for HackerOS, right
20+ from the app (HackerOS-App acts as the manager/installer for the shared community game catalog).
1421- ** Team** - meet the people behind HackerOS.
15- - ** Settings** - 10 languages, 8 selectable themes (Monochrome by default), release
16- notifications, and in-app update checks.
22+ - ** Settings** - 10 languages, 12 selectable themes (Monochrome by default) plus a custom theme
23+ builder, release notifications
24+ (with per-edition filtering), in-app update checks with a full download/verify/install flow, and
25+ toggles to hide the Documentation and/or Games Store sections entirely.
26+ - ** Self-updating** - checks for new app versions, downloads the APK with a live progress bar,
27+ verifies it against a published checksum when available, then hands off to the system installer.
28+ - ** What's new** - a short summary of the latest release is shown once right after updating the
29+ app.
30+
31+ ## What's new in v0.6
32+
33+ - ** 4 new built-in themes** : Ultraviolet, Cool Mint, Blackout Rose, and Steel Blue - alongside the
34+ existing 8.
35+ - ** Create your own theme.** A new custom theme builder in Settings lets you pick Primary,
36+ Background, and Card colors from a curated swatch grid or an exact hex code, with a live
37+ preview, and save it as a selectable theme of your own.
38+ - ** Translation audit fix** : several strings across the app (the Team screen description, a
39+ handful of Settings labels, status badges, and a couple of toast messages) were hardcoded in
40+ English regardless of the selected app language. All of these now respect the language setting
41+ across all 10 supported languages.
42+
43+ ## What's new in v0.5.2
44+
45+ - ** Documentation is now fully native - no WebView.** The app parses the website's own
46+ ` translations/hackeros-documentation.js ` data file directly (including a small tolerant
47+ JS-object-literal-to-JSON converter, since that file isn't strict JSON) and renders it with
48+ native Compose UI: tab menu, native search, headings, lists, code blocks with copy buttons,
49+ and the tools/programming reference content - mirroring the website's own renderer
50+ (` doc-engine.js ` ) field-for-field so the content matches exactly.
51+ - ** New Games Store section.** HackerOS-App now acts as a manager for community-made phone games,
52+ reading a shared catalog (` games-store/community-games.json ` in this repo) and letting you
53+ browse, install (with a live progress bar and checksum verification, just like app updates),
54+ open, or update each game - all without leaving the app.
55+ - ** Documentation and Games Store can each be hidden** from Settings if you don't want them
56+ cluttering the navigation bar.
1757
1858## What's new in v0.5
1959
@@ -28,8 +68,38 @@ browse releases, wallpapers, the gallery, documentation and the team, right from
2868 available as an optional theme in Settings.
2969- Wallpapers can now be installed to the device with a live progress bar, then set directly as
3070 the Home screen, Lock screen, or both.
71+
72+ ## Reliability / offline
73+
74+ - Releases and the gallery are cached locally (DataStore) after every successful fetch; if a
75+ later fetch fails (no connection), the app shows that last-known-good data instead of an error
76+ screen, with a small "offline" banner so it's clear the data isn't live.
77+ - Installed wallpapers are cached in app-private storage, so they remain viewable/settable fully
78+ offline after the first successful install.
79+ - The in-app Documentation WebView is configured to fall back to its HTTP cache when there's no
80+ connection, so a previously-opened page can still be read offline.
81+
82+ ## In-app updates
83+
84+ - Settings now offers a full update flow: check → download (with a live % progress bar) → verify
85+ (SHA-256 checksum, when the release publishes one) → install via the system Package Installer,
86+ all without leaving the app.
87+ - Release notifications can be filtered per HackerOS edition (Official, Cybersecurity, NVIDIA,
88+ etc.) instead of firing for every edition.
89+ - A "What's new" dialog summarizes the latest release once, right after an app update.
90+
3191- CI: added ` .github/workflows/build.yml ` , which builds signed-ready debug and release APKs via
3292 Gradle and publishes them as a downloadable ` outputs ` artifact.
93+ - CI/build fix: the repo was missing ` gradle/wrapper/gradle-wrapper.jar ` entirely (so ` ./gradlew `
94+ could never even start Gradle), ` gradlew ` itself contained a broken self-download hack pointing
95+ at a URL that doesn't host the compiled jar, and a committed ` local.properties ` hardcoded a
96+ developer's personal SDK path - which silently overrode the CI runner's own Android SDK and
97+ broke every build. All three are fixed: a genuine wrapper jar + the standard official
98+ ` gradlew ` /` gradlew.bat ` scripts are now committed, ` local.properties ` is generated fresh by the
99+ workflow (and gitignored), and the workflow no longer uses a third-party Android SDK setup
100+ action (GitHub's runners already ship one, license-accepted) - which was the actual cause of
101+ the workflow hanging/"waiting" indefinitely. The job also now has a hard 30-minute timeout as a
102+ safety net.
33103
34104## Building
35105
0 commit comments