Skip to content

Releases: encoredev/encore

v1.46.4 — Minor improvements & Bugfixes

03 Feb 15:08
806c12f
Compare
Choose a tag to compare

What's Changed

  • runtimes/js: add tags to api description by @fredr in #1741
  • runtimes/core: deserialize details to none if not valid pvalues by @fredr in #1746
  • Explain how to mock auth in encore.ts by @Julion in #1747
  • rumtimes/js: better error message when error coercion fails by @fredr in #1748

Thanks to our new contributors!

Full Changelog: v1.46.2...v1.46.4

v1.46.2 — Migrations Status in Local Dashboard

27 Jan 13:17
8bc0b1d
Compare
Choose a tag to compare

We're working on making the local development dashboard even more useful, and adding the infrastructure page was a recent improvement to give you a better overview of your local infrastructure.

In this release we've added support for displaying the migration status of each locally running database, so you can easily see which migrations have run and which are pending (and will be applied when you restart your app).

Remember to update using: encore version update

infra_page_db.mp4

We love your feedback!
If you have any improvement/feature ideas or feedback, please share your thoughts on Discord.

Full Changelog: v1.46.1...v1.46.2

v1.46.1 — Updated behavior when generating clients

23 Jan 13:44
8184e3d
Compare
Choose a tag to compare

Changes when generating clients

  • encore gen client now default to --env=local instead of defaulting to your primary cloud environment. If you rely on the previous default, update you command and set --env=<cloud-env-name>
  • The generated code for calling raw endpoints no longer hard-code Content-Type: application/json for generated TS/JS clients. This means fetch will begin auto-detecting the content type if it is not explicitly provided, which enables better support for using FormData for uploading files via the generated client. You can preserve the previous behavior by explicitly setting the Content-Type header in the fetch options provided to the raw endpoint.

What's Changed

Full Changelog: v1.46.0...v1.46.1

v1.46.0 — Signed URLs for Storage Objects & Local Dashboard improvements

21 Jan 15:41
019677f
Compare
Choose a tag to compare

Signed Upload/Download URLs for Storage Objects

This has been a highly requested feature since we launched object storage, and it's finally here!

Signed URLs provide a secure way for clients to upload directly to storage, and to download directly from private buckets. This leaves the heavy lifting to the specialized cloud storage services, and frees your API service from handling large content payloads.

Generating a URL to let a client upload directly to a bucket:

const uploadUrl = await profilePictures.signedUploadUrl("my-user-id", {ttl: 7200})
// Pass url to client
curl -X PUT --data-binary @/home/me/dog-wizard.jpeg "https://storage.googleapis.com/profile-pictures/my-user-id/?x-goog-signature=b7a1<...>"

Please check out the docs for more info, and we wish you happy transfers!

Remember to update using: encore version update

Infra dashboard in the Local Development Dashboard

You can now see your locally running infrastructure in the local development dashboard!

This helps you verify that everything is running as expected and simplifies actions like triggering Cron Jobs when developing locally.
We plan on expanding the dashboard with much more functionality, e.g. database management.
Please let us know on Discord what would be most useful to you! ❤️

localinfra.mp4

Event Details in Trace Viewer

It's been a long time coming, but we've finally shipped a key improvement to Encore's trace viewer: Event Details

This small but mighty change makes it much easier to view complex traces with many separate events. Simply click to expand and view each event on the timeline in a list.

tracedetails.mp4

What's Changed

Full Changelog: v1.45.6...v1.46.0

v1.45.6 — Minor improvements & bugfixes

13 Jan 14:12
4102905
Compare
Choose a tag to compare

What's Changed

Thanks to our new contributor ❤️

Full Changelog: v1.45.1...v1.45.6

v1.45.1 — Custom Middleware / Public Buckets & CDN / Value-based Validation

12 Dec 14:01
2b0336c
Compare
Choose a tag to compare

Custom Middlware

Launched during launch week day 1, read all about it here: https://encore.dev/blog/custom-middleware

Public Buckets & CDN support

Launched during launch week day 2, read all about it here: https://encore.dev/blog/public-buckets

Value-based validation

Launched during launch week day 4, read all about it here: https://encore.dev/blog/advanced-validation

