craft your forge, build your project, grow your community freely
1<!--
2SPDX-FileCopyrightText: 2025 Romain Maneschi <romain@gitroot.dev>
3 4SPDX-License-Identifier: EUPL-1.2
5--> 6 7# Changelog
8 9This file is made for human readers. It contain important (not all) changes made for a release, as well as the release date. Each version contains a link to all closed issues into the current version and a link to the binary corresponding to the version.
10 11At any time, you can find the latest GitRoot binary for linux amd64 at [https://gitroot.dev/releases/gitroot-last](https://gitroot.dev/releases/gitroot-last).
12 13## 0.3.0 (20/12/2025) [is last](https://gitroot.dev/releases/gitroot-last)
14 15Commit: `11ec919c30bb10bb73560e624f772675d1f34c91` 16 17[gitroot-0.3.0-linux-amd64](https://gitroot.dev/releases/0.3.0/gitroot-0.3.0-linux-amd64) sha256 `9697a5a5b3ae2ecab339450908705bf53e393154d3d2c3ebed8b5f89cd0cee5e` 18[gitroot-0.3.0-linux-arm64](https://gitroot.dev/releases/0.3.0/gitroot-0.3.0-linux-arm64) sha256 `e268cb95136f6f871d2090c1240c8d3952a58312fd4211b40646b553264ac32b` 19[gitroot-0.3.0-darwin-amd64](https://gitroot.dev/releases/0.3.0/gitroot-0.3.0-darwin-amd64) sha256 `91eb4f5568acff907f99a51c38e14a443b65cae369c0451d033cc6b1a4bfa667` 20[gitroot-0.3.0-darwin-arm64](https://gitroot.dev/releases/0.3.0/gitroot-0.3.0-darwin-arm64) sha256 `4b64f6807d01230ae6d2e4b89fa42c245ea9bf924a81d5eb5f929c6b12bfd5f7` 21 22### GitRoot
23 24- Add [🗨 Contact](./contact.md) page
25- Use mise tasks thanks to Zon Orti the #3 contributor 🚀
26- add in the plugin sdk the `report()` api, to be able to report something to user. Don't use it to report bad behavior, `log()` and `logError()` are here for that.
27- add `reporter` interface to plugin sdk, to prevent GitRoot that a plugin can report something to user. See grafter as the first use case.
28- **BREAKING** add `execconf` in forgeConf, permit to enable one kind of executor and to set it's conf
29- **BREAKING** add `externalsshaddr` and `externalhttpaddr` property in forgeConf, permit to display `git clone ssh://gitroot.dev/` in web for example [#a716](./issues/close/a716-conf-external-addr.md)
30- implement the first `updater` wich handle the previous breaking
31- add [rust](https://rust-lang.org/) lib to build plugin
32- add `Exec([]commands)` method for plugin, need exec permission
33- allow to name `malloc` and `free` function in wasn guest `gitrootAlloc` and `gitrootFree` 34- garbage memory of plugin between 2 calls
35- use [mise](https://mise.jdx.dev/) to simplify dev environment and update go, tinygo and node to latest version
36 37### Plugins
38 39- hop: execute process on host [hop-0.0.1.wasm](https://gitroot.dev/releases/0.3.0/hop-0.0.1.wasm) _sha256: b67e9418702648a493f40d4f5375b51a6ade2812382ddc43c4a1133d8c5c3b44_ 40- use the new report api
41- pollen: [pollen-0.0.2.wasm](https://gitroot.dev/releases/0.3.0/hop-0.0.2.wasm) _sha256: e6e94e93514d3fe1e65506f5ac72a01b84b792bc6c07009eadc194942fc63ca1_ 42- 0.0.2 compatible with gitroot plugin-sdk 0.3.0
43- ladybug: [ladybug-0.0.3.wasm](https://gitroot.dev/releases/0.3.0/ladybug-0.0.3.wasm) _sha256: adfaf88dc15ca5d53019ff194a32abec9c914c6cdf676ef4de589c1a4cfd12d4_ 44- 0.0.3 compatible with gitroot plugin-sdk 0.3.0
45- silo: [silo-0.0.3.wasm](https://gitroot.dev/releases/0.3.0/silo-0.0.3.wasm) _sha256: f38f8b71b68eddd1ce895a645e8c27052aab1f7607fc8182beb66b4e3e0fd2df_ 46- 0.0.3 compatible with gitroot plugin-sdk 0.3.0
47- grafter: [grafter-0.0.3.wasm](https://gitroot.dev/releases/0.3.0/grafter-0.0.3.wasm) _sha256: 9d63e0a232ea8dcdbd28ffc5793b56eada5981fc85296dfb8fd7342b3379d4e2_ 48- 0.0.3 compatible with gitroot plugin-sdk 0.3.0
49- implement reporter api to display hop reports
50- apex: [apex-0.0.3.wasm](https://gitroot.dev/releases/0.3.0/apex-0.0.3.wasm) _sha256: 3f7e22f834ce7e16231f6fa08495517c1ec021cb801b9b2885345a8deb16ebf0_ 51- 0.0.3 compatible with gitroot plugin-sdk 0.3.0
52- add favicon configuration [#8c3f](./issues/close/8c3f-apex-favicon.md)
53- add html metadata configuration
54- fix bug: 404 page not found is styled [#4c5b](./issues/close/4c5b-web-path-slash.md)
55- fix bug: current menu is now hilighted and marked with `aria-current="page"` [#6eeb](./issues/close/6eeb-apex-current-page.md)
56- **BREAKING** don't render metadata by default, file should have `apexRenderMetadatas: true` in metadata to allow it, not final solution but good enough for now
57 58## 0.2.0 (18/09/2025)
59 60Commit: `089d7caca0dfd7ac079aa92021b5f896e9f0fdb1` 61 62[gitroot-0.2.0-linux-amd64](https://gitroot.dev/releases/0.2.0/gitroot-0.2.0-linux-amd64) sha256 `91c37b86a36253dc9a25f89c772035ab8445fc7c2f8f330128cb12425cb9b2f6` 63[gitroot-0.2.0-linux-arm64](https://gitroot.dev/releases/0.2.0/gitroot-0.2.0-linux-arm64) sha256 `d866ac45007f94d4d9967915efcff6181a32fe0791e50845620c6152f8dc1651` 64[gitroot-0.2.0-darwin-amd64](https://gitroot.dev/releases/0.2.0/gitroot-0.2.0-darwin-amd64) sha256 `a8784f3b82c7814e36066c5dda7e540920378159654658dc7777c4fe73d1b59d` 65[gitroot-0.2.0-darwin-arm64](https://gitroot.dev/releases/0.2.0/gitroot-0.2.0-darwin-arm64) sha256 `70f23407a13b8dd20852382906c05dc2aa268f74cbef31358cec861cba89f04c` 66 67### GitRoot
68 69- add [assemblyscript](https://www.assemblyscript.org/) lib to build plugin
70- add `ReplaceWebContentBuilder(filename, old, new)` method for plugin, need mod permission
71- after a merge delete branch and clean users.yml
72- cross compilation [#70d0](./issues/close/70d0-cross-compile.md)
73- add `Commits(from string, to string) ([]Commit, error)` method for plugin to access commits between 2 hash
74- check that the plugin is compatible with current version
75- update plugins: change URL in `plugins.yml` of root repository
76- download plugins from http(s) and checksum them
77- compile plugins AOT and keep compilation
78- garbage collect plugins after execution [#f1ab](./issues/close/f1ab-garbabe-collecte-plugins.md)
79- fix empty FS after execution [#95b0](./issues/close/95b0-plugins-fs-bug.md)
80 81### Plugins
82 83- pollen: rss generator [pollen-0.0.1.wasm](https://gitroot.dev/releases/0.2.0/pollen-0.0.1.wasm) _sha256: 49cd8e1846b1612a0d5686918b502fe29e070e7bf9613c1ba9a1dfe5417d0f2a_ 84- ladybug: [ladybug-0.0.2.wasm](https://gitroot.dev/releases/0.2.0/ladybug-0.0.2.wasm) _sha256: 0c755bb2dc5cc037216b29ba1709875afee425ee429b6be97f0d5e137067acff_ 85- 0.0.2 compatible with gitroot
86- fix bug: do not delete `---` in body of files
87- silo: [silo-0.0.2.wasm](https://gitroot.dev/releases/0.2.0/silo-0.0.2.wasm) _sha256: 66fe44b4e0984154bda0867a9b35ea39b0be3d92a89e4e542b70472fadf2f78e_ 88- 0.0.2 compatible with gitroot
89- create an empty board when nothing to display [#a7ca](./issues/close/a7ca-silo-empty-board.md)
90- fix bug: move of file delete old item [#7a80](./issues/close/7a80-silo-move-bug.md)
91- grafter: [grafter-0.0.2.wasm](https://gitroot.dev/releases/0.2.0/grafter-0.0.2.wasm) _sha256: 9ce5e36af1fd53a6547ec51d55356a661a05ae617b16ef97b1eae0dd0cce22c0_ 92- 0.0.2 compatible with gitroot
93- better diff
94- **BREAKING** change state of graft in metadata
95- apex: [apex-0.0.2.wasm](https://gitroot.dev/releases/0.2.0/apex-0.0.2.wasm) _sha256: 4c7d1b84f768a6aea11393ea2bc116a7be30fd12380fd7e11f283d5970028119_ 96- 0.0.2 compatible with gitroot
97- add line heading
98- generate branches page and one page by branch with commits
99100## 0.1.0 (20/05/2025)
101102Initial GitRoot version 🎉
103104Commit: `fa6d1600606efdc590eb2f0411305e971fdd854d`105106[gitroot-0.1.0-linux-amd64](https://gitroot.dev/releases/0.1.0/gitroot-0.1.0-linux-amd64) sha256 `e70d24e2631708ae4b778f9f60de03fad5087dd1fb2845955a9ed5c758a5ca0a`107[gitroot-0.1.0-darwin-amd64](https://gitroot.dev/releases/0.1.0/gitroot-0.1.0-darwin-amd64) sha256 `622abd155657f2b3674b9fab71de2438774005054deb30301787d3a1ff37ff1a`108[gitroot-0.1.0-darwin-arm64](https://gitroot.dev/releases/0.1.0/gitroot-0.1.0-darwin-arm64) sha256 `7946ad03f109c7d9cdb93fc6ec1b0838b10dde3c7bf67d4254374f5f9b9b19a5`109110### GitRoot
111112- launch GitRoot by specifying where to store data (all data will be written in this path)
113- accept git commands through ssh (clone, pull and pull)
114- manage users (who can write in which repositories)
115- install and activate plugins
116- repositories can be viewed online
117118### Plugins
119120- ladybug: add properties to md files [ladybug-0.0.1.wasm](https://gitroot.dev/releases/0.1.0/ladybug-0.0.1.wasm) _sha256: af00a9f14a27399f383d0cc23415e14e7d6180c167d1504018f11166346ebb55_121- silo: regroup, filter, sort files in a new md file in git [silo-0.0.1.wasm](https://gitroot.dev/releases/0.1.0/silo-0.0.1.wasm) _sha256: 99bc06d9d6f020c5df216fd6134306079aec26eacee9ad9bbabbc259097e618a_122- grafter: manage, review and merge of branches in git [grafter-0.0.1.wasm](https://gitroot.dev/releases/0.1.0/grafter-0.0.1.wasm) _sha256: 6645615df36a9938adac300d8d46fe298f8f53fb2e69713a495b83b0f114f40a_123- apex: transform md file to html one and write them in web, optionally generate worktree [apex-0.0.1.wasm](https://gitroot.dev/releases/0.1.0/apex-0.0.1.wasm) _sha256: 9570f005ad70be04eab3c900acd11d5c2ccf48fef5d4c17536c9cf79c8fd333e_