ace-git 0.19.0 → 0.19.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 20769f2cd0637983959bf770812eb746d5334f8b22a5466f8c4398b5a9a9a54a
4
- data.tar.gz: 6225bf184de1971c3f180f23353938e9f4d48acd44f99438cfe1eeb53421d9c4
3
+ metadata.gz: f1f4338a90a1289acd437a01c2ef439d3020123e9d915ed22c3eff4f8ec63055
4
+ data.tar.gz: 75fefab777b61d2abe6a1e5b5abf0692c19bf7fbec58d527bf12c536314c22a7
5
5
  SHA512:
6
- metadata.gz: 5d707e9c9fedc65363f7fd8a9e9e8513e04b1978fc4b2b7fb7a4d1244ac0a59bcff4f9dd73f4de0e8261622d5ab253b73c7be194d2df0820ab0635701282e39b
7
- data.tar.gz: 930bf870b7b7e4cd7b86081cec6ef8766356dfb2b8e91273b93e29fe7398ffe38343bf390b204de9172ccb655523747307d6bf854a78a3c609d5cf0e8a6686f4
6
+ metadata.gz: 81b8365e99bcb4b7026aa9d4b5eefe6e1e4a2d1f07f0e48ebdc2fc06eb1a2bc95425c5ac69f911b2342f01045da159f4bd4676bc8a918ad4bba2a09078c838f0
7
+ data.tar.gz: c2fb0f10917ff79992b517a6a7e74be8bf09fff4eecf343ca33e55e74a2a20be20f3700f7f170326c6eb5e8b421b87d5ee1539ec6b9e9153853fd29cbc03d67d
data/CHANGELOG.md CHANGED
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.19.2] - 2026-03-29
11
+
12
+ ### Technical
13
+ - Normalized published gem metadata so RubyGems and Ruby Toolbox use current release information instead of the 1980 fallback date.
14
+
15
+ ## [0.19.1] - 2026-03-29
16
+
17
+ ### Fixed
18
+ - Added an explicit `git push` step to `github/release-publish` after changelog finalization so release target commits exist on GitHub before `gh release create`.
19
+
20
+ ### Technical
21
+ - Added a stop-and-recover rule for GitHub API validation errors caused by local-only target commits (`tag_name is not a valid tag`, `target_commitish is invalid`) so the workflow pushes before retrying release creation.
22
+
10
23
  ## [0.19.0] - 2026-03-29
11
24
 
12
25
  ### Changed
@@ -84,7 +84,13 @@ If `[Unreleased]` has content:
84
84
  ace-git-commit CHANGELOG.md -i "finalize changelog v0.9.933 from unreleased"
85
85
  ```
86
86
 
87
- 4. Proceed to step 2 with the newly created versioned entry available for publishing.
87
+ 4. **Push the finalization commit before creating releases:**
88
+ ```bash
89
+ git push
90
+ ```
91
+ The release target commit must exist on GitHub before `gh release create` can tag and publish it.
92
+
93
+ 5. Proceed to step 2 with the newly created versioned entry available for publishing.
88
94
 
89
95
  ### 2. Parse Root CHANGELOG
90
96
 
@@ -119,6 +125,15 @@ Use `$group_by` to choose the release body layout. Release tags/titles still use
119
125
  - `package` (default): within each date bucket, group entries as package blocks and then categories.
120
126
  - `date`: preserve legacy behavior, one release body per date in descending version order separated by `---`.
121
127
 
128
+ Mixed-release presentation rule:
129
+
130
+ - If a date bucket contains one or more clear primary changes plus follower packages that exist only because of
131
+ dependency-constraint propagation, render the primary package sections first.
132
+ - Collapse follower-only dependency fallout into one compact trailing `### Technical side effects` section instead
133
+ of expanding every follower into a full package block.
134
+ - Keep follower packages explicit by name/version, but prefer a short list over repeated full prose when the
135
+ release value is driven elsewhere.
136
+
122
137
  Date mode example:
123
138
 
124
139
  ```markdown
@@ -164,6 +179,8 @@ Package-mode parse rules:
164
179
  - Track the most recent package version seen for each package in the date bucket for package headers.
165
180
  - Render categories in `fixed,added,changed,technical` unless `$category_order` overrides.
166
181
  - If a bullet does not match the package pattern, place it under a fallback package section `### 📦 other`.
182
+ - If `### Technical` contains a compact follower summary list, preserve it as a single trailing `### Technical side effects`
183
+ section rather than exploding it back into per-package blocks.
167
184
 
168
185
  ### 5. Resolve Target Commits
169
186
 
@@ -190,6 +207,12 @@ If no commit is found for a version group, skip it and report:
190
207
 
191
208
  Process each daily group from oldest date to newest:
192
209
 
210
+ Before each live release creation:
211
+
212
+ - Verify the chosen `${SHA}` exists on the remote branch you intend to tag.
213
+ - If the workflow created or committed the changelog entry locally during step 1.5, ensure that commit has already been pushed before continuing.
214
+ - If `gh release create` reports `tag_name is not a valid tag` or `target_commitish is invalid`, stop and push the missing commit instead of retrying the same release command unchanged.
215
+
193
216
  **Dry-run mode** (`--dry-run`):
194
217
 
195
218
  ```text
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Ace
4
4
  module Git
5
- VERSION = '0.19.0'
5
+ VERSION = '0.19.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ace-git
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.0
4
+ version: 0.19.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michal Czyz
8
8
  bindir: exe
9
9
  cert_chain: []
10
- date: 1980-01-02 00:00:00.000000000 Z
10
+ date: 2026-03-29 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: ace-support-config
@@ -180,7 +180,7 @@ licenses:
180
180
  metadata:
181
181
  allowed_push_host: https://rubygems.org
182
182
  homepage_uri: https://github.com/cs3b/ace/tree/main/ace-git
183
- source_code_uri: https://github.com/cs3b/ace
183
+ source_code_uri: https://github.com/cs3b/ace/tree/main/ace-git/
184
184
  changelog_uri: https://github.com/cs3b/ace/blob/main/ace-git/CHANGELOG.md
185
185
  rdoc_options: []
186
186
  require_paths: