Releases: DavoudTeimouri/ObtainHub
Releases · DavoudTeimouri/ObtainHub
Release list
Release v0.7.6.9
Changelog for 0.7.6.9
- 2026-08-23
Fixed
- Self-update when ohub is running deferred. If
ohub self-updateis invoked whileohub.exeis the current process, the command now detects the running instance viatasklist(stdlib, Windows-only; on other OSes it gracefully skips), prints a clear message that update will be deferred until the next process exit, and returns 0 immediately. The Inno/NSIS installer can then replace the executable when ohub exits. A Windows Task Scheduler trigger can run periodic background checks:ohub check --all --timeout 300.
Release v0.7.6.8
Changelog for 0.7.6.8
- 2026-08-22
Added
ohub source verify <name>subcommand — validates a custom source by fetching it and confirming it serves installable content. GitHub sources check for releases with assets; manifest sources verify a parseable JSON list. No external tools required; uses the existing Downloader + requests.- Progressive timeout fallback — the
--timeoutflag (default 90s from configcheck_timeout_seconds) supports progressive query fallbacks via_progressive_queries()and_clean_app_query()helpers; if the first (cleaned) search times out or returns no results, the loop automatically tries progressively shorter cleaned names, then the raw name, before giving up. Wired into the unmanaged apps loop incmd_check. --jsonflag onohub check— already existed; outputs results as JSON viaprint(json.dumps(results, indent=2))instead of human-readable lines. No code change needed; flag was already implemented.
Fixed
- Installing a ZIP-only release no longer crashes.
ohub install <owner/repo>for a repo whose latest release contains only a.zip(no MSI/EXE setup) failed with'Namespace' object has no attribute 'name'/ "Failed to install archive". Root cause: the install command readparsed.name, but theinstallsubparser has no--nameflag (onlyadddoes). Fix: fall back to the repo name viagetattr(parsed, "name", "") or repo. Regression tests added.
Release v0.7.6.7
Changelog for 0.7.6.7
- 2026-08-21
Fixed
- Installing a ZIP-only release no longer crashes.
ohub install <owner/repo>for a repo whose latest release contains only a.zip(no MSI/EXE setup) failed with'Namespace' object has no attribute 'name'/ "Failed to install archive". Root cause: the install command readparsed.name, but theinstallsubparser has no--nameflag (onlyadddoes). Fix: fall back to the repo name viagetattr(parsed, "name", "") or repo. Regression tests added. - Source
verifysubcommand added.ohub source verify <name>now validates a custom source by fetching it and confirming it serves installable content (GitHub releases with assets, or a valid JSON manifest list). Returns success/failure with a descriptive message. No certificate or external tool required; uses the existing Downloader + requests.
Changed
- Release binaries remain unsigned (code signing deferred). The
release.ymlworkflow has code-signing support wired in (Azure Trusted Signing or PFX certificate from GitHub secrets), but no certificate is configured yet — so current releases ship unsigned and Windows SmartScreen will warn on first run. Code signing will be enabled later once a certificate is available.
Release v0.7.6.6
Changelog for 0.7.6.6
- 2026-08-14
Changed
- Release binaries remain unsigned (code signing deferred). The
release.ymlworkflow has code-signing support wired in (Azure Trusted Signing or PFX certificate from GitHub secrets), but no certificate is configured yet — so current releases ship unsigned and Windows SmartScreen will warn on first run. Code signing will be enabled later once a certificate is available.
Release v0.7.6.5
Changelog for 0.7.6.5
- 2026-08-13
Fixed
- Version comparison no longer ignores the 4th segment.
parse_versiontruncated versions to 3 parts (0.7.6.3and0.7.6.4both became(0,7,6)), soohub checkreported "Up to date" even when a newer patch release existed (e.g. current 0.7.6.3 vs latest 0.7.6.4). Now all segments are kept; short versions still pad (1.2 → (1,2,0)). Regression tests added.
Release v0.7.6.4
Changelog for 0.7.6.4
- 2026-08-13
Fixed
- GitHub apps no longer falsely flagged as manually removed.
ohub checktreated any managed app whose recordedinstall_locationwas missing on disk as removed. For setup-installed (GitHub) apps that path is often empty or stale, so valid installs were wrongly dropped.install_locationis now only authoritative for folder/zip apps; GitHub apps are checked against the system registry (Programs & Features) instead — present there means keep it. Regression tests added.
Release v0.7.6.3
Changelog for 0.7.6.3
- 2026-08-13
Fixed
ohub uninstallno longer launches the install wizard. Uninstall ran the cached setup exe, which re-opens the install/repair wizard instead of uninstalling. It now reads the real uninstaller from the Windows registryUninstallString(e.g.unins000.exe) and runs that — both interactively and silently. Falls back to the cached setup exe with uninstall flags only when no registry entry exists. Regression tests added.
Release v0.7.6.2
Changelog for 0.7.6.2
- 2026-08-13
Fixed
ohub self-update --forcenow works. When already at the latest version,check_for_updateraised "already latest" and the force flag was ignored (no reinstall happened).--forcenow re-fetches the release and reinstalls. Regression test added.Xcancels any select list. Every interactive picker (ohub check, asset/version selection, candidate menus) now acceptsX(in addition to0) to exit/cancel cleanly.
Docs
- Removed real app names (
v2rayN,OnionHop,qBittorrent,qimgv) from README and CHANGELOG; replaced with generic samples (MyApp,MyTool,owner/myrepo,folder:myapp).
Release v0.7.6.1
Changelog for 0.7.6.1
- 2026-08-13
Fixed
- Folder/zip apps no longer prompt for an asset when already up to date.
ohub checkwas listing available ZIP assets and asking the user to pick one even when the app was already at the latest version (e.g.MyAppshowing "Up to date" yet promptingSelect asset to track). The asset picker now only appears when an update is actually available.
Docs
- README: added two concrete custom-source examples (a GitHub repo source like
owner/myrepo, and a non-GitHub JSON manifest source).
Release v0.7.6.0
Changelog for 0.7.6.0
- 2026-08-13
Added
- Interactive install / update / uninstall. On a TTY without
--yes, ohub launches the installer/uninstaller visibly (no silent flags) so you drive the wizard;--interactiveforces this,--yesstays silent for automation. (ohub install/update/uninstall --interactive) - Verify by system state, not exit code. After the installer exits, ohub re-reads the Windows Registry / install location. Install is only recorded in
state.jsonif the app is actually present; otherwise it reportsnot detectedand does NOT write state. Uninstall already re-checked the registry and keeps the app managed on failure (from 0.7.5.0). This closes the gap for the long tail of apps ohub can't fully automate.
Fixed
ohub checkre-reads the installed version from the system registry so updates performed outside ohub (including self-update) are detected (0.7.5.3).
Docs
- README + new "Install / Uninstall: Interactive Mode & Verification" section explain the model and failure handling.
Fixed
ohub checknow detects versions updated OUTSIDE ohub. Previouslyohub checkcompared against its own stored version, so if you updated an app manually (or ohub self-updated), the recorded version stayed stale andcheckwrongly reported "up to date".ohub checknow re-reads the actually-installed version from the system registry (Programs & Features) for every managed app and updates its state. Self-update is detected too: after the detached installer replacesohub.exe, the nextohub checkpicks up the new version (registry name "ObtainHub X.Y.Z" matched against the stored "ObtainHub").