CHANGELOG

New updates and improvements to Fleet

Follow us on Twitter to hear about changes first.

Fleet CLI v1.0.0-beta.6

Fleet CLI v1.0.0-beta.6

Another new exciting beta version for Fleet CLI. This is one of the versions that we bring a lot of improvements and exciting new features that we've wanted to work on for a long time, it also brings great performance improvements and brings us closer to a more stable version.

New Dev Command

Now it is possible to test the Fleet functions locally without needing to do new deployments, just executing the command fleet dev will raise a server that will be listening for requests on port 9000 on localhost by default. Set a port is also possible passing the --port 8000 option.

Modifying the fleet.yml files restarts the watcher automatically as well as modifying the functions trigger a recompile. Invoking a function locally brings the same experience from production to development except for the limits that production imposes, like concurrency, asynchronous limit...

Now just experiment, start a project with fleet init and run fleet dev to test.

Support TypeScript OOTB

Building Fleet Functions in TypeScript required extra configuration, adding webpack config file, ts-loader and typescript that added extra load to start with TypeScript, this is good for use cases where the developer wants to add your own configuration, add type checking with eslint or prettier as support.

It's no longer necessary to add extra configuration to build Fleet Functions with TypeScript, just add a .ts file and fleet.yml is now ready to deploy or test locally with fleet dev command.

import {FleetRequest, FleetResponse} from '@fleetfn/types';

export default (req: FleetRequest, res: FleetResponse) => {
  res.send({message: 'Ζ’ Fleet TypeScript HTTP Endpoint!'});
};

Reduced build time

We've made more build improvements with cache settings which brings significant improvements for projects with a larger codebase, which means that in some cases we can see 11x improvements.

To show some examples, considering some examples from our collection of examples:

Example Old New Gain
faunadb 9s 769ms 11x
simple-http-endpoint 1s 655ms 1.4x
New modules supported at runtime

New modules supported at runtime

To allow running multi-tenants on the same instance using isolates it was necessary to limit some of the Node.js APIs and some limited ones, recently we are working on supporting the modules in a safe way.

  • Supported tty (Limited)
  • Supported os

To learn more about modules that are not supported, see our limits documentation.

New example: ToDo Service with FaunaDB

We've added a new example to our collection of examples with the Fleet Serverless Function, an example creating APIs for implementing ToDo using FaunaDB.

Method Path Description
DELETE /todo/:id Delete an item from the list
GET /todo/:id Get an item from the list
GET /todo Get all items from the list
POST /todo Add a new item to the list
PUT /todo/:id Update a list item

Other improvements and fixes

Console navigation improvements

Console navigation improvements

We've made many improvements to our console, you can see some visual changes in navigation, as well as a better home to list projects and resources to start a new project for newcomers. See the details now and be sure to give feedback so that we keep improving.

  • We removed the Billing Sidebar (A new dedicated page will turn in the coming weeks)
  • Navigation improvements on the project page
  • Added a ToC to the Project Settings
  • Added features to the main page
  • Added a search to filter the projects
  • We removed Global Search
  • We added quick links to Documentation and Examples in the Header

Fleet CLI is using Webpack 5.x now

We are launching a new version of the Fleet CLI with support for Webpack 5.x. Upgrade to the latest version of the CLI. Such changes will be smoother in the future.

If you customize webpack.config.js, be sure to also update the configuration file from version 4.x to 5.x.

Other improvements and fixes

Node.js 14 LTS

Node.js 14 LTS πŸŽ‰

The version of Node.js 14.15 moved to Long Term Support (LTS) in Oct 27,2020 and is now available as a major version of Fleet Function.

Fleet follows the active LTS version of Node.js and puts the previous version in a deprecated state, during the private beta we are moving all functions to version 14.15, if you have problems please contact us!

Other improvements and fixes

  • Fixes errors when login in specific cases
  • Fixes the error of not accepting underscores, a hyphen, and space in the project name
  • Visual adjustments to the Invocations and Average Duration charts
  • New version 1.0.0-beta.3 of Fleet CLI
  • New version 1.0.0-alpha.2 of Fleet SDK
YAML support first-class in Fleet CLI

YAML support first-class in Fleet CLI

