hogli 0.2.0
Added
hogli run <command>runs a command with the environment the manifest resolves.telemetry:on,telemetry:off, andtelemetry:statusare now built in. They previously lived outside the package.config.env.filesinhogli.yamlloads dotenv files before every command. Shell variables always win, and a missing file is skipped.config.env.secretsresolves secret references through whichever wrapper binary you name. 1Password is no longer built in.needs_secrets: trueon a manifest entry opts a command into the secret wrapper. Commands that do not need secrets skip the extra process.untracked: trueon a manifest entry keeps a command out of telemetry.telemetry.add_command_properties()attaches custom properties to thecommand_completedevent.- Events carry
hogli_versionandis_nested.command_completedcarriesoutcome, which separates a signal kill from a real failure. - Package metadata now declares support for Python 3.13.
Changed
- Breaking:
ctx.meta["hogli.devenv"]no longer reachescommand_completed. Usetelemetry.add_command_properties()instead. - Breaking:
meta:checknow also fails on manifest entries whosebin_scriptdoes not exist. A manifest that passed under 0.1.0 can fail here. - Breaking: events no longer set
$groups: {"project": "hogli"}. - CI detection covers GitHub Actions, Jenkins, GitLab, CircleCI, and Buildkite in addition to
CI. Telemetry stays off in all of them, and the first-run notice no longer prints into build logs. command_startedsends as soon as it is queued, so a long command that is killed still reports.
Fixed
- hogli no longer replaces the calling process when it runs embedded as a library or under
CliRunner. Only thehogliscript andpython -m hoglican exec into the secret wrapper. flush()waits on in-flight sends against a shared deadline, so one hung request cannot stall both the post-command flush and the one at exit.- Telemetry failures no longer break commands or raise during process exit.