Other improvements & Bugfixes

Full Changelog: v1.44.9...v1.45.1

v1.44.9 — Enhanced error messages in Encore.ts

04 Dec 08:28
403b489
Compare
Choose a tag to compare

This release comes with huge improvements to Encore.ts' error messages:

  • No more Rust stack traces when you get compilation errors.
  • All errors now have proper line of code references to help you find what's wrong.
  • We've improved plenty of error messages to make them more helpful.
  • We're continuously working through more cases and improving on error messages to make easier to understand.

Just check out this before/after comparison to see the difference in practice:
before / after

Thanks to all contributors

🙏 We continue to be overwhelmed by your support, feedback, and suggestions!
Together we're building the future of backend development and we couldn't be more excited.

❤️ As always, we're excited to hear what you think!
Please share your feedback on Discord.

Full Changelog: v1.44.6...v1.44.9

v1.44.4 — Minor improvements & Bugfixes

22 Nov 08:35
7589d7f
Compare
Choose a tag to compare

What's Changed

Thanks to our new contributors! ❤️

Full Changelog: v1.44.0...v1.44.4

v1.44.0 — Object Storage is here!

18 Nov 16:44
fc85581
Compare
Choose a tag to compare

We're very excited to announce that Encore (both Go and TypeScript versions) now supports Object Storage as a first-class cloud infrastructure resource! As always, update to the latest release with encore version update!

Object Storage

Object Storage is a simple and scalable way to store files and unstructured data in your backend application. The most well-known implementation is Amazon S3 ("Simple Storage Service"), but it's universally supported by every major cloud provider.

Encore now provides a cloud-agnostic API for working with Object Storage, allowing you to store and retrieve files with ease. It has support for Amazon S3, Google Cloud Storage, as well as any other S3-compatible implementation (such as DigitalOcean Spaces, MinIO, etc.).

Here's how you might use it in Encore.ts:

import { Bucket } from "encore.dev/storage/objects";

export const profilePictures = new Bucket("profile-pictures", {
  versioned: false
});

// Then use `profilePictures`:
profilePictures.upload(...);
profilePictures.download(...);
profilePictures.list(...);

Additionally, when you use Encore's Object Storage APIs you also automatically get:

  • Automatic tracing and instrumentation of all Object Storage operations
  • Built-in local development support, storing objects on the local filesystem
  • Support for integration testing, using a local, in-memory storage backend

And with Encore's Cloud Platform you also get:

  • Automatic infrastructure provisioning of Object Storage buckets
  • Automatic fine-grained permission management of per-service storage operations (read, list, write, delete, etc.)
  • Support for Object Storage in Preview Environments
  • Native support for Object Storage in the Encore Platform's CI/CD pipeline

See the documentation (Encore.ts / Encore.go) for more information!

TypeScript parsing improvements

Encore.ts now has improved support for parsing more TypeScript language features:

  • Interfaces extending other interfaces
  • Namespaces and qualified names
  • Re-exports (export * from "./file")

Together, these improvements enable much wider support for referencing types defined in external libraries.

We're constantly working on bringing more improvements to the TypeScript parser, with more coming in the near future.
If you have use cases that the TypeScript parser doesn't support, please let us know in Discord!

What's Changed

Thanks to our new contributors! ❤️

Full Changelog: v1.43.9...v1.44.0

v1.43.9 — First class ORM support in Encore.ts

12 Nov 10:55
bdae9b7
Compare
Choose a tag to compare

In this release we've added greatly improved support for using ORMs and migration frameworks with Encore.ts.
Remember to update: encore version update

Since Encore’s approach to database management is flexible, i.e. it uses standard SQL migration files, it now supports integration with most popular ORMs.

📚 We've created examples and docs for how to use:

Many other ORMs are also supported. Here's how you can reason about it:

  • ORM Compatibility: If an ORM can connect to a database via a standard SQL driver, it will work with Encore.
  • Migration Tool Compatibility: If your migration tool generates SQL migration files without additional customization, it can be used with Encore.

Learn more in the ORM docs

Other improvements & Bugfixes

Full Changelog: v1.43.7...v1.43.9