Fleet CLI is supporting YAML, this allows files to be smaller, more readable and reducing noise. This allows us to implement more features that we are planning for the future of the CLI. Update to the latest version.

functions:
  user:
    handler: 'functions/User.js'
    http:
      method: ['GET', 'POST', 'DELETE']
      path: '/v1/user'

JSON support still continues and our documentation and collection of examples have been updated to use the new fleet.yml configuration file.

Other improvements and fixes

Fleet CLI is Open Source πŸŽ‰

We are opening the Fleet CLI source code! Now available on Github, we have many resources that we want to add to our CLI to improve the user experience and now you can follow closely and offer suggestions, report problems and contribute.

Fleet SDK

We are introducing the Fleet SDK, still in an experimental and initial stage for use in the Fleet CLI, written in Node.js that allows you to interact with our API and create integrations in the future.

You can contribute to the development and roadmap, exposing your ideas through Github, we will be happy to hear from you.

Other improvements and fixes

  • Sandbox security improvements
  • Fixed bugs in invocation charts
  • Updated the Node.js runtime to v12.18.3 (LTS)
Secrets are available

Secrets are available

We are introducing secrets, are encrypted environment variables that you create in a project. The secrets you create are only available to Fleet Functions that are within the scope of your project.

Metrics ranges

We simplified the visual of the metrics for better visualization and added the range of the metrics based on the last hours, you can visualize in the following range:

  • Last 24 hours
  • Last week
  • Last month

New Examples

We added new examples in our collection of examples from Fleet. We added the example of an API in Fleet Function protected with Auth0 and JWT, exposing a React application with SSR.

Other improvements and fixes

First-time user experience

First-time user experience

We are introducing major improvements in the input and user experience for the first time, you and your team have access to the context of how to get started with Fleet.

The onboarding screen will also appear for all existing users, you are likely to have new things to discover.

User interface improvements

We made several improvements in the interface to make it more fluid and small visual adjustments that guarantee better visual consistency between the components.

Help & Feedback

We added a new "Help & Feedback" menu with useful links and access to send a direct message to support. Access through the menu by clicking on your avatar.

Fleet CLI is Beta

We are advanced with the Fleet CLI resources and now is Beta, with that we bring the new fleet init [example] command, which is possible that you can start a new project from our collection of examples.

fleet init
fleet init simple-http-endpoint
  • New version 1.0.0-beta.1 of CLI

Other improvements and fixes

  • Adds support for the content type application/x-www-form-urlencoded for Fleet Function
  • Fixed error that did not define env when deploying in preview deployment
  • Fixed error of not changing the production domain to the new domain when editing
  • Fixed error of not promoting a deployment to production
  • Fixed error when destroying account session
Continuous Deployment with Fleet CLI and GitHub Actions

Continuous Deployment with Fleet CLI and GitHub Actions

We are excited about this integration that is very important for your workflow, you can now do continuous deployment integrated with GitHub using GitHub Actions, allowing you to better integrate with your deployment flow and customize your flow:

  • Interact with other apps
  • Send Slack messages after completion

Anything else you can dream of.

We added a quick guide for you to configure your current project or start a new one, also check the repository on Github to read more configuration details.

We made visual improvements to our universal search engine on the Console, this is part of some improvements that we are preparing to improve the experience with Search. We moved the search to the center of the screen to improve the user experience and added the shortcut key cmd+b, thus allowing us to work more on it to add more features and new commands.

Domain editing improvements

We are sending improvements to the domain edition, this allows us to continue working on adding custom domain and allows you to create different domains for respective deployments. We will be shipping in the coming weeks.

Responsive improvements

Fleet documentation is now responsive and scalable for tablets and smartphone screens. Although most developers use the desktop to access documentation, it is common for developers to access documentation to search for information or discover new things when exploring. We didn't want to diminish the experience of mobile device users and instead we are working to improve the experience of using the console on mobile devices as well. This is an ongoing process and we will improve the experience over time.

Other improvements and fixes

  • New version 1.0.0-alpha.10 of CLI (Update)
  • We move the send feedback button to the console header to make it more visible
  • We added in the deployment settings the option to copy the deployment link
  • Fixed the button that allowed to promote an initialized or defective deployment for production
  • Fixed login issues with users with invitations
  • Fixed an issue with the average duration graph that did not show a loose point with no connection
