[7.28.4] - 2026-10-06
Refactoring
- refactor(forge): share pagination as a function and keep RestClient for GitHub and Gitea (#1289)
Performance
Binary
| Fixture |
Tool |
check |
release-dry-run |
tag |
validate |
version |
Peak RSS |
| complex |
ferrflow |
16.8ms (-19%) |
16.0ms (-23%) |
3.8ms (-12%) |
3.5ms (-5%) |
3.5ms (-10%) |
16.0 MB |
| mono-100-1k |
ferrflow |
40.2ms (+2%) |
38.0ms (+4%) |
5.6ms (+10%) |
4.8ms (+14%) |
4.6ms (+10%) |
15.6 MB |
| mono-50-5k |
ferrflow |
83.9ms (+1%) |
80.6ms |
5.3ms (+4%) |
3.6ms (-5%) |
3.7ms (-5%) |
15.8 MB |
| mono-large |
ferrflow |
451.9ms |
448.7ms |
9.8ms (+29%) |
6.2ms (+35%) |
5.7ms (+30%) |
17.6 MB |
| mono-medium |
ferrflow |
20.1ms (+3%) |
18.2ms (-1%) |
4.4ms (-6%) |
3.7ms (-10%) |
3.9ms (-7%) |
15.6 MB |
| mono-small |
ferrflow |
9.6ms |
9.3ms (+4%) |
3.9ms (+15%) |
3.2ms (+3%) |
3.6ms (+9%) |
13.5 MB |
| single |
ferrflow |
7.4ms (-10%) |
7.2ms (-11%) |
3.1ms (-16%) |
2.8ms (-13%) |
2.9ms (-15%) |
13.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 |
271.0ms (+30%) |
266.5ms (+28%) |
283.9ms (+46%) |
365.0ms (+90%) |
297.7ms (+58%) |
42.7 MB |
| mono-100-1k |
ferrflow |
239.2ms (+8%) |
235.9ms (+9%) |
215.9ms (+18%) |
207.9ms (+14%) |
199.6ms (+10%) |
45.4 MB |
| mono-50-5k |
ferrflow |
255.5ms (+1%) |
255.9ms (+2%) |
176.2ms (+9%) |
171.5ms (+3%) |
175.4ms (+9%) |
42.8 MB |
| mono-large |
ferrflow |
681.5ms (-8%) |
679.7ms (-7%) |
197.8ms (+6%) |
195.7ms (+10%) |
196.4ms (+8%) |
42.6 MB |
| mono-medium |
ferrflow |
209.2ms (-4%) |
205.7ms (-5%) |
192.5ms (-5%) |
190.5ms (-5%) |
192.5ms (-5%) |
43.0 MB |
| mono-small |
ferrflow |
196.1ms (+2%) |
196.8ms (+2%) |
190.8ms (+1%) |
190.7ms (+3%) |
191.4ms (+1%) |
42.8 MB |
| single |
ferrflow |
193.5ms (-2%) |
199.5ms (+4%) |
213.1ms (+13%) |
188.8ms |
185.9ms (+1%) |
45.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 |
- |
512.8ms (-15%) |
- |
- |
- |
104.4 MB |
| complex |
commit-and-tag-version |
- |
408.9ms (-19%) |
- |
- |
- |
91.2 MB |
| complex |
ferrflow |
243.3ms (-20%) |
238.3ms (-22%) |
224.5ms (-22%) |
222.8ms (-22%) |
224.1ms (-22%) |
91.3 MB |
| complex |
semantic-release |
- |
1149.8ms (-22%) |
- |
- |
- |
140.0 MB |
| complex |
standard-version |
- |
470.7ms (-20%) |
- |
- |
- |
94.8 MB |
| mono-100-1k |
changesets |
- |
689.3ms (+6%) |
- |
- |
- |
109.5 MB |
| mono-100-1k |
commit-and-tag-version |
- |
604.1ms (+7%) |
- |
- |
- |
92.8 MB |
| mono-100-1k |
ferrflow |
331.6ms (+5%) |
331.6ms (+6%) |
298.0ms (+9%) |
294.9ms (+8%) |
295.4ms (+8%) |
92.5 MB |
| mono-100-1k |
semantic-release |
- |
1690.8ms (+6%) |
- |
- |
- |
161.2 MB |
| mono-100-1k |
standard-version |
- |
713.1ms (+5%) |
- |
- |
- |
96.7 MB |
| mono-50-5k |
changesets |
- |
447.4ms (+4%) |
- |
- |
- |
105.4 MB |
| mono-50-5k |
commit-and-tag-version |
- |
584.3ms (-1%) |
- |
- |
- |
105.8 MB |
| mono-50-5k |
ferrflow |
259.9ms (-2%) |
253.5ms (-4%) |
177.6ms (-6%) |
177.9ms (-7%) |
177.1ms (-3%) |
90.8 MB |
| mono-50-5k |
semantic-release |
- |
1386.9ms (-7%) |
- |
- |
- |
309.9 MB |
| mono-50-5k |
standard-version |
- |
639.8ms (-7%) |
- |
- |
- |
122.0 MB |
| mono-large |
changesets |
- |
801.5ms (+22%) |
- |
- |
- |
107.7 MB |
| mono-large |
commit-and-tag-version |
- |
1475.9ms (+23%) |
- |
- |
- |
127.6 MB |
| mono-large |
ferrflow |
773.4ms (-1%) |
771.2ms (-1%) |
296.2ms (+23%) |
292.0ms (+23%) |
290.8ms (+23%) |
91.2 MB |
| mono-large |
semantic-release |
- |
3285.1ms (+26%) |
- |
- |
- |
356.9 MB |
| mono-large |
standard-version |
- |
1840.2ms (+26%) |
- |
- |
- |
163.8 MB |
| mono-medium |
changesets |
- |
624.2ms (-6%) |
- |
- |
- |
104.0 MB |
| mono-medium |
commit-and-tag-version |
- |
535.3ms (-4%) |
- |
- |
- |
92.8 MB |
| mono-medium |
ferrflow |
303.5ms (-5%) |
301.4ms (-5%) |
288.4ms (-2%) |
287.7ms (-1%) |
287.7ms (-3%) |
92.7 MB |
| mono-medium |
semantic-release |
- |
1537.7ms (-4%) |
- |
- |
- |
140.2 MB |
| mono-medium |
standard-version |
- |
623.2ms (-3%) |
- |
- |
- |
96.6 MB |
| mono-small |
changesets |
- |
589.9ms (+1%) |
- |
- |
- |
104.0 MB |
| mono-small |
commit-and-tag-version |
- |
503.8ms (+4%) |
- |
- |
- |
91.1 MB |
| mono-small |
ferrflow |
292.9ms (+1%) |
295.3ms (+1%) |
287.7ms |
288.3ms |
286.4ms |
90.9 MB |
| mono-small |
semantic-release |
- |
1431.1ms (-1%) |
- |
- |
- |
135.3 MB |
| mono-small |
standard-version |
- |
545.2ms |
- |
- |
- |
93.0 MB |
| single |
changesets |
- |
448.6ms (-19%) |
- |
- |
- |
103.0 MB |
| single |
commit-and-tag-version |
- |
393.7ms (-22%) |
- |
- |
- |
91.2 MB |
| single |
ferrflow |
236.9ms (-20%) |
237.4ms (-21%) |
234.0ms (-22%) |
233.9ms (-23%) |
234.7ms (-23%) |
90.6 MB |
| single |
semantic-release |
- |
1129.6ms (-26%) |
- |
- |
- |
132.5 MB |
| single |
standard-version |
- |
430.7ms (-25%) |
- |
- |
- |
90.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 |
— |