Skip to content

Releases: DavoudTeimouri/ObtainHub

Release v0.7.6.9

Choose a tag to compare

@github-actions github-actions released this 24 Aug 07:59

Changelog for 0.7.6.9

  • 2026-08-23

Fixed

  • Self-update when ohub is running deferred. If ohub self-update is invoked while ohub.exe is the current process, the command now detects the running instance via tasklist (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

Choose a tag to compare

@github-actions github-actions released this 23 Aug 17:11

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 --timeout flag (default 90s from config check_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 in cmd_check.
  • --json flag on ohub check — already existed; outputs results as JSON via print(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 read parsed.name, but the install subparser has no --name flag (only add does). Fix: fall back to the repo name via getattr(parsed, "name", "") or repo. Regression tests added.

Release v0.7.6.7

Choose a tag to compare

@github-actions github-actions released this 23 Aug 17:01

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 read parsed.name, but the install subparser has no --name flag (only add does). Fix: fall back to the repo name via getattr(parsed, "name", "") or repo. Regression tests added.
  • Source verify subcommand 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.yml workflow 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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 20:32

Changelog for 0.7.6.6

  • 2026-08-14

Changed

  • Release binaries remain unsigned (code signing deferred). The release.yml workflow 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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 11:22

Changelog for 0.7.6.5

  • 2026-08-13

Fixed

  • Version comparison no longer ignores the 4th segment. parse_version truncated versions to 3 parts (0.7.6.3 and 0.7.6.4 both became (0,7,6)), so ohub check reported "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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 08:25

Changelog for 0.7.6.4

  • 2026-08-13

Fixed

  • GitHub apps no longer falsely flagged as manually removed. ohub check treated any managed app whose recorded install_location was missing on disk as removed. For setup-installed (GitHub) apps that path is often empty or stale, so valid installs were wrongly dropped. install_location is 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

Choose a tag to compare

@github-actions github-actions released this 16 Aug 07:09

Changelog for 0.7.6.3

  • 2026-08-13

Fixed

  • ohub uninstall no 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 registry UninstallString (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

Choose a tag to compare

@github-actions github-actions released this 15 Aug 20:36

Changelog for 0.7.6.2

  • 2026-08-13

Fixed

  • ohub self-update --force now works. When already at the latest version, check_for_update raised "already latest" and the force flag was ignored (no reinstall happened). --force now re-fetches the release and reinstalls. Regression test added.
  • X cancels any select list. Every interactive picker (ohub check, asset/version selection, candidate menus) now accepts X (in addition to 0) 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

Choose a tag to compare

@github-actions github-actions released this 15 Aug 19:53

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 check was listing available ZIP assets and asking the user to pick one even when the app was already at the latest version (e.g. MyApp showing "Up to date" yet prompting Select 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

Choose a tag to compare

@github-actions github-actions released this 15 Aug 17:08

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; --interactive forces this, --yes stays 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.json if the app is actually present; otherwise it reports not detected and 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 check re-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 check now detects versions updated OUTSIDE ohub. Previously ohub check compared against its own stored version, so if you updated an app manually (or ohub self-updated), the recorded version stayed stale and check wrongly reported "up to date". ohub check now 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 replaces ohub.exe, the next ohub check picks up the new version (registry name "ObtainHub X.Y.Z" matched against the stored "ObtainHub").