All The Launches

13/12/24 / DAY 5

Worker Pooling in Encore.ts

It's the final day of Launch Week and we're excited to introduce a brand new way of running CPU-intensive JavaScript workloads that provides even more performance and scalability than has been possible before: Worker Pooling.

It works by combining the multi-threaded nature of Encore.ts' high-performance Rust runtime with multiple worker threads in NodeJS.

This means your applications are no longer constrained by JavaScript's single-threaded event loop. Instead, Encore.ts is now able to orchestrate and coordinate workloads across multiple event loops, providing a dramatic performance boost for CPU-intensive workloads.

When enabled via a simple configuration in your Encore project, all worker thread management is handled automatically by Encore.ts. You don't need to write any thread management code, create worker pools, or handle thread coordination yourself — Encore.ts takes care of creating and orchestrating worker threads based on your application's needs.

Learn more in the launch blog post.

Performance improvements
In our tests, real-world applications that reach the limits of NodeJS' single-threaded performance have achieved up to a **5x performance improvement** when using Encore.ts Worker Pooling, compared to Encore.ts running in single-threaded mode.

Bonus: This is on top of the already huge performance benefits that Encore.ts provides compared to other frameworks.

Join the live stream
Tune into today's live stream at 14:00 CET for an in-depth walkthrough and a live Q&A session.

12/12/24 / DAY 4

Advanced Validation in Encore.ts

We're excited to announce the release of advanced value-based validation support for Encore.ts, taking API development to the next level.

How it works
Encore allows you to define request and response types using standard TypeScript. These types ensure type-safety during both compile-time and runtime.

If a request doesn't match the expected type, Encore automatically returns an error. When it does match, your API handlers receive fully type-safe parameter objects, making your code more reliable and maintainable.

Validation types
This release introduces powerful validation types, including:

  • Min/Max limits for numbers and strings.
  • Built-in validations for common formats like URLs, emails, etc.
  • Regular expressions for custom validation rules.

Simple testing
You can test these features directly in the Development Dashboard:
  • Validation errors are flagged instantly, making debugging fast and straightforward.
  • Valid requests return a 200 response, so you know everything works as expected.

It's fast!
Encore.ts achieves exceptional performance by running validations in Rust, rather than Node.js. This approach outpaces validation frameworks like Zod and TypeBox, providing speed without sacrificing usability, and enables Encore.ts to be 9x faster than Express.js and 3x faster than Elysia and Hono.
See our benchmarks to learn more.

Join the live stream
Tune into today's live stream at 14:00 CET for an in-depth walkthrough and a live Q&A session.

You can also learn more in the launch video and documentation.

11/12/24 / DAY 3

Encore Open Source, independent of Encore Cloud

We're continuing our open source journey, which started by open sourcing everything you need to build Encore applications, including:

  • ✅ Encore's CLI
  • ✅ Encore's Frameworks
  • ✅ Encore's Runtime
  • ✅ Encore's Parser
  • ✅ Encore's Compiler
  • ✅ Encore's Docs


Today, we're excited to announce that the open source project (encore.dev) is now independent of Encore Cloud—our managed service for automating DevOps and infrastructure on AWS and GCP.

To make this separation clear, we have launched:

  • ✅ Revamped documentation, making it easier to find info on Encore.ts, Encore.go, and Encore Cloud.
  • ✅ A new encore.dev website, focusedsolely on the open source project, making navigation easier.
  • encore.cloud — a new website for Encore Cloud.
  • ✅ Significant improvements to docs, helping you build, configure, and deploy Encore apps without relying on Encore Cloud.


With these updates, it's now easier than ever to choose the Encore experience that fits your needs—open source or managed.

If you haven't already, why not star the open source project on GitHub?

Join the live stream
Tune into today's live stream at 14:00 CET for an in-depth walkthrough and a live Q&A session.

10/12/24 / DAY 2

Public Buckets + R2 Support

Today we're launching Public Buckets, an extension of our recently released Object Storage primitive for Encore.go and Encore.ts. This feature simplifies working with public-facing file storage directly in your application code and adds CDN support for optimal content delivery.

How Object Storage works in Encore
Encore lets you integrate infrastructure as type-safe objects in your application code. Whether you're creating a database, a Pub/Sub topic, or an Object Storage bucket, it's as easy as writing a few lines of code. See how in the docs

Public Buckets: Simple file sharing
With the public flag set to true, you can now generate public URLs for files in your bucket. This makes it effortless to share files with users via your frontend or external services.

Simple testing in the Development Dashboard
Encore's Development Dashboard makes testing very simple. Call your endpoints, such as the list endpoint, to view and trace requests and get detailed insights. Traces provide insights including file uploads and bucket queries, helping you debug and optimize.

With Public Buckets, Encore makes managing object storage and public file access simple, powerful, and fully type-safe.

Encore Cloud now supports Cloudflare R2
Cloudflare R2 can often be a cheaper alternative to AWS S3, so we're very excited to announce that Encore Cloud now supports it. This is great for anyone looking to save costs on object storage, while getting access to a global CDN.

Join the live stream
Tune into today's live stream at 14:00 CET for an in-depth walkthrough and a live Q&A session.

You can also learn more in the launch video and documentation.

09/12/24 / DAY 1

Custom Middleware in Encore.ts

You asked, we delivered! Starting today, you can define your own middleware in Encore.ts.

While common use cases like authentication, logging, and tracing are already built-in, Custom Middleware now lets you create middleware tailored to your application with ease. This is great for cases where you want to write reusable functionality that applies to multiple API endpoints.

How it works
Encore.ts makes it simple to create middleware by letting you attach middleware functions to specific services through the service definitions configuration. Middleware can be configured with a target option to specify which API endpoints it applies to, such as those requiring authentication.

Middleware operates as a chain of functions:

  • Each middleware processes the incoming request.
  • The request is handed off to the next middleware in the chain by calling the next function.
  • The final step in the chain invokes the actual API handler.

This design enables you to add custom logic both before and after an API handler is executed, making it easy to inspect the request, modify the response, or enforce rules by throwing errors. Learn more in the documentation.

Join the live stream
Tune into today's live stream at 14:00 CET for an in-depth walkthrough and a live Q&A session.

You can also learn more in the launch video and the documentation.

follow day by day,
launch by launch

Discord
Join the community events on Discord
Twitter
Keep tabs on Twitter
YouTube
Sit back and relax

Escape the maze

Ready to skip complexity and start making progress with Encore?