What's New
New updates and improvements to Hatchbox.io
Automatic SSL Redirects
We've refactored our Caddy configurations to take advantage of the built-in automatic SSL redirects with Caddy. This means your applications won't need to handle SSL redirects on their own anymore. Plus, static sites will now always be served over SSL.
For load balanced clusters, HTTP access is enabled on the web servers. The load balancer will strip the SSL connection and use HTTP on the local network for proxying requests.
Applying this update
To apply these changes to existing applications, click the "Update Caddy" button under your app's settings page.
If you still need HTTP access publicly, you can turn on the "Disable https redirects" feature in your Cluster's Settings.
ℹ️ Cloudflare users will want to ensure their domain's SSL mode is set to Full. If set to Flexible, this change will cause infinite redirects as Cloudflare will use HTTP to proxy to your site.
Caddy 2.11.2
We've upgraded Caddy to the latest version, 2.11.2, which includes bugfixes and a couple security fixes: https://github.com/caddyserver/caddy/releases/tag/v2.11.2
This also upgrades the Hetzner plugin to use the new Cloud DNS API for verifying wildcard SSL domains. You'll need to migrate from the DNS Console to the new Cloud DNS API if you're using Hetzner. See their documentation on how to migrate: https://docs.hetzner.com/networking/dns/migration-to-hetzner-console/process/
Automatic Windows Ruby Shebang Rewrites
Hatchbox will now detect `ruby.exe` in the shebang of your binstubs and rewrite them to `ruby` to make them Linux compatible during your deployments. 🎉
Removing SASL for Memcached by default
Since memcached only runs on the internal private network and is also firewalled, new memcached instances won't have SASL configured since it already runs in a trusted network. This will make it automatically compatible with Dalli 5.0+.
This change only applies to new Memcached instances. To remove SASL for existing memcached instances, you can run the following script as root:
#!/usr/bin/env bash set -eou pipefail # Remove SASL config sed -i "/^-S/d" /etc/memcached.conf # Restart systemctl restart memcached
Better Language Support
- No longer installs default Ruby or Node.js versions to speed up deployments
- Added corepack support for Node.js deployments to support Yarn v2+, PNPM and more
- Added bundle clean for optimizing disk usage after upgrading gems
- Added assets:clean to optimize disk usage for Rails deployments
Ruby 4.0.1
Check out the Ruby 4.0.1 release notes.
Ruby 4.0.0 & 3.4.8
https://www.ruby-lang.org/en/news/2025/12/25/ruby-4-0-0-released/
Caddy 2.10
To update your servers to the latest Caddy, visit your Server in the Hatchbox UI and click "Update" to update to the latest configuration.
September 18th, 2025 Incident
What happened
We also saw errors that the database host was inaccessible. This could have been related to the disk being full, but seemed unrelated. The database was connecting to the same server over it's private IP address and was failing to resolve the IP. It's possible this was caused by network maintenance in the datacenter overnight.
Our uptime monitoring checked for a 200 OK response from https://app.hatchbox.io. However, the homepage doesn't query the database meaning the uptime check was successful even during the outage.
Going forward
However, to fully free up the disk space, we needed to vacuum the Postgres database. Since vacuum full requires twice the amount of disk space, we mounted a volume, moved the tablespace, vacuumed the table, and restored the tablespace back to the server. This freed up over 50% of disk space on the server. We also vacuumed some other tables and started cleaning up PGHero stats every 14 days to reduce disk usage for it.
To fix the database IP address issue, a restart of the server resolved the issue. However, the Hatchbox database is running locally and the database host was misconfigured to use the server's private IP address instead of localhost. This introduces a dependency on the private network that is not necessary so change this should be more reliable and faster.
We have also modified our uptime check to hit a page that accesses the database to ensure the application is running fully.
Reliability is a huge priority for us to ensure that you have a good experience with Hatchbox, so we'll be improving our own infrastructure to ensure these types of problems don't happen again. We'll also be taking these lessons and applying them to Hatchbox to protect your own apps and servers from the same issues.
Ruby 3.4.6
https://www.ruby-lang.org/en/news/2025/09/16/ruby-3-4-6-released/
Added Bun.lock detection
Chrome Hangs While In Maintenance Mode
You may have noticed that Chrome hung indefinitely when requesting an app in maintenance mode. We've added the Retry-After header to signal to Chrome to come back alter instead of retrying the request automatically. Chrome users will now see the Maintenance Mode page rendered immediately without hanging.
Maintenance mode now renders 503 status
Previously, when enabling maintenance mode for an application, the maintenance page was served with status 200 OK. While this worked, it wasn't the correct HTTP response and doesn't convey the maintenance status to clients.
Ruby 3.3.9 and 3.2.9
These releases contain security fixes, so please upgrade!
https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-3-9-released/
https://www.ruby-lang.org/en/news/2025/07/24/ruby-3-2-9-released/
Ruby 3.4.5 support
Easier cluster transfers between your accounts
You can still use email to transfer a cluster to another user where you're not part of their team. This is a common situation where you might be leaving a company or client and need to transfer ownership without being part of their account going forward.
New default Ruby & Node.js versions
Git LFS support
Learn more at https://git-lfs.com/
Ruby 3.4.4 Available
https://www.ruby-lang.org/en/news/2025/05/14/ruby-3-4-4-released/
Stripe Billing changes
If you notice any issues, let us know!