Crystal 1.17.0 is released!

We are announcing a new Crystal release 1.17.0 with several new features and bug fixes.

Pre-built packages are available on GitHub Releases and our official distribution channels. See crystal-lang.org/install for installation instructions.


This is a companion discussion topic for the original entry at https://crystal-lang.org/2025/07/16/1.17.0-released
10 Likes

compile dependencies add a command asciidoctor?

Following error when run make install.

SOURCE_DATE_EPOCH=1752624000 asciidoctor -a crystal_version=1.17.0 doc/man/crystal.adoc -b manpage -o man/crystal.1
sh: line 1: asciidoctor: command not found
 ╰──➤ $ pacman -Qi asciidoctor
Name            : asciidoctor
Version         : 2.0.23-6
Description     : An implementation of AsciiDoc in Ruby

Add a library write by Ruby as dependencies, maybe we can rewrite it use Crystal, or, not introduce it?

That’s odd. This should not be necessary. The man/crystal.1 file is materialized in the repo. It should only rebuild when there were changes to doc/man/crystal.adoc.

Maybe it’s a timestamp issue…? Try touch man/crystal.1?

I don’t know, probably because I run make clean before build compiler?

make clean && FLAGS="-Dpreview_mt" LDFLAGS= make crystal interpreter=1 stats=1 release=1
rm -rf tmp
DESTDIR=$PWD/tmp make install

I installed the asciidoctor to let make install work again.

No, make clean does not remove man/crystal.1.

Please note that the manpages generated with asciidoctor are split into separate files, one for each compiler subcommand. The install recipe doesn’t handle that yet and only installs crystal.1.
I’d recommend to use the man/crystal.1 from upstream for now which contains the entire manual.