Skip to content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, this project adheres to Semantic Versioning, commits follow Conventional Commits, and this changelog is generated by Structured Changelog.

Unreleased

v0.3.0 - 2026-03-14

Highlights

  • Domain-specific ontology packages as opt-in imports while keeping core slogo generic
  • Alert condition builders for OpenSLO alert policies with burn rate configuration

Upgrade Guide

  • Import domain packages for domain-specific labels: ontologies/domains/business, ontologies/domains/product, etc.
  • Replace ontology.LabelDomain with business.LabelDomain
  • Replace ontology.LabelJourneyStage with product.LabelJourneyStage

Added

  • Alert condition builders and helpers for OpenSLO alert policies (a90d564)
  • AlertSeverity type with critical, high, medium, low, info levels (a90d564)
  • Requirement types with Target containing RateGoal and DurationGoal (92adc13)
  • Requirements slice type with Table() method for rendering summaries (92adc13)
  • CLI tool gen-examples-json-yaml for generating JSON/YAML from example SLOs (ed2c1e7)
  • CLI tool gen-metrics-doc for generating METRICS.md documentation (ed2c1e7)
  • CLI tool label-stats for analyzing label usage across examples (ed2c1e7)
  • Datadog HCL converter stub for Terraform integration (f76c7e1)
  • Domain ontology package ontologies/domains/iam for IAM/IGA labels (48d1c9a)
  • Domain ontology package ontologies/domains/product for AARRR journey stages (48d1c9a)
  • Domain ontology package ontologies/domains/business for business verticals (48d1c9a)
  • Domain ontology package ontologies/domains/saas for multi-tenancy labels (48d1c9a)
  • Domain ontology package ontologies/domains/security for security labels (48d1c9a)
  • Domain ontology package ontologies/domains/compliance for regulatory frameworks (48d1c9a)
  • Domain ontology package ontologies/domains/operations for operational processes (48d1c9a)

Changed

  • Core ontology reduced to 12 generic SLO labels (framework, layer, scope, audience, category, severity, tier, metric-type, resource-type, service, team, environment) (48d1c9a)
  • BREAKING: Domain-specific labels moved to opt-in ontologies/domains/ packages (48d1c9a)

Dependencies

  • Update github.com/OpenSLO/go-sdk from 0.8.0 to 0.9.1 (49bacee)
  • Update github.com/grokify/mogo from 0.72.0 to 0.73.5 (083a86d)
  • Update github.com/grokify/gocharts/v2 from 2.26.0 to 2.26.9 (c46e4aa)

Documentation

  • Add UTF-8 icons to README bullet lists for improved readability (ad76e02)
  • Add CHANGELOG.json and CHANGELOG.md covering v0.1.0-v0.3.0 (eb7184c)

Build

  • Update golangci-lint-action from 8 to 9 (06cc583)
  • Update actions/checkout from 5 to 6 (97f1292)
  • Add .gitignore for development tools and build artifacts (df487da)

v0.2.0 - 2025-10-19

Highlights

  • Comprehensive SLO ontology with 22 dimensions for categorizing and filtering SLOs
  • Multiple example sets: AI agents, RED metrics, USE metrics, SaaS CRM, budgeting methods

Added

  • Ontology package with 22 labeling dimensions for SLO categorization (9db8193)
  • Label dimensions: framework, layer, scope, audience, category, severity, tier, metric-type, resource-type, service, team, environment, domain, process, access-model, risk-level, risk-type, capability, workflow, impact, journey-stage (9db8193)
  • MetricReport type for analyzing label usage across SLO sets (76d7b73)
  • Example set: AI agents with availability, cost efficiency, response quality, response time, task completion, user engagement SLOs (7960a6b)
  • Example set: RED metrics (Rate, Errors, Duration) with availability SLO (7960a6b)
  • Example set: USE metrics (Utilization, Saturation, Errors) (7960a6b)
  • Example set: SaaS CRM with business outcomes, feature adoption, user activation, user engagement, user retention SLOs (7960a6b)
  • JSON and YAML renderings of all example SLOs (c4f35c9)
  • SLOsByDirAndFileSlug() and WriteExampleJSONAndYAMLFiles() helpers (b1a7fad)
  • Labels() function for retrieving SLO labels (9024230)
  • ExampleSLOsByDirectory() for loading examples by directory (693a669)
  • WriteSLOSetsReport() for generating metrics documentation (94d210e)

Changed

  • All ontology labels now use kebab-case consistently (de4e0ea)

Documentation

  • METRICS.md generated documentation for example SLO sets (3acf596)
  • Updated README.md with ontology and examples documentation (880e2c7)

v0.1.0 - 2025-10-17

Highlights

  • Initial release with OpenSLO SDK wrapper and basic example SLOs

Added

  • Objects type for managing collections of OpenSLO objects (1504310)
  • Initial Go code examples demonstrating OpenSLO SLO definitions (6e40e4c)
  • MIT License (7cc619a)
  • GitHub Actions CI workflow (465ad68)
  • Initial README.md documentation (c31a96a)