Fleet CLI updates

Fleet CLI updates

We changed the behavior when making a new deployment, previously each new deployment was aimed at production, we changed this behavior, now with each new deployment by default it only generates the preview deployment. You can define a deployment for production by changing via UI in the deployments tab or by performing a new deployment with the option fleet deploy --prod or fleet -p.

In addition to this change in behavior, there were also some significant changes for large projects.

  • Improvements in the deployment of a large project with many functions
  • Improved tracking of network exceptions
  • New version 1.0.0-alpha.7 of CLI (Update)

We have updated some documentation on the use of the --prod option:

Other improvements and fixes

  • Updated the Node.js runtime to v12.18.0 (LTS)
  • When trying to log in to the console via console.fleetfn.com without the invitation, it automatically adds the email to the list.
  • Fixed error when trying to deploy with functions larger than 5mb
Duration metrics and overview improvements

Duration metrics and overview improvements

We added more metrics to the project's insights, a project overview with information on requests, average duration, health, and now a chart with the number of requests for all project functions grouped per hour, as well as the average duration chart.

This is part of our efforts and to continue improving the telemetry you have about your functions and your project.

It is also possible to view these graphs by function to better understand how your function is performing.

Account limitations for private beta

We added some account level limitations for users registered in the Private Beta, these values ​​can be changed and will be different when it is close to launching.

  • We added a limit of 1 thousand requests per second at the account level for the Private Beta phase
  • 3 account level members
  • 1 Million requests per month

Other improvements and fixes

  • Fixed errors with some buttons breaking in newer versions of Chrome

Performance

The main cut of this release is something that is not seen via the UI but it is very important to say, one of our main components which is the API Gateway was causing a high latency increase in requests, reaching an average between 40ms to 70ms, we did several improvements and refactor component to deal with high traffic and have a low impact on requests, the average is now reaching between 7ms to 40ms.

Live examples

Now all the examples we have added to our fleetfn/examples repository will be available with a demo URL, check out the following demos:

Other improvements and fixes

  • Improvements in the security layer
  • Fixed error when trying to deploy more than one function
  • Fixed the deployment bug not making a candidate for production
Folders linked to the project

Folders linked to the project

We've made improvements to the deployment flow of your project's functions, now you don't need to manually add your project id in the fleet.json configuration file. The first time you deploy, Fleet CLI will link your folder with your project. Next deployments, it will no longer be necessary.

New examples

We added a new example of a React application being rendered on the server using Fleet's serverless function, check out https://github.com/fleetfn/examples.

Other improvements and fixes

  • Several improvements in the security layer
  • Fixed error when accepting a team invitation
  • Fixed issues with the function handler path in the configuration file
Launch of the private beta for Fleet Function!

Launch of the private beta for Fleet Function! πŸŽ‰

We started to release the first invitations for the teams that were on the waiting list for early access, if it hasn't arrived in your email yet, rest assured, we are sending it gradually over the next few days.

The Fleet Traffic Shifting and Fleet Virtual Private Function products will be released at some point from the private beta, if your team is interested, do not hesitate to contact us to show your use cases.

Fleet Function

We are starting to release Fleet Function access to the people on the early access list, our technology is still in beta so you may encounter some problems so don't hesitate to contact us either via Twitter or through the Feedback menu on the console. We also launched our repository of usage examples with Fleet, Open Source!, you can visit on Github to find out how to further explore Fleet, we will be happy to receive your contribution.

We have updated our documentation with more resources, quick guide, configuration, creating projects, installing CLI and other important guides that you may be curious about, if you miss something, don't hesitate to let us know, you can directly send an email to [email protected], Twitter, contact page or if you have an early access invitation via the Feedback menu.

Fleet Console

The Console is also released for the private beta, new features and many improvements will appear during this phase, keep an eye on our changelogs. Some features that are available:

  • Team
  • Projects
  • Environment Variables
  • Preview deployments
  • Tokens
  • Quick Rollbacks via UI
  • Metrics

Features such as secrets will be available in the next few days. We will be publishing one or two times a week with the changelog updates and you can stay tuned on our twitter, we will be posting much more there.