All notable changes to Pup will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Runbooks: Reusable step templates — define shared step logic in
~/.config/pup/runbooks/_templates/<name>.yamland reference it withtemplate: <name>in any runbook step; step-level fields override template fields - Runbooks: Full HTTP method support —
httpsteps now support POST, PUT, PATCH, DELETE, HEAD, and OPTIONS withmethod,body, andheadersfields - Runbooks: Multi-format HTTP body —
content_typefield selects body encoding (application/json,application/x-www-form-urlencoded,text/plain, etc.);body_fileloads body from a file path - Runbooks: Response capture and output —
output_filesaves HTTP response body to disk;acceptheader controls response format
- Runbooks:
--argflag replaces--setfor passing runtime variables to runbook execution (e.g.,pup runbooks run deploy --arg SERVICE=api --arg VERSION=1.2.3)
- Runbooks execution engine —
pup runbookscommand for executing YAML-defined runbooks stored in~/.config/pup/runbooks/. Supports step types:pup,shell,http,datadog-workflow, andconfirm. Features: variable interpolation, conditional steps (when), failure handling (on_failure), polling (poll), assertions (assert), output capture (capture), timestamped output with labeled stdout/stderr, and next-step hints on failure pup runbookssubcommands:list,describe,run,import,validate- Runbook example files in
docs/examples/runbooks/:deploy-service.yaml,incident-triage.yaml,maintenance-window.yaml
- DDSQL async querying —
ddsql tableandddsql time-seriesnow use async query polling, improving reliability for long-running queries - Site normalization —
DD_SITEvalues withapp.prefixes (e.g.,app.datadoghq.com,app.us3.datadoghq.com) are now automatically normalized to their canonical form (datadoghq.com,us3.datadoghq.com)
- WASM build: unified typed Datadog API client across native and WASM targets, eliminating duplicate implementations
- WASM build: restored
cfgguards on completions and native-only infrastructure functions
- Test harness: 77 new catalog entries and
id_fromresolution for end-to-end parity testing - Shape-shot snapshots checked in for API output regression testing
- Initial Go-based CLI wrapper for Datadog APIs
- Basic commands for monitors, dashboards, SLOs, and incidents
- API key authentication support
- OAuth2 authentication with PKCE support
- Keychain storage for secure token management (macOS Keychain, Windows Credential Manager, Linux Secret Service)
- Multi-architecture release builds (Linux, macOS, Windows on amd64/arm64)
- SBOM (Software Bill of Materials) generation
- Code signing with cosign
- APM services/entities API commands (
apm services,apm entities,apm dependencies,apm flow-map) - Automatic fallback from OAuth2 to API key authentication
- Comprehensive LLM-friendly help text
- Project renamed from "fetch" to "pup"
- Configuration directory moved from
~/.config/fetchto~/.config/pup
- OAuth2 PKCE flow for secure authentication
- Secure token storage in OS keychain
- Signed release artifacts