2 min read

Yesterday, the team at Crystal released Crystal 0.28.0, a new version of the general-purpose, object-oriented programming language. This release comes with improvements to language, library, networking and much more.

What’s new in Crystal 0.28.0

Enums

Enums are declared with one line per each member. In the previous versions, users could use spaces or commas, but in this version, users have to use a semicolon. The formatter will now migrate commas to a semicolon.

Improved ranges

Sometimes users don’t know where to start or finish, from this release users can now understand it better with the help of ranges as they have been categorized as begin-less and end-less ranges.

Library lookup

The team at Crystal has worked towards simplifying how some libraries and static libraries are looked up and therefore can be overridden in case it is needed. In this release, an env var CRYSTAL_LIBRARY_PATH is used in the process of determining the location of libraries to link to.

Numbers now in human readable format

In this release, numbers can now be printed in a human-readable form with the help of Number#humanize, Int#humanize_bytes and Number#format.

Networking

The team has improved HTTP and URI and have made it easy for users to migrate to the new setup. Issues in the URI implementation have been fixed.

Collections

The team has dropped Iterator#rewind. Users can implement #cycle by storing elements in an array.

Bug fixes

  • The issues in the compiler have now been fixed and even the errors in some code constructs have been handled.
  • Issues related to method lookup have been fixed.
  • Type inference has been improved.
  • The team has worked on the error messages, they have been improved.

To know more about this news, check out Crystal’s post.

Read Next

Crystal 0.27.0 released

Qt Creator 4.9.0 released with language support, QML support, profiling and much more

Redox OS 0.50 released with support for Cairo, Pixman, and other libraries and packages