Crystal 0.25.1 released!

Although there are a couple of new features, this release is focused on polishing and fixing some regressions introduced by 0.25.0. There were 40 commits since 0.25.0 by 18 contributors.

Shards is updated to 0.8.1

The global cache introduced in 0.8.0 had some regressions, so an updated version was required.
Did you know that shards can be checked out, hacked around, compiled and used like any other console application? Don’t forget to check it’s repo to see other code bases that help Crystal move forward.

Refinements in JSON::Any and YAML::Any

These wrapper structures are very handy but sometimes they cause a bit of confusion.

For example, with the inherited default #dup, the result and the receiver would share a reference to the same inner value. Wrapper’s identity is rarely more important than the inner value’s identity. So having #dup (and #clone) on the wrapper to actually perform the operation on the inner value makes a bit more sense.

Improve HTTP::StaticFileHandler with ETag

In case you didn’t know, there are headers that help HTTP communications to avoid sending too much data if the client already has it. The HTTP::StaticFileHandler keeps and will keep learning about them.

Although there are a couple of new features, this release is focused on polishing and fixing some regressions introduced by 0.25.0. There were 40 commits since 0.25.0 by 18 contributors.

Shards is updated to 0.8.1

The global cache introduced in 0.8.0 had some regressions, so an updated version was required.
Did you know that shards can be checked out, hacked around, compiled and used like any other console application? Don’t forget to check it’s repo to see other code bases that help Crystal move forward.

Refinements in JSON::Any and YAML::Any

These wrapper structures are very handy but sometimes they cause a bit of confusion.

For example, with the inherited default #dup, the result and the receiver would share a reference to the same inner value. Wrapper’s identity is rarely more important than the inner value’s identity. So having #dup (and #clone) on the wrapper to actually perform the operation on the inner value makes a bit more sense.

Improve HTTP::StaticFileHandler with ETag

In case you didn’t know, there are headers that help HTTP communications to avoid sending too much data if the client already has it. The HTTP::StaticFileHandler keeps and will keep learning about them.