Skip to content

GMAB 0.2.0

Choose a tag to compare

@github-actions github-actions released this 12 Jun 08:52
· 3 commits to main since this release

[0.2.0] - 2026-06-12

Changed

  • Refactored provider integration into a self-registering plugin model: providers are
    auto-discovered from gmab/providers/, so adding one is a single drop-in file with no
    edits to the factory, config loader, configure command, or CLI.
  • Replaced per-provider get_default_config/get_config_prompts with a declarative
    CONFIG_SCHEMA; the base class now derives defaults, prompts, validation, and secret masking.
  • Hoisted shared logic (SSH key reading, label generation, expiry math, label-to-id lookup)
    into ProviderBase and gmab/utils/naming.py.
  • gmab terminate now asks for y/n confirmation in every case, including a single instance
    (which previously skipped the prompt). Pass -y/--yes to bypass it.
  • The post-spawn "Connect via" SSH hint now shows the correct login user per provider
    (ubuntu for the default AWS image, root for Linode/Hetzner) instead of always root.

Added

  • gmab/providers/_template.py reference implementation and an "Adding a provider" guide.
  • A mocked, offline test suite (stdlib unittest, no new dependencies) covering provider
    lifecycle, base helpers, the command layer, and the config layer.

Fixed

  • Provider config defaults handed Hetzner AWS's defaults.
  • Updated the AWS default AMI (the previous one had been deregistered) to a current
    Ubuntu 22.04 LTS image for eu-west-1.
  • Updated the Hetzner default server type from cpx11 (now US-only) to cpx22, which is
    available in the default nbg1 location.
  • __version__ was left at 0.1.3 in the 0.1.4 release, so gmab --version reported the
    wrong number.

[0.1.4] - 2026-01-20