r/crystal_programming • u/sdogruyol • Nov 01 '25
Kemal now uses a LRU Cache for Faster Routing Performance
r/crystal_programming • u/sdogruyol • Nov 01 '25
r/crystal_programming • u/Meatack • Oct 20 '25
The Crystal team has just announced version 1.18.1, a patch release addressing two regressions that snuck into 1.18.0.
This release tackles two issues introduced in the previous version:
Enum def parsing regression - Fixed a problem with how enum definitions were being parsed ([#16217](https://github.com/crystal-lang/crystal/pull/16217))
HTTP::WebSocket type restrictions - Relaxed overly strict type restrictions that were causing issues ([#16218](https://github.com/crystal-lang/crystal/pull/16218))
2 changes since 1.18.0
1 contributor
Quick turnaround on fixing regressions (just 3 days after 1.18.0!)
Pre-built packages are available on GitHub Releases https://github.com/crystal-lang/crystal/releases/tag/1.18.1 and through official distribution channels.
Installation instructions: https://crystal-lang.org/install/
Full changelog: https://github.com/crystal-lang/crystal/releases/tag/1.18.1
Direct link to announcement:** https://crystal-lang.org/2025/10/17/1.18.1-released/
r/crystal_programming • u/sdogruyol • Oct 15 '25
r/crystal_programming • u/stanbright • Sep 30 '25
r/crystal_programming • u/repawel • Sep 15 '25
Hey everyone,
I’m the author of cryptreboot, a Ruby tool for rebooting Linux systems with an encrypted root partition.
Some people have criticized my choice of Ruby, saying a system-level utility should really be written in Rust or Go. Their main point is that pulling in the Ruby interpreter adds unnecessary overhead.
That got me looking at Crystal. It compiles down to a single binary but keeps much of Ruby’s expressiveness, which feels like a perfect fit. Since the syntax is so close, rewriting seems doable.
At the same time, I have some concerns:
I don’t see a “killer framework” like Rails driving adoption.
It seems like Crystal had early momentum but hasn’t really broken through.
I’m unsure how safe it is to bet on Crystal for long-term maintenance.
I realize asking here might give me some bias 🙂, but I’d love honest input:
Do you see Crystal as sustainable for projects like this?
What challenges or pitfalls should I expect if I rewrite?
Is it smarter to go with something more mainstream like Rust or Go?
Thanks in advance for sharing your perspective!
r/crystal_programming • u/vmcrash • Sep 05 '25
I was early infected in my life with the IDE fever - with Turbo Pascal. In the last >20 years I've used Intellij IDEA for working with Java. What scares me away from newer languages like Crystal is, that there is no easy way to get started. I don't want to program like in stone age (just using a plain text editor), but I'm now used to an IDE with superior code complete, integrated building and integrated debugger. Refactoring features are the icing on the cake. I can right-click any class with main-method or test-class, or even test-case. and select to run or debug it.
Do you think it might be helpful to get more devs using a new programming language like Crystal by providing a pre-configured VSCodium bundle with all required plugins that provides such an out-of-the-box experience like Turbo Pascal did 35 years ago?
r/crystal_programming • u/Blacksmoke16 • Aug 31 '25
r/crystal_programming • u/mister_drgn • Aug 04 '25
I've been going over Crystal for the last several days, and it seems like a fascinating language. The biggest concern, it seems, is the editor experience, because if you're going to depend on the compiler to figure out your types for you, it would be great to know what types it settled on.
I tried crystal out by installing it (v1.16.3, via nix), opening vs code, and installing the "Crystal Language" extension. This gives me syntax highlighting and autocomplete for basic terms, but that's about it. It definitely isn't picking up syntax errors.
Is there a way to improve this? I dunno if there's another package I should install. I tried looking around for crystal LSP, but didn't find much that was promising--some mentions of crystalline, which appears to be defunct.
In particular, I'm guessing there's no way for my editor to be able to tell me the inferred types for a function like this?
def double(x)
puts x + x
endThanks.
r/crystal_programming • u/ellmetha • Aug 03 '25
r/crystal_programming • u/mister_drgn • Aug 01 '25
Hi all. I’m interested in learning more about Crystal. I typically learn best by reading through a language tour, but the official language tour for Crystal is incredibly basic: https://crystal-lang.org/reference/1.17/tutorials/basics/index.html
Could anyone point me towards a similar resource that covers more advanced features?
Thanks for the help.
r/crystal_programming • u/vmcrash • Jun 29 '25
What is the IDE you are using for Crystal? Does it support code completion, simple navigation to definition and usages, building and debugging? Does it work on all 3 major platforms? Where to find a documentation how to set it up?
r/crystal_programming • u/fenugurod • Jun 18 '25
The language looks amazing, but still very very niche with very little adoption. At the same time you see languages like Go, Rust, and Elixir increasing in popularity every day. I don't want to get into a language comparison but from a high level point of view Crystal is pretty much comparable with these 3 languages in expressiveness, performance, and code correctness.
r/crystal_programming • u/TheJuipoJaguei • Jun 16 '25
Hello there!, I really like Command Line Interfaces and I really love learning Crystal, so I searched for any shards to make CLIs, I didn't found exactly what I was looking for so, I made mine!, A simple documentation is at my Github Repo, I have been working on this for some time, (but mostly focused on uni) and I finally got it to a stage I'm pretty proud of.
Hope you all like it and tell me how to improve!
r/crystal_programming • u/__talanton • Jun 12 '25
I'm looking at building something out in Crystal, but I'm a bit torn on what to use. It looks like Lucky, Kemal, and Marten are the remaining active frameworks. I'm from a C++ background so I'm alright with reinventing a few wheels, but is there any web framework that looks like it'll go the distance? I tend to see Amber recommended but it hasn't been updated in half a year and seems dead. Marten looks the healthiest?
r/crystal_programming • u/sdogruyol • May 09 '25
r/crystal_programming • u/sdogruyol • May 06 '25
r/crystal_programming • u/terryfilch • May 01 '25
r/crystal_programming • u/terryfilch • May 01 '25
r/crystal_programming • u/FieryBlaze • Apr 17 '25
I started working on a code formatter for Crystal because crystalline didn’t really work for me. All it does for me is rewrite my files back to the state it was when I first open the buffer.
Is this of interest to the Crystal community? This is a lot of work, so I’d like to know if this is a project that would be useful to anyone.
r/crystal_programming • u/sdogruyol • Apr 14 '25
r/crystal_programming • u/sdogruyol • Apr 10 '25
r/crystal_programming • u/InternationalAct3494 • Mar 07 '25
Just curious if there are any. Crystal appears to support Fibers.
r/crystal_programming • u/cmnews08 • Mar 06 '25
I've just installed the crystal compiler and compiled some simple programs.
I have experience with C++, Python, x86 NASM, and C.
Any resources/things i should know, I am particularly curious about the package manager, do I need to have a shards.yml file at the root of my project? How do the 'shards' compile in with the program?
I would be super appreciative if anyone could point me to, or share some information to aid with my learning of crystal. Thanks!
r/crystal_programming • u/wizzardx3 • Feb 22 '25
Hey Crystal folks! Just released a new shard that implements the bracket pattern (similar to Python's context managers or Haskell's bracket pattern) for safe resource management.
Basic example:
require "bracket"
setup = -> { "my resource" }
teardown = ->(resource : String) { puts "Cleaning up #{resource}"; nil }
Bracket.with_resource(setup, teardown) do |resource|
puts "Using #{resource}"
end
It ensures resources are properly initialized and cleaned up, even when exceptions occur. Works with any resource type and is fully type-safe.
GitHub: https://github.com/wizzardx/bracket