Skip to content

Ghi v0.2.5

Choose a tag to compare

@arm092 arm092 released this 27 Sep 14:28
· 26 commits to master since this release

Ghi v0.2.5

Development workflow

  • Add ghi watch [--debug] [project] [-- arguments...]: content-based polling, debounced builds, and process replacement after successful compilation. Failed builds retain the running service.
  • Track saves during compilation, including edit/revert sequences. Watch installed package sources and configuration while excluding generated caches and each source root's test directory.
  • Cancel compiler subprocess trees and development services through Windows Job Objects or Unix process groups. Windows children start suspended until assigned to their job.

Compiler and diagnostics

  • Reuse validated namespace bodies after edits, checking affected consumers and inheritance components. Dependency, toolchain, manifest and class-graph changes invalidate the relevant cached certificates.
  • Fix compound assignment and increment/decrement on generic numeric fields, including inherited fields.
  • Prevent generated forwarding parameter names from capturing generic or concrete type names.
  • Preserve source positions and imported aliases in constructor, inheritance and override diagnostics, including multiline have/want messages.
  • Prepare staged Go modules without two redundant Go commands. Verify downloaded archives and extracted contents against locked checksums with bounded parallel hashing on every compilation; corruption still rejects output.

The final warm-cache Windows DDD check comparison measured 1.714 → 1.773 seconds unchanged and 1.788 → 1.849 seconds after an edit. The complete pipeline, which also adds subprocess-tree cancellation, was about 3% slower in this run. No overall compilation speedup is claimed. See the README and raw samples for details.

Standalone service and IDE

  • Add services/request-journal, an independent HTTP backend using chi, SQLite, string-backed status enums and the published migration package. It includes CRUD, pagination/filtering, transactional status history, validation, startup migrations and shutdown handling.
  • Verify a fresh consumer using published Ghi v0.2.4, Mojave v0.1.0 and migrations v0.4.0, before this release. Tests cover real HTTP, concurrent writes, process restart persistence, migration failures and database connection replacement after cancellation.
  • GoLand Plugin v0.1.3 is available separately on GitHub. Its owner verified multiline diagnostics, source coordinates, imported aliases and editor overlays, with 66 passing tests and Plugin Verifier compatibility on 251 and 262.

Downloads and verification

  • Windows x64/ARM64 archives and a native Setup executable.
  • macOS Intel/Apple silicon archives and a universal installer build kit. Build the .pkg on a Mac with Apple Command Line Tools; no prebuilt v0.2.5 .pkg is supplied.
  • Homebrew formula updated after publication to the verified source archive checksum.
  • Mojave remains independently versioned at v0.1.0.
  • SHA-256 checksums accompany all archives, Setup and the installer kit.

The full Go suite, go vet, targeted process-tree/watch regressions, standalone-service tests and the packaged Windows amd64 smoke checks passed. Native macOS/Homebrew and Windows ARM64 execution were not performed on this Windows host. No paid GitHub Actions were used.