We've just released API version 5, which contains many enhancements and new features. Since the
introduction of API version 4, our website traffic has tripled. Nowadays we handle 6 million requests per
hour. It's an accomplishment that we're very proud of, handling such large amounts of traffic is a great
challenge. This service would not have been reliable without the CDN provided by Cloudflare and
effective software (such as nginx and libvips).

Here's a summary of the changes. To maintain backward compatibility, all parameters listed on API 4 still
work on API 5. The source code is available on the 5.x branch, this will become the default branch in
the future.

With API version 5 we've rewrote the entire codebase to C++ as a nginx module. The reason for this
rewrite is to tighten the control over memory allocation. We found out that the current garbage collector
(GC) in LuaJIT 2, which is essentially the same as the one in vanilla Lua 5.1, is not very fast for large
workloads. A new GC is already proposed for LuaJIT 3.0, but it has not yet been implemented.

We also worried about the future of LuaJIT, given that the author of LuaJIT is stepping down. It is
doubtful whether anyone will fill his shoes. The new C++ codebase ensures that we can continue our
service for many years to come.

The new without enlargement parameter (&we) can be used in combination with all &fit=
parameters. We also introduced a new parameter named &fit=outside, which will resize an image to
be as small as possible while ensuring its dimensions are greater than or equal to both those specified.

Instead of only being able to rotate multiples of 90 degrees, any angle can now be given. The remaining
space can be filled with a background color by using &rbg=. To reflect this change, the &or=
parameter has been renamed to &ro=.

Instead of returning our error messages as plain text, you'll now receive a JSON-formatted response with
the appropriate application/json MIME-type. This makes it easier to integrate our service into any
type of website or application.