Flightcontrol changelog

ECS-EC2 is now available in preview

Hi folks! ECS-EC2 is now available in preview, which adds support for GPU workloads and increased customization of your instances. We're also testing SSO right now and making good headway on our build system!

πŸš€ Features

  • ECS-EC2 available in preview, contact us to opt in

  • New pricing plan display

  • Added project config file path to project settings

🐞 Bug Fixes + UX Improvements

  • Fixed issue where logs could not be copied

  • Fixed an intermittent issue where cancelling the deployment would not work

  • Ensure that the environment sidebar automatically refreshes

  • Fixed an issue where invalid rebuild options were being displayed to the user


Lots of UX Improvements

Hey folks! We've shipped a number of UI/UX improvements last week: most notably, we've increased the dashboard speed. Additionally, we've added additional information and refined current displays to be more helpful. Meanwhile, we're continuing to make great progress on SSO, our new build system, and EC2-ECS!

πŸš€ UX Improvements + Bug Fixes

  • Improve dashboard speed

  • Change environment status shown on the project card to show the status of the latest deployment

  • Show load balancer and cloudfront domains, when available

  • Fixed a bug where cost was $0 on the first day of the month

  • More small UX/UI improvements


πŸš€ Announcing Role-Based Access Control

Hello everyone! We've got a lot of items this week. First, role-based access control is now live! Organization owners can update roles in the organization settings side pane under the "Members" tab.

In addition to that, we're making great progress on SSO, as well as EC2 for ECS which will greatly increase the customizable options for your instances as well as add opportunities to reduce cost.

πŸš€ Features

  • Add GitHub CI checks for deployments

  • Show current running instances for servers and workers

  • Add Github deployments for standard environments

  • Add commit sha options to deploy hooks

  • Add more ids in our getDeployment api (docs)

  • Add documentation for Github deployment actions CI integration (docs)

🐞 Bug Fixes / UX Improvements

  • Fix cost displays

  • Performance improvements for the dashboard

  • Fixed a bug where no commit author profile pic was being shown

  • Fix a bug where an error message was shown when rolling back a deployment even though the rollback succeeded

  • Improve UX when adding image registries

  • Cron jobs

    • Fixed a bug where builds were failing for docker build types

    • Fix an bug where "next run at" was incorrect when using timezones

    • Improve speed of job graph pop-up

    • Improve UX of form


πŸš€ Cron Jobs now generally available

Hi folks! We're stoked to announce that cron jobs is now available for general access! We hope you'll enjoy using the feature- please give us any feedback! Next up- SSO!

You can read more in our announcement post, and if you'd like, help spread the word on social media (Twitter, LinkedIn)

πŸš€ Features

  • Cron jobs - released for GA πŸŽ‰

    • Allow selection of an IANA timezone constant in the UI

    • Add timezone labels

    • Add schedule presets

🐞 Bugs / UX Improvements

  • Hide "deploy this commit" for deployments with GIT_CLONE_ERROR as this operation is not possible

  • Fixed an issue where static site previews are not renewing their SSL certificate

  • A few small bug fixes and copy improvements


Added Support For Redis 7.1 & Postgres 16

Hello all! We've updated support for Redis & Postgres to keep up to date. For cron jobs, we plan to roll the feature out for GA by the end of this week. We're so excited to finish this work and hope that you all will find it useful. Next, we're going to start working on a few security features such as SSO.

πŸš€ Features

  • Adds support for Redis 7.1

  • Adds support Postgres 16

  • Added date stamp popup for graphs

  • Cron jobs

    • Added graphs

    • Allowed job execution logs to be accessed with a unique URL

    • Added timezones in the UI

    • Show upcoming job execution

πŸ› Bugs

  • Fixed an issue where users could run a job before successfully deploying

  • Fixed cancellation button display

  • Fixed several job runner preview environment bugs

  • Several small UI/UX tweaks and fixes


Improving Cron Jobs

Hello and happy Tuesday! We're working on the finishing touches on opening cron jobs for GA- fixing bugs reported by our preview users and fleshing out the features. Please let us know if you have any feedback for us- we want to make the best product possible!

πŸš€ Features

  • Cron jobs features (in preview, please contact support to use it)

    • Added cron jobs docs, available here.

    • Allowed creation of fargate scheduler when creating new environment/project

    • Added deletion of fargate scheduler service and service jobs

    • Added hints for chron string input in the UI

    • Added notifications for job execution failures

    • Add custom timeout for jobs

  • Added pre-deploy and post-deploy commands to all build types

  • Added container insights to all fargate services: docs

