zw963
February 23, 2026, 6:33am
1
e.g. I want to search which release introduce Time.instant, there is no useful version info in the doc, use the search input box on the github release page always no meaningful result, what I expect is I can search the change log easier use my local grep tools.
How to do that?
zw963
February 23, 2026, 6:43am
2
Okay, I saw the expected result from git log.
But I really suggest we shouldn’t rely on GitHub’s release page to store such important information ONLY.
There already learned a lesson before, gitlab delete my account and all my public projects only because I am a Chinese.
omarluq
February 23, 2026, 7:01am
3
Changelog file has this info as well might be helpful
# Changelog
## [1.19.1] (2026-01-20)
[1.19.1]: https://github.com/crystal-lang/crystal/releases/1.19.1
### Bugfixes
#### stdlib
- _(concurrency)_ **[regression]** Fix kqueue timer duration calculation ([#16581], thanks @skuznetsov)
- _(concurrency)_ **[regression]** time calculations in IOCP and Monitor thread ([#16583], thanks @ysbaddaden)
[#16581]: https://github.com/crystal-lang/crystal/pull/16581
[#16583]: https://github.com/crystal-lang/crystal/pull/16583
### Infrastructure
- Changelog for 1.19.1 ([#16590], thanks @ysbaddaden)
This file has been truncated. show original
Xen
February 23, 2026, 10:59am
4
Well, it would be handy if Crystal 1.19.1 had version information on methods.
1 Like
zw963
February 23, 2026, 11:24am
5
Those changelog only available on specified tag, and only describe changes for current tagged version.
Apart from some links, there’s nothing in the current master’s changelog.
# Changelog
## Previous Releases
For information on prior releases, refer to their changelogs:
- [1.19](https://github.com/crystal-lang/crystal/blob/release/1.19/CHANGELOG.md)
- [1.18](https://github.com/crystal-lang/crystal/blob/release/1.18/CHANGELOG.md)
- [1.17](https://github.com/crystal-lang/crystal/blob/release/1.17/CHANGELOG.md)
- [1.16](https://github.com/crystal-lang/crystal/blob/release/1.16/CHANGELOG.md)
- [1.0 to 1.15](https://github.com/crystal-lang/crystal/blob/release/1.15/CHANGELOG.md)
- [before 1.0](https://github.com/crystal-lang/crystal/blob/release/0.36/CHANGELOG.md)
We should probably incorporate older copies of CHANGELOG.md into the repository.
And the API docs should certainly show historical information (when a method was introduced, parameters changed, etc.)
1 Like
zw963
February 23, 2026, 3:05pm
7
I can do this, probably write a crawler to collect it, do you accept a PR for this?
I can write a crawler to fetch each change log. Would you accept such a PR?
Of course, how to organize it is still an question. maybe a folder like change_logs/{1.18, 1.17, 1.16}.md could be an optional solution, that really easy to filter.
There’s no need for a crawler. This’ll do the heavy lifting:
for i in 0.36 1.15 1.16 1.17 1.18 1.19; do git show "upstream/release/$i:CHANGELOG.md" > "doc/changelogs/CHANGELOG.$i.md"; done
Need some polish as well, though. But I think I have it covered.
Thanks for offering, though!
1 Like