---
title: Crystal 0.20.3 released!
version: 0.20.3
summary: Crystal has a new development release.
thumbnail: +
author: straight-shoota
---

[Crystal 0.20.3](https://github.com/crystal-lang/crystal/releases/tag/0.20.3) has been released!

As any release it includes numerous bugfixes, cool features and performance improvements - in [130 commits since 0.20.1](https://github.com/crystal-lang/crystal/compare/0.20.1...0.20.3).

# Exciting Changes

* **(breaking change)** `IO#gets`, `IO#each_line`, `String#lines`, `String#each_line`, etc. now chomp lines by default. You can pass `chomp: false` to prevent automatic chomping. Note that `chomp` is `true` by default for argless `IO#gets` (read line) but `false` if args are given.
* **(breaking change)** `HTTP::Handler` is now a module instead of a class (thanks @andrewhamon)
* **(breaking change)** Free variables now must be specified with `forall`, a single uppercase letter will not work anymore
* **(breaking change)** The `libs` directory is no longer in the default CRYSTAL_PATH, use `lib` (running `crystal deps` should fix this)
* `class_getter`, `class_setter` and `class_property` macros were added.
* When compiling with `--debug` the `:debug` flag is present.

Thanks to everyone who supported this release through contributions, reviews and suggestions.

* [CHANGELOG](https://github.com/crystal-lang/crystal/releases/tag/0.20.3)
* [API Docs](https://crystal-lang.org/api/0.20.3)
* [Milestone 0.20.3](https://github.com/crystal-lang/crystal/issues?q=milestone%3A0.20.3)
