Follow the latest changes, improvements, and new features released to the Koyeb platform.
Changelog update #8:
Changelog update #6:
Changelog update #5:
Changelog update #4:
Changelog update #3:
Changelog update #2:
We hope your first month of 2023 was eventful and serverless! 😉Overlooking the corny joke, let's cut to the exciting news: we are launching a new format for our changelog! From now on, each changelog entry will gather multiple updates and be accompanied by a community post with more details. All updates will also be shared in a short email digest.
Kicking off the first edition of this new and improved changelog, allow us to introduce:
Today, we are excited to announce the Koyeb Pulumi provider! Pulumi is an open source infrastructure as code tool for managing your infrastructure. You can now use Pulumi and your favorite programming language to provision and Koyeb resources including Apps, Services, Domains, and Secrets.
Run closer to your users in the US with our new core location in Washington, DC! You can now deploy your applications in the world's most interconnected region with one click, CLI command, or API call.With zero-infrastructure management from you, your application will enjoy the platform's built-in continuous deployments, auto-healing, global load balancing, horizontal scaling, service mesh, and global edge network.
You can now deploy your full-stack apps and APIs in the heart of Europe with our Frankfurt core location. Your application will be up and running in microVMs on our high-performance BareMetal servers with one click, CLI command, or API call.Enjoy the platform's built-in continuous deployments, auto-healing, service mesh, global edge network, global load balancing, horizontal scaling, and auto HTTPs (SSL) while running in Europe's most interconnected city.
We added the ability to enable and disable automatic deployments of your application every time you push a change. Previously, each change you pushed created a new deployment.
We improved the creation flow for Apps and Services, which is now composed of three simple steps: select your deployment method, import your project, and configure your service. We also added helper links at each step so you can easily learn more about Koyeb concepts during the service configuration process.
Last month, we added example applications to the control panel to give users a faster way to see Koyeb in action. Previously, they were only visible for users without any active apps. They can now be accessed at anytime via the control panel.
You can now request the regions where you want to deploy your apps directly from the service creation page in the control panel. Some of these are coming very soon to the platform. Any ideas which ones?
When listing your repositories, we now display the repository’s visibility and last change date. This makes it easier to find the repositories you most recently worked on.
We added the ability to cancel an ongoing deployment. This is helpful when you have deployments queued behind the ongoing deployment and you do not need it anymore.
There is now a maximum limit for concurrent provisioning deployments per service to one. This limit can be increased for Startup plan subscribers by contacting us.
Our free tier includes a $5.5 per month credit that can be used for Nano and Micro instances. Previously, we displayed the prices of these instances, causing confusion for those using the free tier.We changed the pricing display to provide clarity to our Hobby users.
We started adding example applications to the console, so you can discover the Koyeb experience sooner. These are minimalistic apps with more advanced examples to follow.
Previously, deleting a Koyeb App required you to manually delete all associated Services first. Now, you can delete an App and all its Services directly from the App's setting page or using the CLI.
We improved the repository and branch selectors by adding visual feedback to indicate when we are retrieving your GitHub repositories data. Previously, no visual indicators were provided causing confusion.
You can now automatically manage your account subscription to the Starter or Startup plan right from the Koyeb control panel.
We are happy to share that we now display several metrics for services running on Koyeb. You can now view the CPU usage, memory usage, responses time, requests throughput and pulic data transfer under the metrics tab of your service.
We added a new Golang deployment guide to our documentation. This will help users learn how to deploy their Golang apps with using the console or the CLI.
We shared a new Rails deployment guide to our documentation. This will help users learn how to deploy a Rails application on Koyeb using either the CLI or the console.
We published a new deployment guide for Python Flask applications. This will help users learn how to deploy a Flask application on Koyeb using either the CLI or the console.
We now natively support Clojure applications. Simply connect your GitHub repository and Koyeb will automatically build and deploy your application.
Some users experienced build failures when deploying a Ruby app on the platform. This issue is now mitigated.
Previously, the Golang version defined in the go.mod file was ignored resulting in inconsistency during the build and deployment of Go applications.This behavior is now fixed and the Golang version used by default is the one set in the `go.mod` file.
We publicly released the Koyeb Terraform provider. The provider allows you to provision, change, and version Koyeb resources including apps, domains, secrets, and services.To learn more about how to get started using the Koyeb Terraform provider, check out the documentation on the Terraform registry.
Each time you push a new commit to your GitHub repository, you can now see and follow the Koyeb deployment status for each GitHub commit.
We improved the service and deployment documentation to make it easier for you to get started, learn how Services work, and troubleshoot issues.
Setting up build and run commands for git-driven deployments was previously only available using the Koyeb console. You can now pass them when using the Koyeb CLI.
You can now pause a service while keeping the configuration and be able to restart that service later on. This is especially useful during the development and testing phases.
When deploying your apps with git, we now show the Koyeb deployments status on your GitHub repository's page.
Previously, the branch had to be set via a free-text input when using git-driven deployment. This action was error-prone. We now list all the branches based on the selected repository.
When using git-driven deployment, the branch is now automatically set to the default repository branch.
All versions of the CLI are now also shipped for ARM64 machines and in brew on MacOS.
We've added automatic retry on builds to make sure hardware failures are transparent from an end-user perspective.
You can now easily switch the Koyeb App your domains are pointing to.
All incoming traffic will be rerouted to the new Koyeb App immediately.
Inside of the service mesh, our DNS servers were returning NXDOMAIN status on IPv6 DNS resolution causing resolution failures with some DNS clients. They now return NOERROR and the resolution performs as it should.
We now allow the use of APEX domains (top-level domains) with your Koyeb Apps.
To bind APEX domains on Koyeb, your DNS provider needs to support the creation of ALIAS/ANAME records.
The time limit for builds is now set to 30 minutes to provide faster feedback and prevent builds from hanging in case of build misconfiguration.
If your build needs more than 30 minutes to complete, contact us!
The Koyeb engine and APIs received a major update to prepare for the addition of new core locations. You can now configure instance types, scale, and environment variables at the service level and per region.
A new version of the CLI and the Koyeb console have been released to reflect these changes and provide a simple way to deploy across multiple regions.
You can now set up your own domains on your Koyeb Apps and enjoy fully automated TLS. The feature is currently available in preview, contact us if you want to set up your domain!
We’re excited to share that the new Koyeb Edge Network is live and WebSockets support is available for everyone without any modification. WebSockets can now be used on all apps.
The changes we made on our Edge Network also bring the number of edge locations available on the Koyeb platform to over 270 cities (55 previously) to improve latencies and accelerate load times around the world.
We added search to the Koyeb documentation to let you easily find the information you are looking for.
We revamped the Koyeb Edge Network to support Websockets, custom domains, and additional core locations.WebSocket support is now available in preview!
We identified a bug where old unhealthy deployments were still running instead of being stopped. Unhealthy deployments are now stopped, freeing up resources for other deployments.
Koyeb will now send you an email to inform you in case of a deployment failure.
You can now execute commands or get a shell to troubleshoot your deployments via the control panel. Previously this feature was only accessible using Koyeb CLI.
We completely revamped the Services status to reflect the reality. Our new status system is now available for Instances, Deployments, and Services.
We have enriched the activity stream by adding operations performed on Apps and Services events so you now get the full history of actions performed on your account
We accelerated the build for applications deployed using git-driven deployment by 10-20 seconds. The service mesh is no longer connected during the build process, which reduces overhead.
We have added new instance types to support intensive workloads. You can now run your applications on the Large (4 CPUs / 4GB RAM) and XLarge (8CPUs / 8GB RAM) instances. You can request access to these instances directly from the Koyeb control panel.
We completely revamped deployments status. You can now know the exact state of your deployments from a single place, so you don’t need to look at different levels to troubleshoot and identify errors. Each deployment has a status and a clear message defining its current state.
We enhanced the behavior of Node.js builds with devDependencies. Previously, if you set NODE_ENV to production, devDependencies were not installed, resulting in errors for some applications. We now install all project dependencies during the build stage.For Node.js builds. we fixed the duplicate build that was happening when a `build` script was referenced in your package.json and you also defined a custom build command. If you configure a `build` command in your Service, it now has the authority over the default build command `yarn build` or `npm run build`.
We added CLI helpers throughout the Koyeb Console to show how to use the Koyeb CLI to interact with the console directly from your terminal.
The Deploy to Koyeb button helps users deploy applications with one single click. It's ideal for developers looking to create fast deployment option for their users. This button can easily be added to Docker registry public descriptions and git repositories readme files.
For advanced troubleshooting cases, you can now execute commands on instances supporting your services. You can execute simple commands or launch an interactive shell to investigate production issues.
Build and runtime logs were previously only accessible via the Koyeb control panel. We added them to the Koyeb CLI: you can now visualize your logs directly from your terminal.
The Koyeb CLI now supports the creation of Services using git-driven deployment. The GitHub app must be first installed on your account using the control panel to use this feature.
We released major improvements of the API and a new version of the Koyeb CLI to improve the developer experience. It's now easier to enjoy the full Koyeb experience right from your terminal!
Services are backed by one or more Instances which are technically Firecracker MicroVMs. These Instances are automatically created by the platform to support your application. You can now visualize the Instances history for each Service and for each Deployment.
The Instance history is useful to troubleshoot deployment failures: you can easily retrieve runtime logs and execute shell commands on a specific Instance.
We improved the build and runtime logs control panel components with a fullscreen mode and improved performances for applications with a high logging rate.
When using Koyeb's built-in Continuous Deployment feature, we now display the build duration to help you analyze and optimize your build performances.
Previously, there were no clear start or end messages in the build logs.
We now display clear messages to communicate when a build starts, succeeds, or fails. This information is useful when troubleshooting build issues.
We see security as a crucial subject and we believe this should be a built-in feature, not an option.
To prevent data leaks, we already encrypt all in-transit data, including the network traffic between all of our hypervisors. We’re acting as if we had absolutely no trust in the underlying private networks we use.
We now also encrypt all customer data stored at rest, without any action required from you. All customer data stored on our hypervisors are now encrypted using AES256.
We improved our Deploy with Git documentation by adding sections explaining how to use the build and run commands on Koyeb.We also revamped our Edge Network documentation to explain how health-checks are performed, how to use sub-paths on Koyeb, and how to optimize caching at our edge locations.
We created a collection of application examples you can deploy on Koyeb with a single click. These examples allow you to discover how to deploy applications using different runtimes and frameworks.
Previously, it was impossible to access the runtime logs for an entire Service because you had to switch between nodes, stdout, and stderr streams to see all the logs, making it hard to troubleshoot issues.
You can now see all runtime logs for a Service in a single view and filter the logs by node.
We improved the service overview in the console to simplify deployment troubleshooting. Only active and in-transition deployments are now visible and the previous deployments can be found in the dedicated tab.
We also added the deployment ID near the node entry in the node table as you might have nodes related to different deployments running simultaneously when traffic is shifting.
Secrets for container registry configuration were previously simple Key/Value objects. Now, there is a typed secret available directly in the API and CLI that simplifies configuring your private container registries.
This allows us to validate the structure of your registry secrets before you submit them, only list registry secrets when you are adding a private registry and list only simple secrets when you are configuring environment variables.
We now display the name of the API token which performed each action listed in your recent activities.
For those who like working in the dark, we added a dark mode to the console.
We revamped our console to give it a more sleek look and feel.
We added Trace IDs to the Koyeb 5XX error pages that you might encounter if your application can't be reached from the Koyeb network. This unique Trace ID will help us diagnose and troubleshoot issues faster.
For git-driven deployments, it was previously not possible to run custom commands during the build stage and having a Procfile in a repository was mandatory to let Koyeb know how to run your application.You can now provide a custom build command and define the run command directly from the control panel. Procfiles can still be used to specify the run command of your application but will be overwritten if you define a run command.
Git-driven deployment is available in preview! You can now connect your GitHub repository in a matter of seconds, and Koyeb will automatically build and deploy your application each time you git push.You can deploy applications written in Node.js, Go, Python, PHP, Ruby, Java, and Scala. We manage the build process of your applications using Cloud Native Buildpacks.
We now pre-set a PORT environment variable matching the default service port.This improvement will simplify configuration and should reduce deployment misconfigurations and failures.
Deploying from a DigitalOcean registry previously required you to manually configure a Secret for your credentials.We added DigitalOcean to the list of registry providers to make it easier to deploy your Docker image from a DigitalOcean Registries.
Koyeb CLI version 2.0.1 has been released to improve the developer experience when interacting with Koyeb from the terminal.
When using the service discovery via the mesh, you previously had to copy the name of each service manually. This action was error-prone.We added a copy-to-clipboard icon next to the service private DNS entry. You can now quickly copy and use the domain name on other services of your app.
We've observed an increased amount of failures related to the growing number of deployments.
We reworked several core deployment jobs to increase deployment speed and reduce unexpected failures.
Previously, retrieving the nodes' status details in the control panel was done by hovering over the status. It was both counter-intuitive and unergonomic.
You now view the status and easily understand what is happening on each node thanks to a dedicated panel.
To deploy from an Amazon Elastic Container Registry, you previously had to manually create a new Secret to store the AWS ECR configuration. This was error-prone and often led to deployment failures.
We simplified the process by adding AWS ECR to the list of registry providers on the service creation page allowing you to easily deploy Docker images from AWS ECR.
The GitHub Action for Koyeb CLI offers a simple way to install, configure and use the CLI in your GitHub Actions workflows.
The Action is useful to add continuous deployment of your app to the Koyeb platform. It also allows you to perform operations on your Koyeb resources directly from your GitHub Actions worflows.
The v2.0 of the Koyeb CLI (Command Line Interface) is now available and ready to let you manage all your Koyeb resources directly from the terminal!
The Koyeb CLI is a critical tool to improve the deployment experience. It provides a fast way to interact with Koyeb when you develop, build and deploy your applications.
You can now easily interact programmatically with the Koyeb platform using the Koyeb Go SDK. The Koyeb Go client allows you to leverage all the capabilities of the Koyeb platfom in your Go applications.
The API Documentation was completely redesigned and updated to include new endpoints. Deprecated endpoints have been removed. We also updated the introduction of the API documentation with clearer instructions on how to get started using the Koyeb API.
Deploying from an Azure Container registry required manually creating a new Secret to store the ACR configuration.
We streamlined the process by adding Azure Container Registry to the list of registry providers on the service creation page, so you can now easily deploy Docker images from Azure Container Registry.
Our edge network was not allowing you to use server-sent events in your application.
Server-sent events are now natively supported on all applications.
Our built-in Service Mesh & Discovery is now fully operational. All the services inside an App can now communicate securely using the Koyeb mesh network.
No configuration is needed to benefit from the Service Mesh & Discovery features. Simply use the automatic private DNS entry of a service to connect and communicate with it.
Previously, the containers hosting your services started even if the network was not ready. This sometimes caused outgoing connections to fail at boot time when the network took more than 100ms to come up.
The issue is now solved and your service code is started after the mesh network is ready.
The Koyeb Edge and Mesh network serve custom 404, 502, and 503 pages to help you identify the origin of errors during deployment or when a runtime failure occurs.
We improved the content of these pages to simplify troubleshooting and improve your deployment experience. Let us know how we can further improve them for you!
Logs of services with horizontal scaling enabled were only displayed for the first node.
The logging page on the Koyeb control panel now lets you track all nodes logs when you scale horizontally.
Previously, deploying from a GitLab private registry was possible but required to manually create a secret with a JSON containing the credentials. This was error-prone and often led to deployment failures.
We simplified this process and added GitLab directly to the list of providers on the service creation page.
To help you get started in minutes and deploy your first application on the Koyeb platform, we now provide a demo application you can deploy in one click.
The application automatically renders a page with your latency to the Koyeb Edge and Core Location where your service is running. It also displays the environment variables available for the service and the HTTP request headers to help you configure your app.
Share your edge latency with us on Twitter and spread the word about Koyeb! 😇