brel 0.2.0 → 0.3.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,26 @@
1
- ## [unreleased]
1
+ ## [0.3.0] - 2026-02-18
2
+
3
+ ### 🚀 Features
4
+
5
+ - Version_selector dsl
6
+
7
+ ### 💼 Other
8
+
9
+ - Cargo release
10
+ ## [0.2.0] - 2026-02-18
2
11
 
3
12
  ### 🚀 Features
4
13
 
5
14
  - Tag after release
15
+ - Tag templating
16
+
17
+ ### 🐛 Bug Fixes
18
+
19
+ - Changelog generation tag
20
+
21
+ ### ⚙️ Miscellaneous Tasks
22
+
23
+ - *(release)* V0.2.0
6
24
  ## [0.1.2] - 2026-02-18
7
25
 
8
26
  ### 🐛 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
 
@@ -23,7 +23,7 @@
23
23
  "hasInstallScript": true,
24
24
  "license": "MIT",
25
25
  "name": "brel",
26
- "version": "0.2.0"
26
+ "version": "0.3.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.3.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.3.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.3.0",
101
101
  "volta": {
102
102
  "node": "18.14.1",
103
103
  "npm": "9.5.0"