πŸ› Bugs

  • Hid logs displayed incorrectly for rds & elasticache

  • Fixed a bug where elasticache was not setting network as private

  • Fixed an issue where config changes would use the active commit instead of the latest commit

  • Fixed an issue where deploy hooks would not respect the force flag

  • Other various UI/UX fixes and improvements


Announcing Cron Jobs and Ad-hoc Commands

Hello all! We're excited to announce that cron jobs are now available as a preview feature, and you can opt-in by contacting support. This feature will allow you to run commands manually or on a schedule. We expect this to be generally available within two or three weeks.

πŸš€ Features

  • Cron jobs!

πŸ› Bug Fixes

  • Fixed an issue where deployments using environment variables from secrets manager were failing

  • Fixed an issue where the domains page was throwing an error

  • Fixed an issue where users could see the config tab on services from pull requests

  • Fixed an issue in onboarding where user projects were not being deployed if they closed their browser window


Continuing Work on Cron Jobs

Hi everyone! We're continuing our work on cron jobs while also making sure we address bugs that users report during the week. We had several team members taking time off last week, so development pace was slower, but we're looking to pick up speed this week.

🐞 UI/UX Improvements & Bug Fixes

  • Fixed a bug where elasticache cost was always $0

  • Fixed a bug where a deployment after editing environment variables would deploy latest commit on the branch instead of the currently active commit

  • Fixed a bug where users could not create a Dockerhub image registry in onboarding

  • Fixed a bug where users could not create an environment immediately after deleting an old one

  • Improved deployment UX not to skip a deployment if global (project/environment) environment variables are changed


Introducing Post-deploy Commands

Hey folks! We added post-deploy commands as a preview feature last week. In parallel, we're still working on cron jobs and other small UI/UX improvements. Please let us know if you have any feedback!

πŸš€ New Features

  • Post deploy commands

    • You can now configure a command to run automatically after a successful deploy (such as busting a cache). Read more in the docs.

πŸ› Bug Fixes & UI Improvements

  • Fixed a bug where watch paths field kept resetting for Safari users configuring a new project

  • A few other small UX improvements


Cron Jobs Coming Soon

Hello everyone! Work started this week on cron jobs, which we're very excited about- more news to follow. In addition to that, we've also been finishing pre-deploy commands and working on improving the UI/UX of the product.

πŸš€ New Features

  • Added user settings pane- you can update your username, email and password. This can be accessed in the top right dropdown:

  • Improved Github comment layout

  • Added helpful documentation links on confusing error messages (think concurrent build and VPC limits) - we'll continue to add more of these links to our errors

  • Allow updating config and triggering a new deployment for a project when the config file is not found

  • Added ability to destroy a pull request preview environment

🐞 Improvements & Bug Fixes

  • Improved UX when changing environment/service configuration: when you have an environment with trigger source manual, changing the config will now redeploy the active commit rather than deploying the latest commit on the branch

  • Fixed a bug where the duplicate environment flow would not allow you to change the region of the new environment

  • Various other UI/UX fixes


Introducing Pre-deploy Commands

Hi everyone! This week, we're excited to announce pre-deploy commands, beginning with a private rollout- contact us if you'd like to try out the feature.

With pre-deploy commands, you'll be able to define commands that automatically run in between the build and deploy step of your service. See the docs here for more information.

In addition to pre-deploy commands, we've been working on rounding out the new website to be feature complete with the legacy site, as well as introducing many UX improvement & bug fixes.

πŸš€ New features

  • Pre-deploy commands

  • Added UI for when your project has an AWS account that has not yet been connected to AWS

🐞 Improvements & Bug Fixes

  • Fixed a UX problem where users clicking "abort" on a form would still get prompted to confirm changes

  • Fixed a bug where users could create environment variables with duplicate keys in the UI

  • Fixed a bug where users could not cancel deployments of a preview environment

  • Fixed a bug where the environment trigger was not being shown in the selector

  • Fixed a bug where preview envs were not being deleted on project deletion

  • Removed port field from RDS forms as it was unsupported

  • Various other small UI/UX fixes & improvements


Added Health Check Grace Period Config

Happy new year everyone! We're hard at work on a new pre-deploy command feature, and we're continuing to address user feedback on the new dashboard.

πŸš€ New Features

  • Allow configuration of health check grace period. You can now configure how long the ECS service waits before allowing health checks- you may want to use this if you have a process that takes longer than normal to start. See the docs for more information.

🐞 Improvements & Bug Fixes

  • Fixed a bug where environment variables with "=" could not be used

  • Fixed an oboarding issue where users were unable to progress after creating their initial project

  • Fixed an issue where users could have duplicate service environment variables

  • Improved cost estimates

  • Various UI/UX fixes


