What's New

New updates and improvements to Hatchbox.io

Ruby 3.3.2 & 3.1.6 support

New
Two new versions of Ruby were recently released and we've precompiled them so they're ready to use with Hatchbox!

See the release notes for more details: https://www.ruby-lang.org/en/news/2024/05/30/ruby-3-3-2-released/

Ubuntu 24.04 LTS Noble Numbat is the new default OS

New
With the latest Ubuntu LTS release out last month and running smoothly, we've updated Hatchbox to start creating new servers with Ubuntu 24.04 now.

Official Redis.io support for Ubuntu 24.04 LTS

Update
Redis.io has finally updated their repositories with Ubuntu Noble 24.04 LTS support. We've updated our configuration to use this repository to provide the latest Redis version. Hit configure on your Ubuntu 24.04 server(s) to use the new repository.

Wildcard SSL support with DNSimple

New
Caddy now includes a DNSimple plugin for handling wildcard SSL validation with LetsEncrypt. We've recompiled Caddy with this new plugin and added DNSimple to the supported DNS providers list so you can now use it for wildcard SSL certificates.

Custom Caddy Builds

New
Doing fancy things with Caddy? You can now supply your own URL for your custom Caddy executables. Edit your Cluster and add the URL for it to be installed on your servers during provisioning.

We recommend using our Caddy Builder script as a starting place to make sure you include any necessary DNS providers for wildcard SSL support. You can also compile specific versions of Caddy with additional plugins as needed.

Ubuntu 24.04 LTS Noble Numbat Support

New
Ubuntu 24.04 LTS was recently released and we've updated Hatchbox to support this new version.

The official Redis.io Ubuntu repository has not been updated yet. If you're using Redis on Ubuntu 24.04, it will install the Ubuntu maintained version until the Redis repository is updated.

Ruby 3.3.1, 3.2.4, 3.1.5, and 3.0.7 support

New
We've precompiled the latest Ruby versions which include several security fixes.

See the Ruby release notes for more details.

Rclone Update Failures

Fix
A few versions of rclone have a bug while running the "selfupdate" command. We've added a fix to detect this error and install the newest version when the update fails.

Hatchbox will also now update rclone during the configuration process to make sure you're using the latest version.

Whenever Crontab Environment

Fix
Apps using the whenever gem to manage cron jobs will now respect the RAILS_ENV environment variable when installing cron jobs.

Previously, the environment was not set when running whenever which defaults to the "production" environment, regardless of the RAILS_ENV set in environment variables.

Bun

New
We're excited to announce Bun support on Hatchbox! If your repository contains a bun.lockb file, Hatchbox will install the latest bun or the version specified in .tool-versions.

Ruby 3.3 Support

New
Ruby 3.3 was released yesterday and is now precompiled for use on Hatchbox!

See What's New in Ruby 3.3 and the release notes.

Improved Akamai / Linode integration

Update
We have updated our Akamai / Linode integration to remove the need for personal access tokens. Using a different OAuth configuration we were able to remove the need for personal access tokens entirely which makes for a cleaner and simpler integration.

For Akamai / Linode users, you will be prompted to reconnect your account when viewing your clusters. This will reestablish the connect using our improved integration. 

🎉 Hatchbox Deploy GitHub Action v2 is out!

New
The Hatchbox Deploy GitHub Action got a new release today with version 2.

The new version deploys the specific commit sha that triggered the GitHub Action instead of the latest commit in the specified branch. This makes it easier to make sure the deployments made during CI/CD are the exact commits that you want.

Assets default Cache-Control header

New
Assets from the Rails asset pipeline or webpacker are compiled with a hash at the end of the filename which allows them to be cached indefinitely. Today, we rolled out an update so Caddy will automatically add the Cache-Control header.

To use this new feature, use the Update Caddy button on one of the apps in your cluster. This will write the new Caddy config and enable the Cache-Control header. If you've customized your Caddy configuration, make sure to add the new variable to your config first.

Elasticsearch & Memcached Support

New
We've added unmanaged Elasticsearch & Memcached support! You can add this role to servers when you're editing or creating them. This will install and configure Elasticsearch and/or memcached on your servers.

Elasticsearch
Once installed, you can add Elasticsearch to your applications. This will set the ELASTICSEARCH_URL env var to your server's IP address. Elasticsearch uses SSL, so Hatchbox will automatically install the self-signed SSL certificate on your application servers to allow HTTPS access.

Memcached
Memcached is an excellent choice as a cache store for your applications. While Redis defaults to persisting all keys, Memcached is built specifically for handling caches and clearing out least recently used cache keys as needed.

We've configured memcached with SASL2 authentication so attaching Memcached to your applications will setup several environment variables with the connection information.

Jump Server / Bastion Host Support

New
If your servers are protected behind a jump server or bastion host, you can now specify the username, host, and port in your cluster's SSH tab.

With jump server settings enabled, Hatchbox will first login to your jump server using the cluster's SSH key and then connect to the servers inside your private network instead.
Screenshot 2023-07-04 at 2.54.20 PM.png 63.6 KB

GitHub Deployments

New
Applications deployed by Hatchbox using our GitHub App integration will now automatically have deployments recorded in their GitHub environments.
Screenshot 2023-07-04 at 2.51.47 PM.png 76.9 KB

Firewall Rules By Private IP Address

Update
We've updated our firewall rule management to handle firewall rules by private IP addresses in your cluster instead of subnets by default. 

This provides some added protection for servers in datacenters that don't use virtual private networks to separate servers by customer.

New default versions of Ruby 3.1.4 and Node.js 18.16.0

Update
We've updated our deploy script to install Ruby 3.1.4 and Node.js 18.16.0 for default versions. These were minor updates including bugfixes and no breaking changes. 

As always, if you'd like to use other versions, you can specify them in your repository by adding a .tool-versions file or .ruby-version and .node-version files.

🎉 Firewall Rule Management

New
We've introduced a new Firewall Rules tab on servers that you can use to customize the firewall rules for your servers.

Screenshot 2023-06-01 at 10.55.03 AM.png 320 KB

Hatchbox generates firewall rules automatically for your servers based upon their roles. For example, if you give a server the PostgreSQL role, we will automatically add a firewall rule to only allow port 5432 on the private subnet. This lets other servers in your cluster talk to Postgres, but nothing from the public internet to keep things secure. 

Firewall rules are handled by UFW on your servers which denies all incoming traffic by default.