From 798c419c8c56559f27fc14c7980400c0d645cda8 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 15 Jul 2026 22:52:04 +0000 Subject: [PATCH 1/2] chore: prepare release v0.2.0 --- CHANGELOG.md | 111 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 111 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index be9497af..897d7ecf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,117 @@ All notable changes to `azldev` are documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). +## [0.2.0] - 2026-07-15 + +### Added + +- Generate Synthetic Git Repo (#17) +- Add package publish channel annotations to TOML schema (#38) +- Add `spec-remove-section` (#40) +- Add GetCurrentCommit function and WithMetadataOnly option (#44) +- Add `azldev package list` command (#53) +- Add ResolveSourceIdentity() to the source provider interface (#45) +- Add WithSkipLookaside preparer option (#61) +- Static release bumped during dist-git generation (#54) +- Add mock batch processor and source utilities (#80) +- Place built RPMs/SRPMs into structured output dirs and validate channel names (#68) +- Add azldev component render command (#81) +- Added download-sources command (#67) +- Include rendered spec location in component list output (#85) +- Add fingerprint ignore tags to some config fields (#46) +- Render files into subdirectories (#88) +- Add lock file foundations (#90) +- Add update CLI command (#92) +- Add user hints to help fix errors (#95) +- Rename publish channel field to publish-channel and PublishChannel (#96) +- Add image capabilities, test suites, and publish config (#101) +- Add advanced command hint to help output (#102) +- Require components to opt out of auto release calculation (#100) +- Add --synthesize-debug-packages to package list (#108) +- Add ability to boot livecd-style ISO (#103) +- Add lock file validation and orphan detection primitives +- Skip file filter for specs with unexpandable macros +- Add component-level publish channel configuration (#107) +- Add deterministic component fingerprints (#47) +- Add structural validation and feature-gated lock checks (#111) +- Add pytest test suite support (#122) +- Compute and store input fingerprints during component update (#123) +- Populate resolved lock data onto components during resolution (#129) +- Add --bump flag for manual rebuild counter (#130) +- Extend lock files to cover local components (#133) +- Construct dist-git with lock file history (#121) +- Add spec-remove-subpackage overlay (#132) +- Add ReadAllAtCommit for batch lock file reading (#150) +- Add --rpm-file flag to package list command (#136) +- Load user-level config from XDG config home (#148) +- Add explicit release calculation modes (autorelease, static) (#155) +- Add facility for upstream commit staleness detection (#154) +- Add freshness-based skip optimization to component update (#158) +- Add explicit document generation mage target (#153) +- Add component changed command (#149) +- Switch update cmd to use a progress bar (#159) +- Add root user check escape hatch with env var (#163) +- Add check-only option to update (#168) +- Add check-only option to render (#170) +- Add dirty commit for uncommitted config changes in dist-git (#166) +- Enable full validation for configs and locks (#177) +- Allow file replacement in `source-files` (#171) +- Validate component group membership (#191) +- Split list 'group' column into 'packageGroups' and 'componentGroups' (#165) +- Add RPM repo resources and repo-set templates (#202) +- Add flag to source prep to skip downloading source tars (#207) +- Add 'azldev repo query' for inspecting and managing RPM repositories (#213) +- Add deterministic archive extract and repack utility (#223) +- Add gremlins mutation testing via mage and MCP (#244) +- Add inline [metadata] block to component overlays +- Add per-file overlay format via overlay-files +- Add history command to show changes made to components (#212) +- Handle empty sections explicitly (#208) +- In verbose mode have mock print all output (#231) +- Add custom origin type for mock-based source generation (#261) +- Add optional metadata to component groups +- Generative source dependencies (#271) +- Add archive overlay engine and config model (#275) + +### Fixed + +- Make patch discovery work across whole spec (#18) +- Replace raw `%s` with `%#q` (#56) +- Skip .git directory when applying file-targeting overlays (#64) +- Remove exact azldev version from spec headers (#66) +- Improve error when no image specified (#70) +- Make `sources-files` update `sources` (#69) +- Allow download-sources to run as root (#89) +- Remove truncated (e.g.) example from hash-type schema description (#87) +- Suppress wait messages and progress bars in quiet mode (#41) +- Handle additional %autorelease macro forms in Release tag detection (#91) +- Bump testcontainers-go to v0.42.0 and fix moby/moby import breaking change (#115) +- Parse URL sources that use the rename '#' tag (#118) +- Improve shallow clone guidance for synthetic history (#105) +- Support git worktrees in synthetic history generation (#125) +- URL-escape placeholder values in BuildLookasideURL and dist-git URL construction (#74) +- Swap boot order so disk has priority over ISO (#135) +- Disallow release bumping on decimal releases (#138) +- Fix render staging, import-commit seeding, and commit parsing (#139) +- Scrub submodules from distgits (#137) +- Restore git worktree support in synthetic history generation (#145) +- Consume merge-commits in dist-git (#146) +- Count unnumbered Patch: tags in GetHighestPatchTagNumber (#160) +- Don't return null json when getting empty slices (#167) +- Error on source vs. identity drift (#169) +- Allow autobump for Non Conditional %{dist} Releases (#179) +- Handle -l flag in spec section header package name extraction (#180) +- Handle -- trigger terminator and -P flag in spec section header parsing (#189) +- Use first-parent for snapshot-time commit resolution (#192) +- Balance conditional nesting when removing spec sections (#190) +- Make AddFixSuggestion thread-safe (#183) +- Disable validation checks when passing --permissive-config (#216) +- Filter noise from license checks (#230) +- Surface close errors and drop unused writable handle in completions (#233) +- Expand overlay files after config resolution +- Repair main after component-groups metadata + overlay-metadata API drift +- Fix issues with the MCP server mode (#272) + ## [0.1.0] - 2026-03-18 First tagged preview release of `azldev`, the developer CLI for the From 509e62f07d2ad657de252b225d75b72118f4f38c Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 15 Jul 2026 23:04:44 +0000 Subject: [PATCH 2/2] docs: make v0.2.0 changelog human-friendly --- CHANGELOG.md | 142 ++++++++++++++------------------------------------- 1 file changed, 39 insertions(+), 103 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 897d7ecf..648e6b6d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,112 +11,48 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Generate Synthetic Git Repo (#17) -- Add package publish channel annotations to TOML schema (#38) -- Add `spec-remove-section` (#40) -- Add GetCurrentCommit function and WithMetadataOnly option (#44) -- Add `azldev package list` command (#53) -- Add ResolveSourceIdentity() to the source provider interface (#45) -- Add WithSkipLookaside preparer option (#61) -- Static release bumped during dist-git generation (#54) -- Add mock batch processor and source utilities (#80) -- Place built RPMs/SRPMs into structured output dirs and validate channel names (#68) -- Add azldev component render command (#81) -- Added download-sources command (#67) -- Include rendered spec location in component list output (#85) -- Add fingerprint ignore tags to some config fields (#46) -- Render files into subdirectories (#88) -- Add lock file foundations (#90) -- Add update CLI command (#92) -- Add user hints to help fix errors (#95) -- Rename publish channel field to publish-channel and PublishChannel (#96) -- Add image capabilities, test suites, and publish config (#101) -- Add advanced command hint to help output (#102) -- Require components to opt out of auto release calculation (#100) -- Add --synthesize-debug-packages to package list (#108) -- Add ability to boot livecd-style ISO (#103) -- Add lock file validation and orphan detection primitives -- Skip file filter for specs with unexpandable macros -- Add component-level publish channel configuration (#107) -- Add deterministic component fingerprints (#47) -- Add structural validation and feature-gated lock checks (#111) -- Add pytest test suite support (#122) -- Compute and store input fingerprints during component update (#123) -- Populate resolved lock data onto components during resolution (#129) -- Add --bump flag for manual rebuild counter (#130) -- Extend lock files to cover local components (#133) -- Construct dist-git with lock file history (#121) -- Add spec-remove-subpackage overlay (#132) -- Add ReadAllAtCommit for batch lock file reading (#150) -- Add --rpm-file flag to package list command (#136) -- Load user-level config from XDG config home (#148) -- Add explicit release calculation modes (autorelease, static) (#155) -- Add facility for upstream commit staleness detection (#154) -- Add freshness-based skip optimization to component update (#158) -- Add explicit document generation mage target (#153) -- Add component changed command (#149) -- Switch update cmd to use a progress bar (#159) -- Add root user check escape hatch with env var (#163) -- Add check-only option to update (#168) -- Add check-only option to render (#170) -- Add dirty commit for uncommitted config changes in dist-git (#166) -- Enable full validation for configs and locks (#177) -- Allow file replacement in `source-files` (#171) -- Validate component group membership (#191) -- Split list 'group' column into 'packageGroups' and 'componentGroups' (#165) -- Add RPM repo resources and repo-set templates (#202) -- Add flag to source prep to skip downloading source tars (#207) -- Add 'azldev repo query' for inspecting and managing RPM repositories (#213) -- Add deterministic archive extract and repack utility (#223) -- Add gremlins mutation testing via mage and MCP (#244) -- Add inline [metadata] block to component overlays -- Add per-file overlay format via overlay-files -- Add history command to show changes made to components (#212) -- Handle empty sections explicitly (#208) -- In verbose mode have mock print all output (#231) -- Add custom origin type for mock-based source generation (#261) -- Add optional metadata to component groups -- Generative source dependencies (#271) -- Add archive overlay engine and config model (#275) +- **Component updates and reproducibility.** Render and update components from + the CLI, inspect their history, and identify which components changed. + Deterministic fingerprints, validated lock files, upstream staleness checks, + and freshness-based skipping make updates repeatable and efficient. +- **Source preparation and overlays.** Prepare sources through the `mock` batch + pipeline, download sources independently with `download-sources`, and + customize specs and archives with section, subpackage, file, metadata, and + per-file overlays. +- **Dist-git and release handling.** Generate synthetic git history, construct + dist-git repositories from lock-file history, and choose between automatic, + `%autorelease`, and static release calculation. +- **Package and repository tools.** Inspect package configuration with `azldev + package list`, query RPM repositories with `azldev repo query`, and organize + built RPMs and SRPMs into publish-channel-aware output directories. +- **Image testing.** Configure image capabilities and test suites, including + pytest support and booting live ISO images. +- **Configuration and command-line experience.** Load user configuration from + the XDG config directory, validate configuration and lock files, and provide + actionable error hints, progress reporting, check-only modes, and improved + component list output. +- **Developer tooling.** Generate reference documentation explicitly, audit + tests with mutation testing, and use source and batch-processing utilities + through the MCP server. ### Fixed -- Make patch discovery work across whole spec (#18) -- Replace raw `%s` with `%#q` (#56) -- Skip .git directory when applying file-targeting overlays (#64) -- Remove exact azldev version from spec headers (#66) -- Improve error when no image specified (#70) -- Make `sources-files` update `sources` (#69) -- Allow download-sources to run as root (#89) -- Remove truncated (e.g.) example from hash-type schema description (#87) -- Suppress wait messages and progress bars in quiet mode (#41) -- Handle additional %autorelease macro forms in Release tag detection (#91) -- Bump testcontainers-go to v0.42.0 and fix moby/moby import breaking change (#115) -- Parse URL sources that use the rename '#' tag (#118) -- Improve shallow clone guidance for synthetic history (#105) -- Support git worktrees in synthetic history generation (#125) -- URL-escape placeholder values in BuildLookasideURL and dist-git URL construction (#74) -- Swap boot order so disk has priority over ISO (#135) -- Disallow release bumping on decimal releases (#138) -- Fix render staging, import-commit seeding, and commit parsing (#139) -- Scrub submodules from distgits (#137) -- Restore git worktree support in synthetic history generation (#145) -- Consume merge-commits in dist-git (#146) -- Count unnumbered Patch: tags in GetHighestPatchTagNumber (#160) -- Don't return null json when getting empty slices (#167) -- Error on source vs. identity drift (#169) -- Allow autobump for Non Conditional %{dist} Releases (#179) -- Handle -l flag in spec section header package name extraction (#180) -- Handle -- trigger terminator and -P flag in spec section header parsing (#189) -- Use first-parent for snapshot-time commit resolution (#192) -- Balance conditional nesting when removing spec sections (#190) -- Make AddFixSuggestion thread-safe (#183) -- Disable validation checks when passing --permissive-config (#216) -- Filter noise from license checks (#230) -- Surface close errors and drop unused writable handle in completions (#233) -- Expand overlay files after config resolution -- Repair main after component-groups metadata + overlay-metadata API drift -- Fix issues with the MCP server mode (#272) +- **Source and overlay reliability.** Keep `source-files` and `sources` in sync, + handle renamed URL sources, expand overlay paths after configuration + resolution, skip `.git` when applying file overlays, and detect source + identity drift. +- **Spec and release parsing.** Discover patches throughout a spec, recognize + more `%autorelease` and section-header forms, preserve balanced conditionals, + and avoid invalid release bumps. +- **Synthetic history and dist-git.** Support shallow clones, worktrees, + submodules, merge commits, and uncommitted configuration changes when + generating history and dist-git repositories. +- **Command-line behavior.** Honor quiet mode consistently, return empty JSON + arrays instead of `null`, improve image and shallow-clone errors, and make + error suggestions safe during concurrent operations. +- **Build and runtime behavior.** Allow source downloads as root, prioritize + disks over ISO media when booting images, reduce license-check noise, and + improve MCP server reliability. ## [0.1.0] - 2026-03-18