Developer Experience Improvements

We've been improving the developer experience for you with several quality-of-life improvements in the past week. Most of these have been suggestions from users, or thigns we've noticed could make your job easier!

Important Note for the default or "nodejs" build type
Flightcontrol's original build system was Node.js only, not the Nixpacks system we use today. We still support the "nodejs" build type, but we encourage everyone to move to Nixpacks, as the "nodejs" build type is limited to Node 16 or below, and that version is now past end-of-life.

Previously, if you do not specify a build type for your services in a flightcontrol.json file, Flightcontrol will default to "nodejs", which may or may not be what you want. For all new projects, the Flightcontrol platform will require you to explicitly set the build type in your flightcontrol.json file. We strongly encourage you to use "nixpacks" for all builds, so that you can use Node 18, Node 20, or other languages such as Python, Ruby, Go, or Java. You can also build from a Dockerfile or pull from a custom image registry.

This does not affect currently deployed projects, however if you would like to either set your build type to "nodejs", or change your build system to Nixpacks in your flightcontrol.json file, we are happy to assist with this.

🚁 Developer Experience Improvements

  • Increased the default CodeBuild size for Fargate and Static Site builds from Small to Large. This alleviates failing builds for large JavaScript projects due to out-of-memory errors.

  • Added the CloudFront-Forwarded-Proto=https header to all Web Services for better Clerk support

Other improvements & fixes

  • Fixed several minor UX issues in the dashboard


Dashboard Improvements + New Features

changelog cover

We've worked really hard on improving the dashboard we shipped two weeks ago as Flightcontrol 2.0! Overall feedback was very positive, and we got a lot of "It would be great if..." feature requests and minor bugs that we fixed.

In addition to these improvements, we added two new features to Flightcontrol that we think you'll find useful.

πŸš€ New Features

  • Runtime-only environment variable support. By default, Flightcontrol includes your environment variables in the build for Nixpacks or Dockerfile builds. If you would like to only use environment variables at runtime, you now have that option on a per-service basis.

  • Preview Environments for draft pull requests. One of our most requested features has been to support preview environments for draft pull requests. Please try this out!

πŸ› Bug Fixes and Improvements

  • After launching the dashboard, we've made many individual improvements to the user experience and developer experience. We're continuing to make it the best dashboard!


Launching the New Dashboard Next Week!

We've been hard at work on the new Flightcontrol dashboard, and we're so excited to officially launch it and make it the default going forward! Right now, the new dashboard is in open preview, and you can use it side-by-side with the current dashboard.

In the meantime, we've also made several improvements to the platform that we'd like to share with all of you.

πŸš€ New Features

πŸ›« Improvements and Changes

  • Increased the default read timeout for CloudFront to 60 seconds from 30 seconds for new environments. This means that your service can now take longer to respond to an HTTP request.

  • For brand new projects, we no longer set the NODE_ENV and RAILS_ENV variables by default for builds using Dockerfiles. This lets users set their own values (such as staging or test) for these environment variables.

  • For new services, we now use Nixpacks version 1.17.0 for builds.

πŸ““ Docs


Customer Feedback Requested on New Dashboard

We've revamped our dashboard, and we're in the process of getting it ready for early adopters to try out. In the mean time, anyone on our teams plans can schedule a quick meeting to preview the new dashboard with us - we want to show it off and hear your feedback!

πŸš€ New Features

  • Changed the default Nixpacks build system version to 1.13.0 for all new services. Especially for PHP-based projects, this should mean more projects deploy successfully without any initial changes. You can still choose any version of Nixpacks to use by setting a NIXPACKS_VERSION environment variable.

πŸ“• Docs


AWS CodeBuild Concurrency Limit Changed + Sidecar Containers + Sentry Integration

