Repository navigation
Releases
v7.36.0
[7.36.0] - 2026-11-10
Features
- feat(versioning): opt-in pre-1.0 bump rules (#1379)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 16.6ms (-24%) | 16.3ms (-26%) | 4.4ms (-12%) | 3.4ms (-19%) | 3.8ms (-17%) | 16.8 MB |
| mono-100-1k | ferrflow | 40.7ms | 38.4ms (-1%) | 6.2ms | 5.1ms (-2%) | 5.5ms (+12%) | 16.9 MB |
| mono-50-5k | ferrflow | 123.1ms (+3%) | 120.4ms | 7.0ms (+4%) | 4.1ms (-2%) | 4.3ms (-2%) | 16.7 MB |
| mono-large | ferrflow | 356.4ms (+16%) | 352.4ms (+20%) | 8.8ms (-3%) | 5.8ms | 5.5ms | 19.1 MB |
| mono-medium | ferrflow | 14.4ms (+1%) | 14.3ms (+11%) | 4.5ms (+12%) | 3.7ms (+6%) | 3.8ms (+9%) | 16.9 MB |
| mono-small | ferrflow | 10.4ms (+46%) | 9.3ms (+45%) | 3.8ms (+19%) | 3.4ms (+10%) | 3.8ms (+31%) | 15.0 MB |
| single | ferrflow | 6.8ms (-19%) | 6.8ms (-16%) | 3.2ms (-14%) | 3.0ms (-9%) | 3.2ms (-3%) | 14.8 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 273.5ms (+22%) | 295.7ms (+33%) | 310.4ms (+51%) | 252.3ms (+24%) | 521.3ms (+156%) | 43.4 MB |
| mono-100-1k | ferrflow | 246.6ms (-2%) | 242.5ms (-2%) | 211.0ms (+1%) | 207.3ms (-1%) | 214.2ms (+2%) | 43.1 MB |
| mono-50-5k | ferrflow | 340.4ms (+6%) | 335.8ms (+4%) | 212.9ms (+5%) | 213.7ms (+6%) | 210.8ms (+5%) | 42.8 MB |
| mono-large | ferrflow | 581.9ms (+10%) | 573.3ms (+9%) | 198.1ms (+4%) | 199.6ms (+3%) | 199.3ms (+7%) | 43.9 MB |
| mono-medium | ferrflow | 181.7ms (-2%) | 186.9ms (+4%) | 177.1ms (+4%) | 168.7ms (-6%) | 176.8ms (+1%) | 42.7 MB |
| mono-small | ferrflow | 207.0ms (+18%) | 207.3ms (+18%) | 202.6ms (+21%) | 200.1ms (+19%) | 201.2ms (+17%) | 42.3 MB |
| single | ferrflow | 291.2ms (+41%) | 204.8ms | 227.4ms (+14%) | 261.1ms (+31%) | 234.8ms (+16%) | 43.0 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 494.2ms (-23%) | - | - | - | 103.2 MB |
| complex | commit-and-tag-version | - | 391.8ms (-25%) | - | - | - | 89.7 MB |
| complex | ferrflow | 242.3ms (-23%) | 240.6ms (-24%) | 228.8ms (-24%) | 228.4ms (-23%) | 231.2ms (-22%) | 90.2 MB |
| complex | semantic-release | - | 1140.9ms (-27%) | - | - | - | 140.8 MB |
| complex | standard-version | - | 451.1ms (-26%) | - | - | - | 92.7 MB |
| mono-100-1k | changesets | - | 717.0ms | - | - | - | 106.8 MB |
| mono-100-1k | commit-and-tag-version | - | 575.0ms (-1%) | - | - | - | 89.5 MB |
| mono-100-1k | ferrflow | 338.8ms (-1%) | 335.5ms (-2%) | 310.4ms (+2%) | 306.2ms | 299.9ms (-2%) | 90.0 MB |
| mono-100-1k | semantic-release | - | 1707.7ms (-1%) | - | - | - | 159.6 MB |
| mono-100-1k | standard-version | - | 726.3ms (-1%) | - | - | - | 96.7 MB |
| mono-50-5k | changesets | - | 693.3ms (+12%) | - | - | - | 104.2 MB |
| mono-50-5k | commit-and-tag-version | - | 828.9ms (+3%) | - | - | - | 113.1 MB |
| mono-50-5k | ferrflow | 431.3ms (+2%) | 430.9ms (+3%) | 307.9ms (+4%) | 308.1ms (+3%) | 306.0ms (+3%) | 90.4 MB |
| mono-50-5k | semantic-release | - | 2503.1ms (+3%) | - | - | - | 311.2 MB |
| mono-50-5k | standard-version | - | 1242.4ms (+1%) | - | - | - | 124.0 MB |
| mono-large | changesets | - | 646.2ms (+23%) | - | - | - | 112.9 MB |
| mono-large | commit-and-tag-version | - | 812.2ms (+20%) | - | - | - | 129.2 MB |
| mono-large | ferrflow | 612.0ms (+21%) | 609.9ms (+23%) | 231.9ms (+25%) | 229.0ms (+28%) | 229.0ms (+27%) | 89.6 MB |
| mono-large | semantic-release | - | 2470.8ms (+32%) | - | - | - | 400.7 MB |
| mono-large | standard-version | - | 1299.1ms (+35%) | - | - | - | 163.0 MB |
| mono-medium | changesets | - | 464.6ms (+10%) | - | - | - | 104.6 MB |
| mono-medium | commit-and-tag-version | - | 336.0ms (+5%) | - | - | - | 89.8 MB |
| mono-medium | ferrflow | 192.8ms (-1%) | 189.5ms (-2%) | 183.9ms | 188.1ms (+4%) | 179.2ms (+1%) | 89.9 MB |
| mono-medium | semantic-release | - | 973.6ms (+3%) | - | - | - | 141.9 MB |
| mono-medium | standard-version | - | 387.0ms (+6%) | - | - | - | 93.6 MB |
| mono-small | changesets | - | 576.9ms (+63%) | - | - | - | 104.4 MB |
| mono-small | commit-and-tag-version | - | 493.2ms (+67%) | - | - | - | 92.1 MB |
| mono-small | ferrflow | 296.3ms (+63%) | 296.3ms (+60%) | 293.0ms (+68%) | 292.4ms (+65%) | 292.7ms (+66%) | 91.7 MB |
| mono-small | semantic-release | - | 1439.9ms (+75%) | - | - | - | 134.2 MB |
| mono-small | standard-version | - | 554.2ms (+67%) | - | - | - | 92.4 MB |
| single | changesets | - | 468.0ms (-20%) | - | - | - | 102.4 MB |
| single | commit-and-tag-version | - | 394.6ms (-20%) | - | - | - | 90.9 MB |
| single | ferrflow | 238.2ms (-20%) | 237.7ms (-20%) | 236.6ms (-19%) | 237.2ms (-19%) | 235.1ms (-19%) | 90.1 MB |
| single | semantic-release | - | 1175.7ms (-21%) | - | - | - | 136.0 MB |
| single | standard-version | - | 455.0ms (-18%) | - | - | - | 92.2 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.1 MB |
| release-please | 95.0 MB | — |
| semantic-release | 68.0 MB | — |
| standard-version | 21.0 MB | — |
v7.35.6
[7.35.6] - 2026-11-09
Refactoring
- refactor(npm): drop void operator from type checks (#1382)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 22.1ms (+4%) | 21.3ms | 4.5ms (-8%) | 3.5ms (-19%) | 3.9ms (-9%) | 16.7 MB |
| mono-100-1k | ferrflow | 28.2ms (-33%) | 26.2ms (-33%) | 5.1ms (-24%) | 4.7ms (-18%) | 4.3ms (-22%) | 16.8 MB |
| mono-50-5k | ferrflow | 128.1ms (+30%) | 128.2ms (+30%) | 7.0ms (+21%) | 4.4ms (+26%) | 4.3ms (+19%) | 16.7 MB |
| mono-large | ferrflow | 440.7ms (+24%) | 439.4ms (+24%) | 12.3ms (+41%) | 5.8ms (-2%) | 5.6ms (-2%) | 19.0 MB |
| mono-medium | ferrflow | 19.6ms (-5%) | 19.1ms (-2%) | 4.7ms (-8%) | 4.1ms (-11%) | 4.2ms (-5%) | 16.9 MB |
| mono-small | ferrflow | 10.2ms (-5%) | 9.4ms (-3%) | 3.9ms (-3%) | 3.4ms (-11%) | 3.6ms (-3%) | 14.8 MB |
| single | ferrflow | 8.2ms (-4%) | 9.0ms (+14%) | 3.7ms (-3%) | 3.3ms (+6%) | 3.3ms (-6%) | 14.6 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 212.0ms (-5%) | 217.0ms (-2%) | 200.8ms (-3%) | 200.5ms (-1%) | 195.7ms (-5%) | 42.2 MB |
| mono-100-1k | ferrflow | 215.7ms (-18%) | 211.1ms (-20%) | 186.1ms (-18%) | 188.0ms (-18%) | 184.5ms (-15%) | 43.1 MB |
| mono-50-5k | ferrflow | 349.6ms (+21%) | 341.6ms (+19%) | 214.5ms (+9%) | 215.1ms (+12%) | 211.7ms (+10%) | 42.9 MB |
| mono-large | ferrflow | 695.5ms (+18%) | 695.4ms (+13%) | 172.1ms (-24%) | 171.7ms (-17%) | 168.6ms (-20%) | 43.2 MB |
| mono-medium | ferrflow | 223.2ms | 222.2ms (+2%) | 200.0ms (-2%) | 201.5ms (-1%) | 202.1ms (-2%) | 42.7 MB |
| mono-small | ferrflow | 207.1ms (-5%) | 206.1ms (-4%) | 202.1ms (-3%) | 201.2ms (-4%) | 203.3ms (-4%) | 42.6 MB |
| single | ferrflow | 201.7ms (-1%) | 202.4ms (-2%) | 196.9ms (-1%) | 196.3ms (-1%) | 198.0ms (-1%) | 43.3 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 562.2ms (-11%) | - | - | - | 105.2 MB |
| complex | commit-and-tag-version | - | 438.7ms (-16%) | - | - | - | 89.8 MB |
| complex | ferrflow | 270.8ms (-14%) | 269.0ms (-14%) | 255.8ms (-15%) | 259.4ms (-13%) | 252.4ms (-15%) | 90.6 MB |
| complex | semantic-release | - | 1270.8ms (-17%) | - | - | - | 141.7 MB |
| complex | standard-version | - | 491.4ms (-19%) | - | - | - | 94.6 MB |
| mono-100-1k | changesets | - | 466.2ms (-37%) | - | - | - | 108.3 MB |
| mono-100-1k | commit-and-tag-version | - | 353.9ms (-41%) | - | - | - | 90.2 MB |
| mono-100-1k | ferrflow | 233.1ms (-34%) | 233.4ms (-34%) | 207.4ms (-34%) | 207.6ms (-33%) | 205.3ms (-36%) | 89.4 MB |
| mono-100-1k | semantic-release | - | 1082.3ms (-41%) | - | - | - | 157.2 MB |
| mono-100-1k | standard-version | - | 459.3ms (-40%) | - | - | - | 95.9 MB |
| mono-50-5k | changesets | - | 645.1ms (+31%) | - | - | - | 104.3 MB |
| mono-50-5k | commit-and-tag-version | - | 835.2ms (+38%) | - | - | - | 113.2 MB |
| mono-50-5k | ferrflow | 443.2ms (+38%) | 444.2ms (+35%) | 304.6ms (+34%) | 303.3ms (+34%) | 307.2ms (+36%) | 89.6 MB |
| mono-50-5k | semantic-release | - | 2454.4ms (+36%) | - | - | - | 315.1 MB |
| mono-50-5k | standard-version | - | 1236.3ms (+42%) | - | - | - | 122.7 MB |
| mono-large | changesets | - | 768.1ms (+26%) | - | - | - | 116.3 MB |
| mono-large | commit-and-tag-version | - | 1011.7ms (+24%) | - | - | - | 129.7 MB |
| mono-large | ferrflow | 789.7ms (+28%) | 788.2ms (+27%) | 272.7ms (+16%) | 268.5ms (+15%) | 265.4ms (+14%) | 92.0 MB |
| mono-large | semantic-release | - | 2943.1ms (+19%) | - | - | - | 351.9 MB |
| mono-large | standard-version | - | 1630.5ms (+26%) | - | - | - | 163.6 MB |
| mono-medium | changesets | - | 641.8ms (+2%) | - | - | - | 104.8 MB |
| mono-medium | commit-and-tag-version | - | 528.0ms (-2%) | - | - | - | 89.7 MB |
| mono-medium | ferrflow | 310.1ms (-2%) | 306.6ms (-1%) | 292.4ms (-2%) | 291.3ms (-1%) | 294.7ms (-1%) | 90.0 MB |
| mono-medium | semantic-release | - | 1572.9ms (+1%) | - | - | - | 141.6 MB |
| mono-medium | standard-version | - | 630.7ms | - | - | - | 95.8 MB |
| mono-small | changesets | - | 678.5ms (+12%) | - | - | - | 102.5 MB |
| mono-small | commit-and-tag-version | - | 491.5ms (-4%) | - | - | - | 90.1 MB |
| mono-small | ferrflow | 294.7ms (-3%) | 292.9ms (-4%) | 289.6ms (-4%) | 292.0ms (-1%) | 288.6ms (-4%) | 89.3 MB |
| mono-small | semantic-release | - | 1532.7ms (+4%) | - | - | - | 134.7 MB |
| mono-small | standard-version | - | 547.0ms (-4%) | - | - | - | 91.6 MB |
| single | changesets | - | 531.0ms (-2%) | - | - | - | 103.4 MB |
| single | commit-and-tag-version | - | 491.8ms | - | - | - | 90.0 MB |
| single | ferrflow | 299.3ms (+1%) | 298.6ms (+1%) | 296.8ms (+1%) | 292.2ms | 294.2ms | 90.3 MB |
| single | semantic-release | - | 1441.8ms | - | - | - | 135.4 MB |
| single | standard-version | - | 556.8ms | - | - | - | 92.4 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.1 MB |
| release-please | 95.0 MB | — |
| semantic-release | 68.0 MB | — |
| standard-version | 21.0 MB | — |
v7.35.5
[7.35.5] - 2026-11-09
Bug Fixes
- fix(check): validate every versioned file selector before release (#1378)
- fix(crate): publish only the Rust sources to crates.io (#1381)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 20.8ms (-4%) | 20.7ms (+2%) | 4.9ms (-9%) | 4.2ms (-9%) | 4.5ms (-6%) | 16.5 MB |
| mono-100-1k | ferrflow | 31.8ms (+14%) | 30.5ms (+15%) | 5.4ms (+8%) | 4.7ms (+7%) | 4.8ms (+9%) | 16.7 MB |
| mono-50-5k | ferrflow | 92.6ms (-31%) | 91.7ms (-31%) | 4.4ms (-32%) | 2.7ms (-39%) | 3.2ms (-27%) | 16.9 MB |
| mono-large | ferrflow | 313.8ms (-18%) | 296.6ms (-21%) | 7.4ms (-22%) | 5.3ms (-16%) | 4.9ms (-20%) | 18.8 MB |
| mono-medium | ferrflow | 14.2ms (-30%) | 14.2ms (-24%) | 3.0ms (-40%) | 2.5ms (-40%) | 2.8ms (-36%) | 17.1 MB |
| mono-small | ferrflow | 7.8ms (-33%) | 7.8ms (-35%) | 3.6ms (-14%) | 3.0ms (-21%) | 3.5ms (-12%) | 14.7 MB |
| single | ferrflow | 8.5ms (-1%) | 8.0ms (-1%) | 4.0ms (+8%) | 3.4ms | 3.8ms (+12%) | 14.8 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 220.4ms (-4%) | 221.3ms (-3%) | 201.0ms (-5%) | 200.8ms (-4%) | 200.1ms (-6%) | 43.1 MB |
| mono-100-1k | ferrflow | 466.0ms (+131%) | 226.0ms (+13%) | 221.4ms (+25%) | 257.2ms (+45%) | 213.5ms (+21%) | 42.7 MB |
| mono-50-5k | ferrflow | 269.5ms (-26%) | 270.9ms (-26%) | 162.7ms (-26%) | 159.5ms (-28%) | 160.2ms (-26%) | 43.2 MB |
| mono-large | ferrflow | 528.2ms (-25%) | 545.6ms (-20%) | 188.1ms (-61%) | 192.8ms (-34%) | 189.2ms (-42%) | 43.6 MB |
| mono-medium | ferrflow | 178.9ms (-18%) | 180.0ms (-16%) | 164.5ms (-18%) | 162.7ms (-19%) | 161.3ms (-20%) | 43.3 MB |
| mono-small | ferrflow | 214.7ms (+18%) | 207.6ms (+14%) | 233.8ms (+33%) | 199.3ms (+13%) | 197.4ms (+11%) | 42.8 MB |
| single | ferrflow | 212.6ms | 212.9ms (-2%) | 211.4ms (+1%) | 211.7ms (-1%) | 209.4ms (-1%) | 42.7 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 687.3ms (+8%) | - | - | - | 103.8 MB |
| complex | commit-and-tag-version | - | 513.6ms (-2%) | - | - | - | 89.9 MB |
| complex | ferrflow | 308.7ms (-2%) | 311.7ms (-2%) | 294.7ms (-2%) | 294.5ms (-1%) | 295.2ms (-1%) | 89.7 MB |
| complex | semantic-release | - | 1571.8ms (+3%) | - | - | - | 140.9 MB |
| complex | standard-version | - | 600.2ms (+1%) | - | - | - | 94.4 MB |
| mono-100-1k | changesets | - | 602.7ms (+21%) | - | - | - | 108.3 MB |
| mono-100-1k | commit-and-tag-version | - | 443.2ms (+18%) | - | - | - | 90.1 MB |
| mono-100-1k | ferrflow | 255.5ms (+23%) | 253.4ms (+20%) | 227.9ms (+17%) | 228.7ms (+15%) | 226.4ms (+17%) | 89.7 MB |
| mono-100-1k | semantic-release | - | 1295.6ms (+24%) | - | - | - | 159.4 MB |
| mono-100-1k | standard-version | - | 524.5ms (+17%) | - | - | - | 96.6 MB |
| mono-50-5k | changesets | - | 501.7ms (-20%) | - | - | - | 104.9 MB |
| mono-50-5k | commit-and-tag-version | - | 500.8ms (-30%) | - | - | - | 112.1 MB |
| mono-50-5k | ferrflow | 298.7ms (-29%) | 297.0ms (-29%) | 191.6ms (-31%) | 190.3ms (-31%) | 195.5ms (-30%) | 90.0 MB |
| mono-50-5k | semantic-release | - | 1596.9ms (-28%) | - | - | - | 311.8 MB |
| mono-50-5k | standard-version | - | 753.9ms (-30%) | - | - | - | 123.1 MB |
| mono-large | changesets | - | 578.6ms (-12%) | - | - | - | 108.1 MB |
| mono-large | commit-and-tag-version | - | 685.8ms (-20%) | - | - | - | 128.4 MB |
| mono-large | ferrflow | 518.4ms (-17%) | 517.3ms (-16%) | 191.8ms (-18%) | 194.7ms (-17%) | 187.2ms (-19%) | 92.1 MB |
| mono-large | semantic-release | - | 2040.4ms (-18%) | - | - | - | 361.5 MB |
| mono-large | standard-version | - | 949.1ms (-28%) | - | - | - | 165.2 MB |
| mono-medium | changesets | - | 465.9ms (-33%) | - | - | - | 104.9 MB |
| mono-medium | commit-and-tag-version | - | 323.7ms (-40%) | - | - | - | 90.3 MB |
| mono-medium | ferrflow | 195.4ms (-37%) | 192.9ms (-38%) | 186.2ms (-37%) | 187.4ms (-36%) | 184.0ms (-38%) | 89.4 MB |
| mono-medium | semantic-release | - | 1021.7ms (-36%) | - | - | - | 140.3 MB |
| mono-medium | standard-version | - | 390.5ms (-38%) | - | - | - | 94.7 MB |
| mono-small | changesets | - | 525.8ms (-6%) | - | - | - | 103.6 MB |
| mono-small | commit-and-tag-version | - | 399.2ms (-16%) | - | - | - | 90.3 MB |
| mono-small | ferrflow | 238.4ms (-18%) | 241.5ms (-15%) | 232.5ms (-18%) | 231.5ms (-19%) | 233.3ms (-18%) | 89.9 MB |
| mono-small | semantic-release | - | 1164.2ms (-14%) | - | - | - | 132.9 MB |
| mono-small | standard-version | - | 438.0ms (-15%) | - | - | - | 90.2 MB |
| single | changesets | - | 575.5ms (+5%) | - | - | - | 101.8 MB |
| single | commit-and-tag-version | - | 518.1ms (+5%) | - | - | - | 90.2 MB |
| single | ferrflow | 312.4ms (-1%) | 314.5ms | 306.6ms (-1%) | 310.5ms | 308.8ms | 91.3 MB |
| single | semantic-release | - | 1508.8ms (-1%) | - | - | - | 136.1 MB |
| single | standard-version | - | 566.9ms (+2%) | - | - | - | 91.9 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.1 MB |
| release-please | 95.0 MB | — |
| semantic-release | 68.0 MB | — |
| standard-version | 21.0 MB | — |
v7.35.4
[7.35.4] - 2026-11-09
Bug Fixes
- fix(publish): read the pypi trusted publishing audience from the index (#1374)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 21.3ms (+2%) | 21.2ms (+2%) | 4.9ms | 4.3ms (+2%) | 4.3ms (-4%) | 16.0 MB |
| mono-100-1k | ferrflow | 42.2ms (+33%) | 38.9ms (+28%) | 6.7ms (+24%) | 5.7ms (+21%) | 5.5ms (+15%) | 16.8 MB |
| mono-50-5k | ferrflow | 98.2ms (+6%) | 98.4ms (+7%) | 5.8ms (+32%) | 3.5ms (+30%) | 3.6ms (+12%) | 16.9 MB |
| mono-large | ferrflow | 356.4ms (+14%) | 354.0ms (+19%) | 8.7ms (+18%) | 5.9ms (+11%) | 5.7ms (+16%) | 18.9 MB |
| mono-medium | ferrflow | 20.6ms (+45%) | 19.4ms (+37%) | 5.1ms (+70%) | 4.6ms (+84%) | 4.4ms (+57%) | 16.7 MB |
| mono-small | ferrflow | 10.7ms (+37%) | 9.7ms (+24%) | 4.0ms (+11%) | 3.8ms (+27%) | 3.7ms (+6%) | 14.8 MB |
| single | ferrflow | 8.5ms | 7.9ms (-1%) | 3.8ms (-5%) | 3.1ms (-9%) | 3.5ms (-8%) | 14.7 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 223.3ms (+1%) | 221.9ms | 206.3ms (+3%) | 203.5ms (+1%) | 205.5ms (+3%) | 43.5 MB |
| mono-100-1k | ferrflow | 262.0ms (-44%) | 263.2ms (+16%) | 226.3ms (+2%) | 227.9ms (-11%) | 217.5ms (+2%) | 43.4 MB |
| mono-50-5k | ferrflow | 288.6ms (+7%) | 286.4ms (+6%) | 196.5ms (+21%) | 192.3ms (+21%) | 193.0ms (+20%) | 43.1 MB |
| mono-large | ferrflow | 587.6ms (+11%) | 616.4ms (+13%) | 226.9ms (+21%) | 205.7ms (+7%) | 211.5ms (+12%) | 43.5 MB |
| mono-medium | ferrflow | 224.2ms (+25%) | 218.7ms (+21%) | 205.0ms (+25%) | 203.7ms (+25%) | 206.1ms (+28%) | 43.5 MB |
| mono-small | ferrflow | 218.1ms (+2%) | 215.1ms (+4%) | 209.2ms (-11%) | 209.2ms (+5%) | 211.0ms (+7%) | 43.6 MB |
| single | ferrflow | 204.3ms (-4%) | 206.6ms (-3%) | 199.6ms (-6%) | 197.3ms (-7%) | 199.6ms (-5%) | 43.4 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 629.4ms (-8%) | - | - | - | 106.4 MB |
| complex | commit-and-tag-version | - | 523.1ms (+2%) | - | - | - | 91.9 MB |
| complex | ferrflow | 316.1ms (+2%) | 314.3ms (+1%) | 299.3ms (+2%) | 297.4ms (+1%) | 297.0ms (+1%) | 92.1 MB |
| complex | semantic-release | - | 1534.0ms (-2%) | - | - | - | 142.1 MB |
| complex | standard-version | - | 606.6ms (+1%) | - | - | - | 93.7 MB |
| mono-100-1k | changesets | - | 740.6ms (+23%) | - | - | - | 109.6 MB |
| mono-100-1k | commit-and-tag-version | - | 604.0ms (+36%) | - | - | - | 90.9 MB |
| mono-100-1k | ferrflow | 352.1ms (+38%) | 351.4ms (+39%) | 313.2ms (+37%) | 310.1ms (+36%) | 319.0ms (+41%) | 92.5 MB |
| mono-100-1k | semantic-release | - | 1835.4ms (+42%) | - | - | - | 160.3 MB |
| mono-100-1k | standard-version | - | 771.2ms (+47%) | - | - | - | 96.3 MB |
| mono-50-5k | changesets | - | 492.2ms (-2%) | - | - | - | 105.4 MB |
| mono-50-5k | commit-and-tag-version | - | 603.2ms (+20%) | - | - | - | 113.1 MB |
| mono-50-5k | ferrflow | 320.5ms (+7%) | 327.9ms (+10%) | 227.0ms (+18%) | 225.6ms (+19%) | 225.6ms (+15%) | 90.8 MB |
| mono-50-5k | semantic-release | - | 1811.0ms (+13%) | - | - | - | 313.0 MB |
| mono-50-5k | standard-version | - | 868.7ms (+15%) | - | - | - | 123.3 MB |
| mono-large | changesets | - | 611.5ms (+6%) | - | - | - | 114.1 MB |
| mono-large | commit-and-tag-version | - | 814.8ms (+19%) | - | - | - | 128.5 MB |
| mono-large | ferrflow | 618.5ms (+19%) | 618.7ms (+20%) | 235.4ms (+23%) | 233.3ms (+20%) | 232.5ms (+24%) | 90.2 MB |
| mono-large | semantic-release | - | 2469.5ms (+21%) | - | - | - | 408.9 MB |
| mono-large | standard-version | - | 1290.1ms (+36%) | - | - | - | 161.8 MB |
| mono-medium | changesets | - | 632.0ms (+36%) | - | - | - | 104.0 MB |
| mono-medium | commit-and-tag-version | - | 540.8ms (+67%) | - | - | - | 90.3 MB |
| mono-medium | ferrflow | 315.6ms (+62%) | 309.4ms (+60%) | 299.4ms (+61%) | 294.3ms (+57%) | 296.5ms (+61%) | 90.6 MB |
| mono-medium | semantic-release | - | 1553.6ms (+52%) | - | - | - | 142.5 MB |
| mono-medium | standard-version | - | 633.5ms (+62%) | - | - | - | 94.1 MB |
| mono-small | changesets | - | 604.6ms (+15%) | - | - | - | 103.0 MB |
| mono-small | commit-and-tag-version | - | 513.0ms (+29%) | - | - | - | 90.5 MB |
| mono-small | ferrflow | 304.5ms (+28%) | 303.8ms (+26%) | 300.9ms (+29%) | 296.1ms (+28%) | 300.7ms (+29%) | 90.0 MB |
| mono-small | semantic-release | - | 1471.8ms (+26%) | - | - | - | 137.7 MB |
| mono-small | standard-version | - | 567.4ms (+30%) | - | - | - | 92.4 MB |
| single | changesets | - | 542.3ms (-6%) | - | - | - | 103.1 MB |
| single | commit-and-tag-version | - | 491.0ms (-5%) | - | - | - | 90.1 MB |
| single | ferrflow | 296.7ms (-5%) | 295.4ms (-6%) | 294.1ms (-4%) | 292.6ms (-6%) | 293.6ms (-5%) | 89.6 MB |
| single | semantic-release | - | 1445.6ms (-4%) | - | - | - | 136.8 MB |
| single | standard-version | - | 554.2ms (-2%) | - | - | - | 92.6 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.1 MB |
| release-please | 95.0 MB | — |
| semantic-release | 68.0 MB | — |
| standard-version | 21.0 MB | — |
v7.35.3
[7.35.3] - 2026-10-31
Bug Fixes
- fix(git): ignore prefix-sharing tags that are not versions (#1363)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 21.0ms (+21%) | 19.9ms (+8%) | 4.9ms (+26%) | 4.3ms (+34%) | 4.2ms (+17%) | 16.7 MB |
| mono-100-1k | ferrflow | 38.8ms (+40%) | 36.6ms (+41%) | 5.0ms (+2%) | 4.2ms (-11%) | 4.4ms (+2%) | 17.0 MB |
| mono-50-5k | ferrflow | 81.5ms (-34%) | 81.6ms (-33%) | 5.4ms (-8%) | 3.9ms (+8%) | 3.7ms (-7%) | 16.9 MB |
| mono-large | ferrflow | 449.8ms (+2%) | 449.5ms (+2%) | 10.5ms (-1%) | 6.5ms (+5%) | 5.8ms (-2%) | 18.9 MB |
| mono-medium | ferrflow | 20.5ms (+31%) | 19.6ms (+41%) | 4.9ms (+4%) | 4.1ms | 4.4ms (+7%) | 16.7 MB |
| mono-small | ferrflow | 8.2ms (+11%) | 7.6ms (+7%) | 3.5ms (+30%) | 2.7ms (+8%) | 3.1ms (+19%) | 14.9 MB |
| single | ferrflow | 6.9ms (-23%) | 6.1ms (-27%) | 3.0ms (-21%) | 2.6ms (-24%) | 2.8ms (-18%) | 14.8 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 223.2ms (+15%) | 220.3ms (+15%) | 201.2ms (+8%) | 202.6ms (+7%) | 201.7ms (+10%) | 43.3 MB |
| mono-100-1k | ferrflow | 201.8ms (-5%) | 201.3ms (-5%) | 164.4ms (-14%) | 164.3ms (-14%) | 162.7ms (-14%) | 42.8 MB |
| mono-50-5k | ferrflow | 263.3ms (-10%) | 252.1ms (-13%) | 176.3ms (+8%) | 176.2ms (+10%) | 176.5ms (+8%) | 43.8 MB |
| mono-large | ferrflow | 698.4ms (+1%) | 688.7ms | 207.5ms | 205.4ms (+1%) | 203.2ms | 42.7 MB |
| mono-medium | ferrflow | 222.8ms (+8%) | 220.2ms (+8%) | 203.1ms (+4%) | 205.2ms (+5%) | 202.4ms (+5%) | 43.1 MB |
| mono-small | ferrflow | 219.2ms (+33%) | 203.3ms (+22%) | 207.8ms (+31%) | 218.3ms (+39%) | 195.4ms (+24%) | 43.3 MB |
| single | ferrflow | 197.5ms (-8%) | 189.8ms (-13%) | 194.6ms (-8%) | 190.3ms (-11%) | 192.8ms (-9%) | 43.9 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 611.4ms (+22%) | - | - | - | 104.2 MB |
| complex | commit-and-tag-version | - | 511.7ms (+30%) | - | - | - | 90.0 MB |
| complex | ferrflow | 311.4ms (+29%) | 309.4ms (+29%) | 294.0ms (+28%) | 293.5ms (+29%) | 292.9ms (+29%) | 90.0 MB |
| complex | semantic-release | - | 1497.3ms (+25%) | - | - | - | 144.2 MB |
| complex | standard-version | - | 599.6ms (+28%) | - | - | - | 94.5 MB |
| mono-100-1k | changesets | - | 639.3ms (+30%) | - | - | - | 109.2 MB |
| mono-100-1k | commit-and-tag-version | - | 486.7ms (+27%) | - | - | - | 91.9 MB |
| mono-100-1k | ferrflow | 296.5ms (+30%) | 297.9ms (+31%) | 262.4ms (+23%) | 260.3ms (+27%) | 260.8ms (+25%) | 92.3 MB |
| mono-100-1k | semantic-release | - | 1488.7ms (+33%) | - | - | - | 160.3 MB |
| mono-100-1k | standard-version | - | 615.9ms (+43%) | - | - | - | 95.9 MB |
| mono-50-5k | changesets | - | 400.1ms (-32%) | - | - | - | 104.3 MB |
| mono-50-5k | commit-and-tag-version | - | 497.1ms (-30%) | - | - | - | 114.1 MB |
| mono-50-5k | ferrflow | 253.1ms (-34%) | 248.3ms (-36%) | 174.2ms (-33%) | 174.2ms (-33%) | 173.8ms (-33%) | 89.5 MB |
| mono-50-5k | semantic-release | - | 1377.6ms (-36%) | - | - | - | 275.1 MB |
| mono-50-5k | standard-version | - | 642.0ms (-40%) | - | - | - | 122.9 MB |
| mono-large | changesets | - | 815.0ms (+2%) | - | - | - | 111.6 MB |
| mono-large | commit-and-tag-version | - | 1128.8ms (+3%) | - | - | - | 130.3 MB |
| mono-large | ferrflow | 815.5ms (+4%) | 838.3ms (+8%) | 309.6ms (+4%) | 300.1ms (+3%) | 322.9ms (+10%) | 89.5 MB |
| mono-large | semantic-release | - | 3472.6ms (+7%) | - | - | - | 396.6 MB |
| mono-large | standard-version | - | 1916.7ms (+6%) | - | - | - | 162.1 MB |
| mono-medium | changesets | - | 697.4ms (+55%) | - | - | - | 104.2 MB |
| mono-medium | commit-and-tag-version | - | 534.7ms (+50%) | - | - | - | 90.0 MB |
| mono-medium | ferrflow | 319.3ms (+50%) | 311.1ms (+44%) | 295.3ms (+42%) | 293.5ms (+43%) | 303.5ms (+48%) | 89.6 MB |
| mono-medium | semantic-release | - | 1616.6ms (+52%) | - | - | - | 144.3 MB |
| mono-medium | standard-version | - | 634.7ms (+52%) | - | - | - | 96.2 MB |
| mono-small | changesets | - | 450.1ms (-2%) | - | - | - | 103.7 MB |
| mono-small | commit-and-tag-version | - | 385.1ms (+11%) | - | - | - | 89.9 MB |
| mono-small | ferrflow | 229.9ms (+10%) | 230.7ms (+9%) | 226.7ms (+10%) | 227.5ms (+11%) | 227.5ms (+11%) | 90.2 MB |
| mono-small | semantic-release | - | 1080.4ms (+5%) | - | - | - | 132.4 MB |
| mono-small | standard-version | - | 428.7ms (+10%) | - | - | - | 90.8 MB |
| single | changesets | - | 432.8ms (-21%) | - | - | - | 102.9 MB |
| single | commit-and-tag-version | - | 379.8ms (-26%) | - | - | - | 89.8 MB |
| single | ferrflow | 229.8ms (-25%) | 229.8ms (-26%) | 228.2ms (-25%) | 226.2ms (-25%) | 228.8ms (-24%) | 90.4 MB |
| single | semantic-release | - | 1099.3ms (-27%) | - | - | - | 133.9 MB |
| single | standard-version | - | 424.6ms (-25%) | - | - | - | 91.9 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.0 MB |
| release-please | 95.0 MB | — |
| semantic-release | 68.0 MB | — |
| standard-version | 21.0 MB | — |
v7.35.2
[7.35.2] - 2026-10-31
Bug Fixes
- fix(preview): only update preview comments written by the token's own identity (#1361)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 20.5ms (+18%) | 19.0ms (+12%) | 4.6ms (+2%) | 3.8ms | 4.2ms (+14%) | 16.7 MB |
| mono-100-1k | ferrflow | 41.5ms (+4%) | 38.9ms (-7%) | 6.5ms (+14%) | 5.5ms (+12%) | 5.2ms (+11%) | 16.7 MB |
| mono-50-5k | ferrflow | 123.6ms (+64%) | 123.0ms (+62%) | 7.1ms (+39%) | 4.6ms (+39%) | 4.5ms (+36%) | 16.7 MB |
| mono-large | ferrflow | 454.6ms (+27%) | 455.1ms (+27%) | 10.5ms (+22%) | 6.4ms (+10%) | 6.5ms (+25%) | 18.7 MB |
| mono-medium | ferrflow | 19.8ms (+27%) | 18.5ms (+34%) | 5.4ms (+23%) | 4.5ms (+22%) | 4.6ms (+21%) | 16.7 MB |
| mono-small | ferrflow | 10.0ms (+3%) | 9.5ms (+1%) | 3.9ms | 3.4ms (-8%) | 3.6ms | 14.6 MB |
| single | ferrflow | 8.5ms | 8.6ms (-3%) | 4.0ms (+8%) | 3.4ms (+6%) | 3.8ms (+9%) | 13.7 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 213.1ms (-11%) | 209.4ms (-7%) | 192.6ms (-29%) | 193.1ms (-28%) | 193.7ms (-22%) | 42.3 MB |
| mono-100-1k | ferrflow | 253.6ms (+6%) | 250.0ms (+6%) | 214.9ms (+5%) | 213.6ms (+5%) | 215.1ms (+6%) | 42.7 MB |
| mono-50-5k | ferrflow | 337.6ms (+30%) | 334.2ms (+34%) | 210.9ms (+22%) | 210.6ms (+21%) | 209.0ms (+21%) | 43.8 MB |
| mono-large | ferrflow | 703.0ms (+10%) | 708.7ms (+22%) | 212.9ms (+8%) | 208.1ms (+4%) | 208.3ms (+8%) | 42.4 MB |
| mono-medium | ferrflow | 229.3ms (+19%) | 225.6ms (+20%) | 209.8ms (+17%) | 205.3ms (+16%) | 207.6ms (+14%) | 43.2 MB |
| mono-small | ferrflow | 213.1ms (+1%) | 212.1ms | 205.3ms (-2%) | 205.4ms (-1%) | 206.2ms | 43.2 MB |
| single | ferrflow | 212.2ms (+4%) | 213.5ms (+4%) | 215.1ms (+6%) | 214.8ms (+8%) | 213.0ms (+4%) | 43.6 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 607.8ms (-1%) | - | - | - | 103.2 MB |
| complex | commit-and-tag-version | - | 507.3ms (+24%) | - | - | - | 89.1 MB |
| complex | ferrflow | 299.7ms (+20%) | 300.2ms (+21%) | 284.7ms (+23%) | 284.9ms (+24%) | 285.1ms (+22%) | 90.4 MB |
| complex | semantic-release | - | 1473.6ms (+15%) | - | - | - | 142.1 MB |
| complex | standard-version | - | 580.2ms (+25%) | - | - | - | 94.4 MB |
| mono-100-1k | changesets | - | 719.7ms (+4%) | - | - | - | 106.7 MB |
| mono-100-1k | commit-and-tag-version | - | 636.3ms (+6%) | - | - | - | 89.5 MB |
| mono-100-1k | ferrflow | 347.9ms (+5%) | 347.5ms (+6%) | 312.7ms (+6%) | 311.8ms (+6%) | 310.4ms (+6%) | 90.3 MB |
| mono-100-1k | semantic-release | - | 1794.9ms (+7%) | - | - | - | 161.0 MB |
| mono-100-1k | standard-version | - | 756.9ms (+7%) | - | - | - | 95.8 MB |
| mono-50-5k | changesets | - | 654.3ms (+57%) | - | - | - | 104.4 MB |
| mono-50-5k | commit-and-tag-version | - | 1033.8ms (+85%) | - | - | - | 112.9 MB |
| mono-50-5k | ferrflow | 429.7ms (+63%) | 431.6ms (+60%) | 306.4ms (+60%) | 303.2ms (+61%) | 305.2ms (+65%) | 89.0 MB |
| mono-50-5k | semantic-release | - | 2535.0ms (+75%) | - | - | - | 277.8 MB |
| mono-50-5k | standard-version | - | 1284.8ms (+83%) | - | - | - | 122.9 MB |
| mono-large | changesets | - | 791.6ms (+29%) | - | - | - | 115.2 MB |
| mono-large | commit-and-tag-version | - | 1512.2ms (+39%) | - | - | - | 128.1 MB |
| mono-large | ferrflow | 777.0ms (+27%) | 788.6ms (+29%) | 298.8ms (+29%) | 292.5ms (+28%) | 293.1ms (+28%) | 92.1 MB |
| mono-large | semantic-release | - | 3277.9ms (+32%) | - | - | - | 398.2 MB |
| mono-large | standard-version | - | 1880.0ms (+40%) | - | - | - | 161.2 MB |
| mono-medium | changesets | - | 624.5ms (+46%) | - | - | - | 104.4 MB |
| mono-medium | commit-and-tag-version | - | 554.9ms (+53%) | - | - | - | 90.0 MB |
| mono-medium | ferrflow | 315.0ms (+56%) | 315.4ms (+52%) | 303.6ms (+59%) | 301.1ms (+61%) | 303.7ms (+53%) | 91.9 MB |
| mono-medium | semantic-release | - | 1601.9ms (+63%) | - | - | - | 141.0 MB |
| mono-medium | standard-version | - | 658.7ms (+65%) | - | - | - | 95.5 MB |
| mono-small | changesets | - | 576.2ms (-3%) | - | - | - | 103.1 MB |
| mono-small | commit-and-tag-version | - | 508.0ms (+1%) | - | - | - | 89.6 MB |
| mono-small | ferrflow | 304.5ms (-1%) | 303.3ms | 300.9ms (+1%) | 300.3ms | 295.9ms (-2%) | 90.1 MB |
| mono-small | semantic-release | - | 1481.5ms | - | - | - | 134.2 MB |
| mono-small | standard-version | - | 574.2ms (+4%) | - | - | - | 91.2 MB |
| single | changesets | - | 555.3ms (+5%) | - | - | - | 102.6 MB |
| single | commit-and-tag-version | - | 519.8ms (+5%) | - | - | - | 89.9 MB |
| single | ferrflow | 323.6ms (+8%) | 324.9ms (+9%) | 319.1ms (+8%) | 321.0ms (+9%) | 319.2ms (+8%) | 89.7 MB |
| single | semantic-release | - | 1535.2ms (+5%) | - | - | - | 134.8 MB |
| single | standard-version | - | 589.1ms (+6%) | - | - | - | 91.8 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.0 MB |
| release-please | 95.0 MB | — |
| semantic-release | 69.0 MB | — |
| standard-version | 21.0 MB | — |
v7.35.1
[7.35.1] - 2026-10-28
Bug Fixes
- fix(git): keep git commands off an inherited GIT_DIR (#1358)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 21.0ms (+44%) | 19.9ms (+40%) | 5.0ms (+19%) | 4.3ms (+16%) | 4.4ms (+16%) | 16.8 MB |
| mono-100-1k | ferrflow | 39.2ms (-2%) | 37.0ms | 6.0ms (+3%) | 5.1ms (+4%) | 4.6ms (-6%) | 16.7 MB |
| mono-50-5k | ferrflow | 103.9ms (-16%) | 102.8ms (-16%) | 4.6ms (-28%) | 2.8ms (-33%) | 3.1ms (-30%) | 16.9 MB |
| mono-large | ferrflow | 443.0ms (+1%) | 441.0ms (+2%) | 10.2ms (-18%) | 6.5ms (+23%) | 5.7ms (+8%) | 18.9 MB |
| mono-medium | ferrflow | 20.6ms (+24%) | 19.3ms (+30%) | 4.3ms (+10%) | 3.9ms (+15%) | 4.1ms (+14%) | 17.0 MB |
| mono-small | ferrflow | 9.4ms (-5%) | 9.3ms (+1%) | 3.8ms (-5%) | 3.3ms (-11%) | 3.5ms (-3%) | 13.8 MB |
| single | ferrflow | 8.4ms (-5%) | 8.9ms (+5%) | 3.6ms (-8%) | 3.4ms (-6%) | 3.7ms (+9%) | 14.7 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 221.2ms (+25%) | 222.1ms (+25%) | 203.7ms (+15%) | 203.5ms (+17%) | 203.9ms (+22%) | 42.2 MB |
| mono-100-1k | ferrflow | 237.4ms (+1%) | 236.4ms | 201.3ms (-1%) | 199.1ms (-2%) | 200.1ms (-2%) | 43.1 MB |
| mono-50-5k | ferrflow | 299.4ms (-8%) | 298.2ms (-9%) | 175.2ms (-15%) | 173.1ms (-16%) | 174.0ms (-15%) | 42.9 MB |
| mono-large | ferrflow | 682.3ms (-1%) | 682.1ms | 205.7ms (+23%) | 201.5ms (+22%) | 201.8ms (+22%) | 43.2 MB |
| mono-medium | ferrflow | 232.4ms (+18%) | 230.6ms (+18%) | 217.5ms (+17%) | 216.4ms (+16%) | 216.2ms (+17%) | 43.5 MB |
| mono-small | ferrflow | 204.3ms (-3%) | 206.5ms (-1%) | 201.8ms (-2%) | 201.2ms (-1%) | 200.5ms (-2%) | 42.8 MB |
| single | ferrflow | 204.3ms (-6%) | 204.5ms (-5%) | 199.8ms (-4%) | 196.1ms (-7%) | 197.0ms (-6%) | 42.9 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 629.3ms (+45%) | - | - | - | 106.8 MB |
| complex | commit-and-tag-version | - | 524.4ms (+56%) | - | - | - | 91.7 MB |
| complex | ferrflow | 309.4ms (+47%) | 311.1ms (+49%) | 294.5ms (+51%) | 294.3ms (+50%) | 294.2ms (+53%) | 91.2 MB |
| complex | semantic-release | - | 1516.6ms (+73%) | - | - | - | 141.1 MB |
| complex | standard-version | - | 611.6ms (+78%) | - | - | - | 94.5 MB |
| mono-100-1k | changesets | - | 737.8ms (+9%) | - | - | - | 106.0 MB |
| mono-100-1k | commit-and-tag-version | - | 605.1ms (+1%) | - | - | - | 92.0 MB |
| mono-100-1k | ferrflow | 329.9ms (+1%) | 329.2ms (+1%) | 293.4ms | 294.2ms | 293.3ms (+1%) | 91.2 MB |
| mono-100-1k | semantic-release | - | 1730.0ms (+4%) | - | - | - | 160.6 MB |
| mono-100-1k | standard-version | - | 717.9ms (+1%) | - | - | - | 96.8 MB |
| mono-50-5k | changesets | - | 504.3ms (-21%) | - | - | - | 104.4 MB |
| mono-50-5k | commit-and-tag-version | - | 735.3ms (-26%) | - | - | - | 113.4 MB |
| mono-50-5k | ferrflow | 332.7ms (-19%) | 333.1ms (-18%) | 211.1ms (-27%) | 212.9ms (-25%) | 215.3ms (-25%) | 89.9 MB |
| mono-50-5k | semantic-release | - | 1753.8ms (-26%) | - | - | - | 276.4 MB |
| mono-50-5k | standard-version | - | 877.4ms (-28%) | - | - | - | 125.7 MB |
| mono-large | changesets | - | 779.2ms (+6%) | - | - | - | 115.2 MB |
| mono-large | commit-and-tag-version | - | 1514.9ms (+14%) | - | - | - | 129.4 MB |
| mono-large | ferrflow | 779.0ms | 800.2ms (+3%) | 306.7ms (+14%) | 298.8ms (+14%) | 303.3ms (+14%) | 91.8 MB |
| mono-large | semantic-release | - | 3282.0ms (+10%) | - | - | - | 397.1 MB |
| mono-large | standard-version | - | 1869.0ms (+13%) | - | - | - | 161.6 MB |
| mono-medium | changesets | - | 542.2ms (+14%) | - | - | - | 103.9 MB |
| mono-medium | commit-and-tag-version | - | 467.0ms (+12%) | - | - | - | 90.0 MB |
| mono-medium | ferrflow | 267.9ms (+13%) | 268.6ms (+14%) | 252.0ms (+12%) | 250.9ms (+12%) | 250.9ms (+11%) | 89.9 MB |
| mono-medium | semantic-release | - | 1274.6ms (+11%) | - | - | - | 142.9 MB |
| mono-medium | standard-version | - | 529.9ms (+12%) | - | - | - | 96.4 MB |
| mono-small | changesets | - | 579.5ms (-10%) | - | - | - | 102.8 MB |
| mono-small | commit-and-tag-version | - | 490.0ms (-3%) | - | - | - | 89.2 MB |
| mono-small | ferrflow | 291.4ms (-3%) | 290.4ms (-3%) | 289.3ms (-6%) | 290.3ms (-4%) | 286.2ms (-4%) | 90.5 MB |
| mono-small | semantic-release | - | 1500.6ms (-4%) | - | - | - | 137.2 MB |
| mono-small | standard-version | - | 548.2ms (-6%) | - | - | - | 92.2 MB |
| single | changesets | - | 542.5ms (-10%) | - | - | - | 102.7 MB |
| single | commit-and-tag-version | - | 491.6ms (-7%) | - | - | - | 90.0 MB |
| single | ferrflow | 298.6ms (-7%) | 295.9ms (-6%) | 293.3ms (-5%) | 289.7ms (-6%) | 290.6ms (-7%) | 89.1 MB |
| single | semantic-release | - | 1473.7ms (-3%) | - | - | - | 135.3 MB |
| single | standard-version | - | 572.8ms | - | - | - | 92.4 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.0 MB |
| release-please | 95.0 MB | — |
| semantic-release | 69.0 MB | — |
| standard-version | 21.0 MB | — |
v7.35.0
[7.35.0] - 2026-10-27
Features
- feat(cli): add snapshot command for PR preview versions (#1356)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 15.0ms (+10%) | 13.9ms (+2%) | 3.9ms (+3%) | 3.5ms | 3.7ms (+16%) | 16.9 MB |
| mono-100-1k | ferrflow | 41.0ms (+3%) | 37.7ms (+1%) | 6.5ms (+14%) | 5.5ms (+10%) | 5.6ms (+12%) | 15.9 MB |
| mono-50-5k | ferrflow | 118.7ms (+61%) | 117.1ms (+61%) | 6.8ms (+51%) | 4.0ms (+21%) | 4.3ms (+26%) | 15.9 MB |
| mono-large | ferrflow | 274.4ms (-41%) | 273.5ms (-40%) | 7.0ms (-34%) | 4.8ms (-31%) | 4.4ms (-32%) | 17.9 MB |
| mono-medium | ferrflow | 19.2ms (-5%) | 18.6ms (+1%) | 5.0ms (+2%) | 3.8ms (-3%) | 3.9ms (-11%) | 15.9 MB |
| mono-small | ferrflow | 9.3ms (-1%) | 9.1ms | 3.8ms (+3%) | 3.2ms (+7%) | 3.3ms (-6%) | 14.1 MB |
| single | ferrflow | 6.4ms (-23%) | 6.3ms (-11%) | 2.9ms (-19%) | 2.7ms (-13%) | 2.7ms (-21%) | 14.2 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 181.0ms (+9%) | 181.7ms (+3%) | 183.5ms (+7%) | 183.8ms (+6%) | 173.2ms (+4%) | 42.3 MB |
| mono-100-1k | ferrflow | 229.6ms (+2%) | 228.4ms (+2%) | 190.5ms (+3%) | 192.6ms (+2%) | 191.1ms (+3%) | 45.9 MB |
| mono-50-5k | ferrflow | 314.5ms (+37%) | 309.1ms (+36%) | 188.2ms (+20%) | 186.9ms (+21%) | 187.3ms (+19%) | 48.6 MB |
| mono-large | ferrflow | 458.5ms (-34%) | 462.8ms (-34%) | 161.3ms (-21%) | 159.7ms (-19%) | 156.3ms (-20%) | 48.4 MB |
| mono-medium | ferrflow | 202.1ms (-6%) | 204.8ms (-4%) | 189.0ms (-5%) | 189.0ms (-5%) | 187.2ms (-5%) | 46.8 MB |
| mono-small | ferrflow | 191.8ms (-1%) | 191.7ms (-1%) | 187.7ms (+1%) | 187.3ms (+2%) | 188.4ms (+1%) | 46.4 MB |
| single | ferrflow | 182.4ms (-15%) | 187.9ms (-11%) | 197.0ms (-4%) | 174.2ms (-18%) | 177.8ms (-16%) | 46.7 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 429.1ms (+16%) | - | - | - | 104.6 MB |
| complex | commit-and-tag-version | - | 324.7ms (+3%) | - | - | - | 89.8 MB |
| complex | ferrflow | 204.4ms (+6%) | 204.5ms (+8%) | 197.5ms (+9%) | 198.5ms (+9%) | 195.5ms (+8%) | 89.7 MB |
| complex | semantic-release | - | 959.6ms (+11%) | - | - | - | 141.0 MB |
| complex | standard-version | - | 373.5ms (+9%) | - | - | - | 94.9 MB |
| mono-100-1k | changesets | - | 710.2ms (+5%) | - | - | - | 107.2 MB |
| mono-100-1k | commit-and-tag-version | - | 604.2ms (+3%) | - | - | - | 90.9 MB |
| mono-100-1k | ferrflow | 330.6ms (+3%) | 334.0ms (+5%) | 292.7ms (+1%) | 299.3ms (+4%) | 298.1ms (+4%) | 90.7 MB |
| mono-100-1k | semantic-release | - | 1698.8ms (+3%) | - | - | - | 161.0 MB |
| mono-100-1k | standard-version | - | 714.0ms (+2%) | - | - | - | 96.9 MB |
| mono-50-5k | changesets | - | 610.8ms (+58%) | - | - | - | 104.5 MB |
| mono-50-5k | commit-and-tag-version | - | 974.2ms (+86%) | - | - | - | 114.6 MB |
| mono-50-5k | ferrflow | 402.2ms (+66%) | 400.3ms (+66%) | 285.0ms (+68%) | 283.6ms (+69%) | 282.8ms (+69%) | 90.7 MB |
| mono-50-5k | semantic-release | - | 2397.5ms (+82%) | - | - | - | 276.0 MB |
| mono-50-5k | standard-version | - | 1222.8ms (+96%) | - | - | - | 124.9 MB |
| mono-large | changesets | - | 470.8ms (-44%) | - | - | - | 109.5 MB |
| mono-large | commit-and-tag-version | - | 759.0ms (-50%) | - | - | - | 128.3 MB |
| mono-large | ferrflow | 476.5ms (-40%) | 475.0ms (-41%) | 173.5ms (-42%) | 168.9ms (-44%) | 169.5ms (-43%) | 90.9 MB |
| mono-large | semantic-release | - | 1773.2ms (-48%) | - | - | - | 365.7 MB |
| mono-large | standard-version | - | 925.8ms (-51%) | - | - | - | 166.2 MB |
| mono-medium | changesets | - | 629.7ms (-1%) | - | - | - | 106.6 MB |
| mono-medium | commit-and-tag-version | - | 531.4ms (-4%) | - | - | - | 92.4 MB |
| mono-medium | ferrflow | 309.4ms (-1%) | 307.4ms | 297.0ms | 295.6ms (+1%) | 295.7ms (+1%) | 92.5 MB |
| mono-medium | semantic-release | - | 1524.5ms (-3%) | - | - | - | 142.8 MB |
| mono-medium | standard-version | - | 612.6ms (-4%) | - | - | - | 96.0 MB |
| mono-small | changesets | - | 555.0ms (-1%) | - | - | - | 103.3 MB |
| mono-small | commit-and-tag-version | - | 483.7ms | - | - | - | 91.0 MB |
| mono-small | ferrflow | 289.1ms (-1%) | 288.6ms | 284.4ms | 285.0ms | 284.1ms | 91.0 MB |
| mono-small | semantic-release | - | 1423.5ms | - | - | - | 132.1 MB |
| mono-small | standard-version | - | 549.5ms (+2%) | - | - | - | 92.6 MB |
| single | changesets | - | 420.1ms (-20%) | - | - | - | 103.8 MB |
| single | commit-and-tag-version | - | 376.9ms (-10%) | - | - | - | 90.6 MB |
| single | ferrflow | 232.8ms (-11%) | 233.7ms (-9%) | 228.4ms (-10%) | 226.2ms (-12%) | 227.2ms (-11%) | 90.6 MB |
| single | semantic-release | - | 1100.8ms (-14%) | - | - | - | 135.8 MB |
| single | standard-version | - | 430.1ms (-9%) | - | - | - | 92.9 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.0 MB |
| release-please | 95.0 MB | — |
| semantic-release | 69.0 MB | — |
| standard-version | 21.0 MB | — |
v7.34.1
[7.34.1] - 2026-10-26
Bug Fixes
- fix(versioning): read sequential and two-part release tags as releases (#1351)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 22.6ms (+33%) | 20.0ms (+18%) | 4.5ms | 4.0ms (-5%) | 4.2ms (-2%) | 15.9 MB |
| mono-100-1k | ferrflow | 40.2ms (-2%) | 38.2ms (-4%) | 6.2ms (+7%) | 5.0ms (-6%) | 5.0ms (+2%) | 15.7 MB |
| mono-50-5k | ferrflow | 124.0ms (+4%) | 122.1ms (+4%) | 6.2ms (-11%) | 4.1ms (-7%) | 4.3ms | 15.8 MB |
| mono-large | ferrflow | 318.1ms (-31%) | 297.2ms (-34%) | 9.1ms (-13%) | 5.6ms (-20%) | 5.3ms (-20%) | 18.0 MB |
| mono-medium | ferrflow | 19.8ms (+25%) | 19.8ms (+33%) | 5.2ms (+16%) | 4.4ms (+16%) | 4.8ms (+26%) | 15.6 MB |
| mono-small | ferrflow | 10.4ms (+4%) | 9.4ms | 4.2ms (+2%) | 3.6ms (+3%) | 3.6ms (-10%) | 13.9 MB |
| single | ferrflow | 5.5ms (-36%) | 5.7ms (-38%) | 3.3ms (-21%) | 2.6ms (-28%) | 3.1ms (-18%) | 13.9 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 217.6ms (+12%) | 222.0ms (+13%) | 204.7ms (+3%) | 208.0ms (-10%) | 206.6ms (+5%) | 47.4 MB |
| mono-100-1k | ferrflow | 232.6ms (+1%) | 229.2ms (-1%) | 194.6ms (-1%) | 194.9ms | 192.4ms (-2%) | 48.5 MB |
| mono-50-5k | ferrflow | 297.2ms (-4%) | 297.6ms (-3%) | 161.6ms (-15%) | 165.1ms (-11%) | 162.5ms (-13%) | 48.7 MB |
| mono-large | ferrflow | 512.9ms (-25%) | 503.1ms (-26%) | 166.1ms (-16%) | 173.6ms (-9%) | 166.3ms (-13%) | 46.8 MB |
| mono-medium | ferrflow | 211.0ms (-2%) | 208.9ms (+5%) | 192.6ms (+5%) | 195.3ms (+7%) | 190.4ms (+2%) | 46.8 MB |
| mono-small | ferrflow | 198.9ms (+1%) | 225.0ms (+15%) | 191.8ms (+1%) | 219.3ms (+13%) | 197.4ms (+2%) | 49.0 MB |
| single | ferrflow | 169.3ms (-17%) | 167.3ms (-18%) | 172.1ms (-14%) | 170.6ms (-15%) | 166.5ms (-17%) | 47.3 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 548.7ms (+6%) | - | - | - | 104.8 MB |
| complex | commit-and-tag-version | - | 440.6ms (+5%) | - | - | - | 91.3 MB |
| complex | ferrflow | 267.7ms (+5%) | 267.1ms (+6%) | 249.9ms (+6%) | 250.8ms (+6%) | 251.1ms (+4%) | 90.7 MB |
| complex | semantic-release | - | 1268.9ms (+6%) | - | - | - | 144.1 MB |
| complex | standard-version | - | 502.9ms (+7%) | - | - | - | 95.3 MB |
| mono-100-1k | changesets | - | 672.9ms (-2%) | - | - | - | 107.4 MB |
| mono-100-1k | commit-and-tag-version | - | 584.1ms (-2%) | - | - | - | 90.7 MB |
| mono-100-1k | ferrflow | 336.0ms (+3%) | 335.8ms (+3%) | 300.5ms (+4%) | 297.8ms (+2%) | 300.8ms (+3%) | 90.9 MB |
| mono-100-1k | semantic-release | - | 1715.1ms (+1%) | - | - | - | 160.4 MB |
| mono-100-1k | standard-version | - | 727.5ms | - | - | - | 96.6 MB |
| mono-50-5k | changesets | - | 584.8ms (-7%) | - | - | - | 106.8 MB |
| mono-50-5k | commit-and-tag-version | - | 886.0ms (-10%) | - | - | - | 115.9 MB |
| mono-50-5k | ferrflow | 393.3ms (-3%) | 391.6ms (-4%) | 265.6ms (-7%) | 263.1ms (-8%) | 260.8ms (-10%) | 92.9 MB |
| mono-50-5k | semantic-release | - | 2208.2ms (-8%) | - | - | - | 275.4 MB |
| mono-50-5k | standard-version | - | 1091.3ms (-10%) | - | - | - | 124.8 MB |
| mono-large | changesets | - | 503.0ms (-39%) | - | - | - | 106.6 MB |
| mono-large | commit-and-tag-version | - | 836.4ms (-44%) | - | - | - | 130.0 MB |
| mono-large | ferrflow | 518.7ms (-33%) | 512.6ms (-33%) | 192.8ms (-35%) | 184.4ms (-37%) | 185.0ms (-36%) | 91.0 MB |
| mono-large | semantic-release | - | 1862.6ms (-44%) | - | - | - | 353.0 MB |
| mono-large | standard-version | - | 967.6ms (-49%) | - | - | - | 164.5 MB |
| mono-medium | changesets | - | 630.3ms (+26%) | - | - | - | 104.3 MB |
| mono-medium | commit-and-tag-version | - | 548.7ms (+32%) | - | - | - | 92.5 MB |
| mono-medium | ferrflow | 304.1ms (+25%) | 297.8ms (+23%) | 287.7ms (+25%) | 283.9ms (+24%) | 285.3ms (+23%) | 92.9 MB |
| mono-medium | semantic-release | - | 1509.5ms (+25%) | - | - | - | 140.8 MB |
| mono-medium | standard-version | - | 617.0ms (+27%) | - | - | - | 95.6 MB |
| mono-small | changesets | - | 616.7ms (+6%) | - | - | - | 103.7 MB |
| mono-small | commit-and-tag-version | - | 513.9ms (+3%) | - | - | - | 91.1 MB |
| mono-small | ferrflow | 304.6ms (+3%) | 302.3ms (+2%) | 297.7ms (+3%) | 300.9ms (+3%) | 297.7ms (+1%) | 90.9 MB |
| mono-small | semantic-release | - | 1524.4ms (+7%) | - | - | - | 134.4 MB |
| mono-small | standard-version | - | 565.3ms | - | - | - | 93.0 MB |
| single | changesets | - | 373.5ms (-33%) | - | - | - | 103.9 MB |
| single | commit-and-tag-version | - | 305.0ms (-41%) | - | - | - | 91.2 MB |
| single | ferrflow | 194.1ms (-37%) | 190.8ms (-40%) | 189.4ms (-39%) | 186.4ms (-40%) | 191.5ms (-38%) | 90.7 MB |
| single | semantic-release | - | 867.9ms (-43%) | - | - | - | 135.8 MB |
| single | standard-version | - | 338.7ms (-43%) | - | - | - | 91.5 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.0 MB |
| release-please | 95.0 MB | — |
| semantic-release | 69.0 MB | — |
| standard-version | 21.0 MB | — |
v7.34.0
[7.34.0] - 2026-10-26
Features
- feat(action): expose release outputs (#1353)
Performance
Binary
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 17.8ms (-19%) | 16.7ms (-22%) | 4.2ms (-22%) | 3.8ms (-22%) | 4.0ms (-22%) | 15.9 MB |
| mono-100-1k | ferrflow | 40.8ms (+4%) | 38.1ms (-2%) | 6.0ms (+2%) | 5.2ms (+2%) | 5.1ms (+6%) | 16.0 MB |
| mono-50-5k | ferrflow | 100.1ms (+2%) | 98.1ms (+1%) | 6.0ms (+7%) | 4.2ms (+17%) | 4.0ms (+11%) | 15.9 MB |
| mono-large | ferrflow | 481.0ms (+67%) | 473.2ms (+67%) | 11.7ms (+72%) | 7.4ms (+54%) | 6.2ms (+32%) | 17.7 MB |
| mono-medium | ferrflow | 16.4ms (-15%) | 14.8ms (-21%) | 4.2ms (-9%) | 3.7ms (-5%) | 3.8ms (-7%) | 15.8 MB |
| mono-small | ferrflow | 7.8ms (+10%) | 7.3ms (+6%) | 3.5ms | 2.9ms (+4%) | 3.2ms (+10%) | 13.8 MB |
| single | ferrflow | 8.6ms (+39%) | 8.7ms (+40%) | 3.7ms (+12%) | 3.3ms (+6%) | 3.5ms (+6%) | 13.9 MB |
Note: every competitor is a Node.js package — none ship a native binary, so this section can only show ferrflow. Cross-tool comparisons live in the Npm section.
Docker
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | ferrflow | 319.5ms (+43%) | 237.1ms (+7%) | 299.7ms (+46%) | 214.1ms (+6%) | 299.0ms (+46%) | 46.6 MB |
| mono-100-1k | ferrflow | 232.1ms (+2%) | 230.0ms (+2%) | 199.2ms (+5%) | 198.7ms (+5%) | 200.8ms (+8%) | 46.6 MB |
| mono-50-5k | ferrflow | 286.2ms (+1%) | 285.9ms (+1%) | 191.2ms (+4%) | 187.7ms (-2%) | 184.4ms (-1%) | 46.6 MB |
| mono-large | ferrflow | 735.6ms (+50%) | 737.1ms (+51%) | 223.6ms (-19%) | 219.6ms (+29%) | 220.8ms (+33%) | 49.4 MB |
| mono-medium | ferrflow | 195.4ms (-7%) | 204.0ms (-1%) | 176.3ms (-8%) | 185.1ms (-2%) | 185.9ms (-2%) | 47.0 MB |
| mono-small | ferrflow | 300.4ms (+80%) | 321.2ms (+87%) | 368.5ms (+121%) | 256.1ms (+53%) | 248.0ms (+49%) | 46.3 MB |
| single | ferrflow | 200.5ms (+19%) | 201.2ms (+21%) | 196.9ms (+18%) | 193.3ms (+17%) | 193.5ms (+17%) | 47.0 MB |
Note: no competitor publishes a first-party Docker image that is comparable to ghcr.io/ferrlabs/ferrflow (a single static binary). Wrapping the Node tools in node:lts would only re-time node startup + npm + the tool already measured in the Npm section, so this section is intentionally limited to ferrflow.
Npm
| Fixture | Tool | check | release-dry-run | tag | validate | version | Peak RSS |
|---|---|---|---|---|---|---|---|
| complex | changesets | - | 531.0ms (-17%) | - | - | - | 104.6 MB |
| complex | commit-and-tag-version | - | 400.8ms (-24%) | - | - | - | 91.0 MB |
| complex | ferrflow | 236.1ms (-30%) | 240.6ms (-29%) | 231.9ms (-29%) | 230.3ms (-29%) | 228.8ms (-29%) | 90.8 MB |
| complex | semantic-release | - | 1205.2ms (-27%) | - | - | - | 140.6 MB |
| complex | standard-version | - | 473.7ms (-31%) | - | - | - | 94.9 MB |
| mono-100-1k | changesets | - | 713.6ms (+5%) | - | - | - | 107.6 MB |
| mono-100-1k | commit-and-tag-version | - | 604.8ms (+3%) | - | - | - | 91.2 MB |
| mono-100-1k | ferrflow | 338.0ms (+5%) | 331.9ms (+4%) | 298.9ms (+4%) | 297.5ms (+3%) | 297.0ms (+4%) | 90.9 MB |
| mono-100-1k | semantic-release | - | 1708.0ms (+4%) | - | - | - | 159.3 MB |
| mono-100-1k | standard-version | - | 715.2ms (+3%) | - | - | - | 97.0 MB |
| mono-50-5k | changesets | - | 516.1ms (+5%) | - | - | - | 104.7 MB |
| mono-50-5k | commit-and-tag-version | - | 761.5ms (+4%) | - | - | - | 115.0 MB |
| mono-50-5k | ferrflow | 329.7ms (+3%) | 333.7ms (+4%) | 232.2ms (+3%) | 234.4ms (+4%) | 232.0ms (+4%) | 90.9 MB |
| mono-50-5k | semantic-release | - | 1826.7ms | - | - | - | 273.5 MB |
| mono-50-5k | standard-version | - | 907.5ms (+1%) | - | - | - | 124.0 MB |
| mono-large | changesets | - | 960.3ms (+98%) | - | - | - | 114.9 MB |
| mono-large | commit-and-tag-version | - | 1601.3ms (+105%) | - | - | - | 129.2 MB |
| mono-large | ferrflow | 840.2ms (+65%) | 815.7ms (+62%) | 320.1ms (+84%) | 315.8ms (+79%) | 311.1ms (+80%) | 92.8 MB |
| mono-large | semantic-release | - | 3513.7ms (+94%) | - | - | - | 398.2 MB |
| mono-large | standard-version | - | 1971.5ms (+111%) | - | - | - | 162.7 MB |
| mono-medium | changesets | - | 510.3ms (-17%) | - | - | - | 104.8 MB |
| mono-medium | commit-and-tag-version | - | 407.0ms (-24%) | - | - | - | 91.2 MB |
| mono-medium | ferrflow | 236.2ms (-22%) | 234.5ms (-21%) | 224.4ms (-21%) | 222.9ms (-22%) | 222.9ms (-22%) | 90.9 MB |
| mono-medium | semantic-release | - | 1176.0ms (-23%) | - | - | - | 143.6 MB |
| mono-medium | standard-version | - | 468.8ms (-24%) | - | - | - | 94.2 MB |
| mono-small | changesets | - | 471.7ms (+22%) | - | - | - | 102.8 MB |
| mono-small | commit-and-tag-version | - | 406.5ms (+28%) | - | - | - | 90.7 MB |
| mono-small | ferrflow | 245.1ms (+28%) | 244.9ms (+28%) | 239.4ms (+32%) | 236.8ms (+30%) | 241.1ms (+33%) | 91.1 MB |
| mono-small | semantic-release | - | 1136.5ms (+30%) | - | - | - | 137.3 MB |
| mono-small | standard-version | - | 440.5ms (+25%) | - | - | - | 93.1 MB |
| single | changesets | - | 562.5ms (+45%) | - | - | - | 103.7 MB |
| single | commit-and-tag-version | - | 501.8ms (+55%) | - | - | - | 91.1 MB |
| single | ferrflow | 302.2ms (+65%) | 303.1ms (+63%) | 300.4ms (+65%) | 300.4ms (+66%) | 298.7ms (+64%) | 90.9 MB |
| single | semantic-release | - | 1481.4ms (+67%) | - | - | - | 134.5 MB |
| single | standard-version | - | 561.1ms (+62%) | - | - | - | 92.1 MB |
Install footprint
| Tool | npm | binary |
|---|---|---|
| changesets | 5.0 MB | — |
| commit-and-tag-version | 9.0 MB | — |
| ferrflow | 9.0 MB | 9.0 MB |
| release-please | 95.0 MB | — |
| semantic-release | 69.0 MB | — |
| standard-version | 21.0 MB | — |