brel 0.2.0 → 0.4.0

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.
package/CHANGELOG.md CHANGED
@@ -1,8 +1,37 @@
1
- ## [unreleased]
1
+ ## [0.4.0] - 2026-02-18
2
+
3
+ ### 🚀 Features
4
+
5
+ - Add PAT token for tag pushing
6
+ ## [0.3.1] - 2026-02-18
7
+
8
+ ### 🐛 Bug Fixes
9
+
10
+ - Update release & remove facet
11
+ - Changelog prepend
12
+ ## [0.3.0] - 2026-02-18
13
+
14
+ ### 🚀 Features
15
+
16
+ - Version_selector dsl
17
+
18
+ ### 💼 Other
19
+
20
+ - Cargo release
21
+ ## [0.2.0] - 2026-02-18
2
22
 
3
23
  ### 🚀 Features
4
24
 
5
25
  - Tag after release
26
+ - Tag templating
27
+
28
+ ### 🐛 Bug Fixes
29
+
30
+ - Changelog generation tag
31
+
32
+ ### ⚙️ Miscellaneous Tasks
33
+
34
+ - *(release)* V0.2.0
6
35
  ## [0.1.2] - 2026-02-18
7
36
 
8
37
  ### 🐛 Bug Fixes
package/README.md CHANGED
@@ -80,7 +80,12 @@ When you run `brel release-pr`:
80
80
 
81
81
  ## How File Updates Work
82
82
 
83
- - `release_pr.version_updates` maps exact repo-relative file paths to dot-separated key paths.
83
+ - `release_pr.version_updates` maps exact repo-relative file paths to selector paths.
84
+ - Selector syntax:
85
+ - key: `version`
86
+ - nested key: `package.version`
87
+ - index selector: `packages[0].version`
88
+ - filter selector: `package[name=brel].version`
84
89
  - Supported file formats:
85
90
  - inferred from extension (`.json`, `.toml`)
86
91
  - or forced via `release_pr.format_overrides`
@@ -88,13 +93,28 @@ When you run `brel release-pr`:
88
93
  - a file is missing,
89
94
  - format cannot be determined,
90
95
  - parse fails,
91
- - a key path does not exist,
92
- - target value is not scalar.
96
+ - a selector is invalid,
97
+ - a selector matches no values,
98
+ - a selector uses index/filter on a non-array segment,
99
+ - a matched value is not a string.
100
+ - Match behavior:
101
+ - all values matched by a selector are updated
102
+ - selectors do not create missing keys/paths
93
103
 
94
- Example key paths:
104
+ Example selectors:
95
105
 
96
106
  - JSON: `"package.json" = ["version", "tooling.release.version"]`
107
+ - JSON with filter: `"package.json" = ["package[name=brel].version"]`
97
108
  - TOML: `"Cargo.toml" = ["package.version"]`
109
+ - Cargo.lock (explicit format override required):
110
+
111
+ ```toml
112
+ [release_pr.version_updates]
113
+ "Cargo.lock" = ["package[name=brel].version"]
114
+
115
+ [release_pr.format_overrides]
116
+ "Cargo.lock" = "toml"
117
+ ```
98
118
 
99
119
  ## Changelog Generation (`git-cliff`)
100
120
 
@@ -142,6 +162,10 @@ For PRs:
142
162
  - Tag format config: `[release_pr.tagging] tag_template = "v{version}"` (default shown).
143
163
  - When enabled, the generated workflow listens for merged pull requests into the configured default branch.
144
164
  - If the merged PR is managed by `brel` and titled `Release <rendered-tag>`, the workflow validates it against `tag_template`, then creates and pushes that tag when it does not already exist.
165
+ - Create repository secret `BREL_TAG_PUSH_TOKEN` before using tagging-on-merge.
166
+ - Use a PAT that can push tags to the repository (fine-grained PAT with `Contents: Read and write`).
167
+ - This is required because pushes done with `GITHUB_TOKEN` do not trigger downstream tag-push workflows.
168
+ - `brel init` prints this secret requirement whenever tagging is enabled.
145
169
 
146
170
  ## PR Body Templates
147
171
 
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "MIT",
25
25
  "name": "brel",
26
- "version": "0.2.0"
26
+ "version": "0.4.0"
27
27
  },
28
28
  "node_modules/@isaacs/balanced-match": {
29
29
  "engines": {
@@ -515,5 +515,5 @@
515
515
  }
516
516
  },
517
517
  "requires": true,
518
- "version": "0.2.0"
518
+ "version": "0.4.0"
519
519
  }
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "artifactDownloadUrl": "https://github.com/better-releases/brel/releases/download/0.2.0",
2
+ "artifactDownloadUrl": "https://github.com/better-releases/brel/releases/download/0.4.0",
3
3
  "bin": {
4
4
  "brel": "run-brel.js"
5
5
  },
@@ -97,7 +97,7 @@
97
97
  "zipExt": ".tar.xz"
98
98
  }
99
99
  },
100
- "version": "0.2.0",
100
+ "version": "0.4.0",
101
101
  "volta": {
102
102
  "node": "18.14.1",
103
103
  "npm": "9.5.0"