Many of our customers are reporting that AWS has lowered the CodeBuild concurrency limits (https://docs.aws.amazon.com/codebuild/latest/userguide/limits.html) on their accounts. This affects how many builds Flightcontrol runs for you at a time - you may request a quota limit change from AWS through the console to address this:

πŸš€ New Features

  • Sidecar Containers

    • Starting with Datadog, Flightcontrol now supports adding sidecar containers to your Web Server and Worker services. You can decide how much CPU and memory gets allocated to each sidecar, along with the image to use, the port, and any environment variables for configuration.

  • Sentry integration

    • Flightcontrol is rolling out first-class integrations with selected developer tools. Sentry is our first integration - we support uploading source maps to Sentry after Nixpacks builds. Want something integrated? Let us know on our roadmap!

  • Post Build commands for Nixpacks builds

    • After your application builds, you can automatically run a command or script. Use this as a build hook. The post build command will only run once, not on each container. This is available for Web Server, Worker, and Static service types.

  • Postgres 15 Preview Environments now support SSL connections.

    • If you're using SSL connections with the latest version of Postgres on RDS, our preview environments now fully support this approach.

πŸ› Improvements and Fixes

  • Fixed issue where changing saved credentials on existing image registries wasn't persisting

  • Added better error messages for cases where the build fails to deploy on ECS - we display more information from ECS.

  • Fixed issue where cancelling pull request deployments for preview environments failed to actually cancel.

πŸ“• Docs


Redis for Preview Envs + Deploy hooks for Preview Envs + GitHub Container Registry!

We've been hard at work on the all new dashboard with new UI/UX, but we've also working hard to continue shipping new hotly requsted features. Hope you enjoy them! And if you don't, please give us feedback!

πŸš€ New Features

  • Redis for Preview Environments

    • Redis is now fully supported in preview environments. It works the same as RDS, sharing a single ElastiCache instance accross all your preview environments to keep your costs low.

  • Deploy Hook support for Preview Environments

    • Deploy Hooks are now fully supported for preview environments! You can create and manage hooks for preview environments by clicking on Edit Environment in the Preview Environment section from your Project page.

  • GitHub Container Registry

    • In addition to DockerHub & AWS ECR, GHCR is now supported as a first class registry. If you'd rather manage your build, you can point us to an image registry and then trigger a deploy with a deploy hook.

πŸ› Improvements & Fixes

  • Fixed some edge case bugs around preview environments not being created

  • Added Laravel demo as option during onboarding

  • Various bug fixes & improvements

πŸ“• Docs


Autoscaling Improvements

Our Flightcontrol engineering team developed and released autoscaling improvements for new services on Flightcontrol. Existing services will continue with their current autoscaling settings.

For new services, if you set different minimum and maximum number of instances for your web servers or workers, Flightcontrol will use the following default rules for autoscaling:

  • 70% CPU utilization

  • 70% Memory utilization

  • For web services only - 500 requests/minute

The cooldown for creation or deletion of a service is 300 seconds, so your instance pool can respond to the incoming traffic before deploying or destroying instances.

All of these default settings may be changed in the flightcontrol.json configuration file.

πŸ““ Docs


Announcing Preview Environments for Static Sites!

Flightcontrol supports Preview Environments for web servers, workers, databases, and now static sites as well! What this means is that if you use a static site generator (like Astro or Eleventy) to build your web site, Flightcontrol can create a preview environment with its own URL for each open pull request. Use that preview environment to do testing or gather feedback.

We're continuing work on our dashboard overhaul as well, to deliver the best UI/UX for all of you!

πŸ“• Docs


Rollback is Live!

Our much-requested rollback feature is now live for all customers. The Rollback page in the docs has more details. Please let us know if you have any feedback!

Brandon will be speaking at the Infobip Shift conference in Miami this week - say hi!

πŸ“• Docs

πŸ› Fixed Bugs

  • Fixed the way we provide commands for Nixpacks for static site builds, which means more builds will be successful without requiring manual configuration for commands

  • Fixed notes display in Docs on Dark Mode to be legible


Rollback GA This Week + Work on Dashboard Overhaul

We have Rollback available as an opt-in early access feature, and we will be making it generally available later this week for everyone to use.

On the dashboard side, we're working on the new UI/UX for our Dashboard - send any ideas for improvements our way!

πŸš€ Improvement

  • Updated our ElastiCache pricing estimates to take into account that we run two instances of ElastiCache, along with updated pricing information from AWS

πŸ“• Docs

πŸ› Fixed Bugs

  • For users with over 100 GitHub repositories in their accounts, we were not fetching and displaying all of them in our dashboard for you to choose from. We now fetch all of your repositories.

  • Sometimes when multiple pull requests were opened all at once, preview environment builds were timing out. This issue is now fixed.


Rollback + Preview Environment Watch Paths

Our new Rollback functionality is available as early access now! Reach out to us using Slack, Discord, or email to turn on rollbacks, restarts, and rebuilds for your projects. We're making Rollback available to any user that wants to use it now, and then making the feature generally available by next week.

This week, we're at the Write the Docs conference in Portland, Oregon and the Remix conference in Salt Lake City, Utah. Come say hi!

πŸš€ New Features + Improvements

  • Rollback, restart, and rebuild for a given deployment. Now in early access.

  • Added watch paths to preview environments. Choose which services to build when selected files or directories change in your repository for a given pull request.

πŸ“• Docs

πŸ› Fixed Bug

  • Fixed a bug with our database engine selector in the dashboard. Previously, if you were using a certain database engine (such as MySQL) and database version (example, 8), the database version would be reset if you modified the database engine but then went back to the original. This bug is now fixed.


Working on Rollbacks + Dashboard Overhaul

We're finishing up the deployment rollbacks functionality, so that you can re-deploy previous builds with confidence. Our development team is also moving forward with a user interface and user experience overhaul of our dashboard. We want to create the best place for all of you to deploy your builds and monitor their behavior over time, and we'll be excited to show you our new dashboard when it's finished.

This week, Flightcontrol will be at the Deep Dish Swift conference in Chicago, as well as the Reactathon conference in San Francisco. Come find us there and say hi!

πŸš€ New Features + Improvements

  • We added support for using Postgres version 15 with Amazon's Relational Database Service (RDS). Version 15 is now the default version selected for new databases. You can select another Postgres version if needed, going back to version 9. Existing deployments will not be affected.

πŸ“• Docs


React Miami + Rollback + Dashboard UX Project

changelog cover

Last week, the Flightcontrol team gathered together at the amazing React Miami conference in Miami Beach, Florida!

We started work on an overhaul of the Flightcontrol dashboard's user interface and user experience. We're trying to make our dashboard the most intuitive developer experience out there for cloud deployments.

Our team also continued to work on the rollback capability for service deployments, as we know this is an important feature for many of you.

πŸš€ New Features + Improvements

  • You now must pick an AWS region to deploy in, instead of using the default (this was us-west-2). It wasn't always clear that you could or should be changing that AWS region, so we now have you make the choice yourself.

  • We changed the way we load environment variables to display them in the user interface, so that users with many environment variables will see those pages initially load much faster.

πŸ› Bug

  • Fixed a bug where Next.js Typescript builds would fail with next.config.mjs (Next Config for ES Modules)


React Miami! Meet the Flightcontrol Team + Rollback Work

changelog cover

Our big announcement for the week is that the Flightcontrol team is assembling together at the React Miami conference this week! We want to meet our Flightcontrol users and anyone else who is busy writing and pushing code to production. How do you deploy things?

It's not just all React this week - we're working on the Rollback feature so that you can redeploy your last good build easily.

Last week, in addition to the Rollback work, we also made some improvements to better support Incremental Static Regeneration (ISR) with Next.js, and added a few new docs to the site.

πŸš€ New Features + Improvements

  • Improvements for working with Next.js Incremental Static Regeneration (ISR) - add support for Next.js preview mode, and detect Next.js applications better to support ISR if they don't have a next.config.js file.

  • Also support loading Next.js config as an ES module with the next.config.mjs file

πŸ“• Docs


Work on Deployment Rollbacks + React Miami Coming Up!

After shipping email and Slack notifications, we have to keep the momentum going! We're adding support for rolling back deployments. For all of us that have shipped some code that didn't quite go as planned, this new feature will make it easy for you to use your last known good build.

We're also getting the team together at the React Miami conference on April 20-21, 2023 in Miami Beach, Florida. If you are going to the conference, come find us and say hi! We'll have stickers to give away, and all of us like talking to our Flightcontrol users!

πŸ“• Docs

πŸ› Fixed Bugs

  • Fixed a bug where it was possible to specify a non-existent database version for an RDS service

  • Fixed an issue where Flightcontrol would not clone Git submodules properly during a deployment,

  • Fixed a bug in deployments where the yarn install command failed with the error message "lockfile would have been modified"


Notifications Launch + Relaunch of Docs Site!

changelog cover

This week is a double launch for us at Flightcontrol! We're turning notifications on today (Monday, April 3, 2023). The first thing you will see is an email from us to all members of your organization if a build fails. You can customize the email notifications you get, as well as sending Flightcontrol notifications to a Slack channel on your Organization Settings page. Learn more about configuring notifications in our docs.

Speaking of docs - we redid our documentation site (https://www.flightcontrol.dev/docs)! We organized the docs with a new information architecture, added a full-text instant search, setup code highlighting, and made updates to every piece of content on the site. We used the Nextra site generator, and we hope you try out Nextra too! You'll see more improvements and additions to the docs, and we'll call attention to the big changes in these weekly changelogs.

To sum up this week:

πŸš€ New Features + Improvements

  • Email and Slack notifications for important events, like deployments failing

  • Relaunched the Docs web site (https://www.flightcontrol.dev/docs)

  • Added the ability to set the base path to the static site form when configuring a service in the dashboard

πŸ’… Changes

  • Preview environments are now a Team feature, and not part of the Hobby plan.

πŸ› Bugs

  • Fixed a bug in deployments where the error analyzing screen was being shown, even if the deployment was actually up and running fine. If there is an error, display more contextual information to explain why the error occurred.

  • In existing environments, the region is now locked down, and can not be edited. It's never been supported, but we erroneously let you try to change it.

  • Miscellaneous bug fixes


Rolling Out Notifications Later This Week!

We'll be launching Notifications at the end of this week. Now you'll get email and Slack alerts for your important deployment events. No more wondering whether a deployment failed or keeping a browser tab open to your project page - Flightcontrol will send you an email to let you know! If you install our Slack integration, we'll also be able to update you there.

We're progressively rolling it out this week, and expecting it to be generally available for everyone at the end of the week.

Have any ideas about how else you'd like to get notifications? Let us know through the Roadmap (https://roadmap.flightcontrol.dev/roadmap).

πŸ’… Improvements

  • All new Flightcontrol services (not just projects) will use Nixpacks 1.6.0 instead of an older version, if you use Nixpacks for deployment.
    To use another version of Nixpacks, set the NIXPACKS_VERSION environment variable for your service. Existing services will continue to use whatever Nixpacks version you currently have.

πŸ› Bug

  • Fixed an issue related to deleting a Flightcontrol service from the dashboard - if you have had services that you could not delete from your environment, this bug has been addressed.


Notifications Shipping Very Soon + Status Page

Last week, we accomplished a lot of our remaining work on Notifications. We are now polishing up our Notifications functionality so that you and your team get timely build and deployment events.

We've also added a status page (https://status.flightcontrol.dev/). You can see how the Flightcontrol Platform is performing, as well as the services and APIs (GitHub + AWS) we use to deploy your projects.

πŸ’… Improvements

  • New Projects will use Nixpacks 1.5.0 instead of an older version, if you use Nixpacks for deployment. If you would like to use another version of Nixpacks, set the NIXPACKS_VERSION environment variable for your service. Existing projects will continue to use whatever Nixpacks version you currently have.

  • Updated the AWS Code Build base image to Ubuntu 22 so that we have Python 3.10 installed. This is important for the AWS Command Line Interface.

  • Added Destroy Service button to the Environment edit screen, so that you can remove services from an environment more easily.

πŸ› Bug

  • Fixed an issue where it was not possible to change the size of your Relational Database Service (RDS) databases when editing a service.


Working Hard on our Notifications Project

The team at Flightcontrol is still working hard on our notifications project! We've heard from many of you about how important notifications are for your deployments, and we're committed to delivering this for you. In addition to the team effort towards notifications, we've made some other improvements to the platform and fixed a bug in the AWS cost estimations we show you.

πŸš€ New Features

  • Added the ability to leave single line (//) comments in your flightcontrol.json configuration files. Now you can document the reasoning behind your configuration. The comments can go on a new line, or at the end of a line. Although the // comment is not part of the JSON specification, Flightcontrol will be able to parse your configuration files.

  • Added a SENTRY_RELEASE environment variable which contains the Git commit hash for the deployment. This is useful when you integrate the Sentry error monitoring tool.

πŸ’… Improvements

  • Added an in-app chat messaging window in the dashboard. Ask a friendly Flightcontroller your questions, or send us some feedback and we'll get right on it!

  • Added the error type to some of our error messages in the dashboard. We're hoping that this will give you more context when we detect a problem with your deployments.

  • Removed the legacy nodejs build type for new services. You can still build your existing services with the nodejs build type, but for new Node.js deployments, use nixpacks instead for a better developer experience.

πŸ› Bug

  • Fixed the cost estimation for Fargate workers - removed a $17/month load balancer cost that isn't actually included with Fargate worker tasks. This should give you a better representation of your actual costs when using Fargate workers.


Ongoing Work on the Notifications Project

Another great week for development here at Flightcontrol! We're working hard on our notifications project, and can't wait to share it with all of you. We've also shipped several bug fixes and one improvement that should help clarify when we deploy pull requests.

πŸš€ Improvements

  • Update our messaging on draft pull requests to make it more apparent that pull requests get deployed when they get marked "Ready for Review"

πŸ› Bugs

  • Fix issue with creating project using public GitHub repositories

  • Fixed a bug that wouldn't let you change the port number (such as 3000) on a new service. For already deployed services, you will still need to delete the service and recreate it to change the port number.

  • Fixed a bug that threw an unnecessary error when deploying a new environment - "Failed to find environment or project for this deploy hook"

  • Fixed a bug that led to degraded performance on some deploys


Auto-updating CodeBuild Environments and Starting Notifications Project

Hi everybody! We're working hard on Flightcontrol, we shipped a number of improvements, and are starting work on the notifications project. Once we're finished with this project, you'll be able to subscribe to important events from your deployments.

πŸš€ Improvements

  • CodeBuild environments now use the latest AWS Linux builds, and will be auto-updated to the latest if necessary

πŸ’… UX

  • For Hobby users, choosing a GitHub repository from an organization account will ask you if you want to become a Business account

  • The Custom Domains screen will show the app's CNAME Domain Status until it is actually routed, with support for zero downtime migration to your domain

πŸ› Bug Fixes

  • Fixed a bug where a static build will fail when outputDirectory is a path

  • Fixed a bug where dotfolders and dotfiles weren't being watched with a watchPath

  • Miscellaneous bug fixes


Improve Repository Watch Path Logic, Other Improvements & Bug Fixes

Hello everyone. This week we made several user experience improvements and bug fixes for deployments.

πŸ’… UX

  • Change watch path logic to be ignored (deploy everything) if git diff fails for any reason.

  • Documentation now shows a message saying no results found instead of a 404.

πŸ› Bug Fixes

  • Fixed a bug where during onboarding flow gets to bad state if user goes back.

  • Fixed a bug where deployments are not cancelled during certain failures.

  • Fixed a bug where previous deployment errors were being overwritten.


Redis Encryption at Rest & Get Deployment Status API

changelog cover

Hello everyone. We're back to the office today after our week long retreat in Thailand. We were able to work on multiple improvements and bug fixes during our time together last week. Some of the improvements we shipped mono repository support, and provide more configuration options for preview environments.

πŸ›« New Features

  • Added the new supported field basePath which indicates in which folder the nixpacks build should run. See more in the docs.

  • Added a new configuration option called encryptionAtRest to configure if Redis is encrypted at rest. This option is enabled by default. See the docs for more information.

  • Added new Flightcontrol API endpoint to get the status of a deployment. See more in the docs.

  • Added the fromBranches filter for preview environments, used to specify which branches should be deployed to a preview environment. See more in the docs.

πŸ’… UX

  • An environment's AWS account is now displayed next to the environment's region.

  • In dashboard, move the Install Command field out of advanced configuration up next to Build Command.

πŸ› Bug Fixes

  • Fixed a bug where public API endpoints threw a CSRF error on POST requests

  • Fixed a bug where deleting a Redis cluster didn't delete correctly the first time.

  • Fixed delete certificate workflow to use us-east-1 in retry custom domains.


Changelog: Thailand Edition - UX & Bug Fixes

changelog cover

Hello everyone! I'm writing this from Thailand, where everyone but Kayla (passport troubles) has met up for a week-long retreat. We've spent a lot of time focused on reinforcing team values and refining our team processes, as well as working on a new feature to alleviate monorepo headaches.

πŸ’… UX

  • Added framework presets to new environments. Previously, these were only available when creating a project for the first time.

πŸ› Bug

  • Fixed a bug where projects would not show preview environments if it was in an error state.

  • Fixed a bug where users could not remove services in the project creation page

  • Increased a timeout for one of our temporal workflows to facilitate support for massive repos


Pre-built Image Support and Nixpacks Improvements

Hi everyone! This week, I'm excited to announce pre-built image support, which allows you to "bring-your-own-image" to Flightcontrol. This feature means instead of only using Flightcontrol as CI/CD, you can use it as primarily CI.

πŸ„ Features

  • Added pre-built image support: see the docs for more information.

  • Added support to deploy public docker images without a Dockerfile: see the docs for more information.

πŸ’…πŸΌ UX Improvements

  • Change build auto cancellation to only cancel "pending" builds. This ensures new code is deployed even if you are git pushing faster than the build/deploy cycle time.

  • Improved Nixpacks caching

πŸ› Bugs

  • Fixed watch paths not working when the path starts with `/`

⚠️ Deprecation

  • Nodejs builds for static sites are deprecated. We recommend using nixpacks instead because it will automatically determine node version & package manager type.


Update Build Cancel Behavior & Other UX Improvements and Bug Fixes

Everyone is back in the office now, and work on pre-built images has been moving steadily, with a release coming very soon. In the meantime, here are some bug fixes and UX improvements that we've shipped.

πŸ’… UX

  • Changed how builds are canceled- now, only builds that have not been started will be canceled. In-progress builds will never be canceled

  • Fixed an issue where users could unintentionally create multiple Flightcontrol AWS accounts in the onboarding flow

πŸ› Bug

  • Fixed the incorrect services being copied for preview environments when attempting to copy an environment config

  • Service's environment variable have unexpected numbers appended on project creation

  • Fixed CloudFront cache policies limit

  • Added missing build link for our Github preview environment comment


Add new FC_AWS_REGION environment variable

changelog cover

It was another quiet week as we had several engineers out of office, however, everyone is back for this coming week. During the past week, we have been working on pre-built image support as well as various UI/UX improvements.

πŸ„ Feature

  • Add FC_AWS_REGION as an automatically env variable


Add Nixpacks for Static Sites & Allow Deletion of AWS Accounts

changelog cover

It was a short week for us at Flightcontrol, with half of our team off for the holidays. Next week will also be a short week, with the other half of the team on holidays.

We have shipped a couple high priority features, and we are committed to continuing to work on UX improvements and bug smashing over the next two weeks.

πŸ„ Feature

  • Add NixPacks support for static sites

πŸ’… UX

  • Allow deletion of AWS accounts

    • This includes an option to eject from Flightcontrol while maintaining your AWS infrastructure

πŸ› Bugs

  • Fix watch paths not working


Git LFS Support & Customize Fargate Task Storage

πŸ„ Feature

  • Add the ability to configure Fargate Task Storage. See the docs for more information.

  • Add Git LFS Support

πŸ’… UX

  • Change custom domain connection to show details until traffic CNAME is connected

  • Add CAA record to the DNS values if needed

πŸ› Bug

  • Fix disappearing cancel button when there is Redis service type with `success`

  • Fix an issue with custom domain verification


Kicking off Bug Smashing & UX Improvements Month

We're taking the next month to focus on fixing bugs and improving UX across the board. Please let us know if you come across any bugs or friction in your user experience, no matter how small it may seem, so that we can fix those issues and ensure you have an excellent experience using our product!

πŸ’… UX

  • Allow users who haven't finished onboarding to return their previous page instead of restarting the onboarding process

    • Note: if you're currently stuck with the onboarding flow, please contact us in Discord.

  • Fix invoice calculation & description to round to nearest cent

  • Surface custom domain issues to the user

πŸ› Bug Fixes

  • Sanitize input Github Repo URL to avoid unmatched projects

  • First time projects get stuck in "Hang tight..." if there is an invalid config

  • Improve displayed deployment & service deployment errors

  • Fix onboarding flow for users using a ref link

  • Fix error connecting Github account: `Both "code" & "state" parameters are required`

  • Allow GUI users to remove services from the environment edit page if they have not yet saved them to their environment configuration

  • Fix responsive UI in onboarding flow


Small Fixes & Improvements

πŸ› Bug

  • Watch paths in GUI throws error if it has a single value

πŸ’… UX

  • Improve build error UX slightly

  • Replace the clever RDS preset names like β€œbobcat” with small, medium, etc


Redis & RDS Preview Environments

πŸ›« New Features

RDS Preview Environments

You can setup your preview environments to include a preview database using AWS RDS.

How it works: You will have a clean database for each preview environment created from your pull request. On the AWS resource level, only 1 RDS instance will be used for all preview environments (unless you’ve configured more than one RDS for the preview environment).

How to configure it: You need to add a RDS service type to your preview environment.

You can check the docs for more info: https://www.flightcontrol.dev/docs/guides/config/preview-environment

Redis

You can now create a Redis instance using AWS Elasticache with Flightcontrol!
Not available in preview environments yet.

How to configure it: If you use flightcontrol.json you can add a new service to your environment using the type: "elasticache". If you use the UI, you'll see a new service type option to select.

Check the docs for more details: https://www.flightcontrol.dev/docs/guides/config/using-code


Watch Paths / Next.js ISR Manual Revalidation / Multi-stage Docker Caching

πŸ›« New Features

  • Watch paths feature

  • Git Submodule support

  • Next.js ISR manual revalidation support β€” `req.revalidate()`

  • Build caching for multi-stage dockerfiles

  • Sort env variables in GUI so it's easier to find what you are looking for

  • Enable AWS Origin Shield for new services, resulting in faster app performance

    • (huge improvement in first load time for static sites after new deploys)

πŸ’… UX

  • Add configured port to failed healthcheck error message

  • Stop hiding BUILD_ERROR messages in deployment list

πŸ› Bug Fixes

  • Two services with the same given ID cause issues when destroying the service

  • Add 404 status code in static sites when file not found

  • Static site fixes

  • Click to Copy doesn't work on firefox

  • Fix environment name not updating

  • Fix all links to flightcontrol.notion.site to point to our new docs