Skip to content

Releases: encoredev/encore

v1.46.10 — Improvements for monorepos

17 Mar 15:31
7099df4
Compare
Choose a tag to compare

Improvements for monorepos

In this release we have made some improvements to handle TypeScript monorepos better. Existing applications deployed via Encore Cloud should continue working as before, while minor changes have been made to the directory structure set up by encore build docker. See below for more details.

Changes when building a self-hosted Docker image via encore docker build

  • Working dir will default to your app root (for go apps, this will only mean a change if you set bundle_source to true in encore.app). Previously we set it by default to /workspace
  • For TypeScript apps the entrypoint have been changed location into your app root rather than /artifacts/0/.... Which means that all the parent node_modules will be taken into account when resolving modules.
  • For TypeScript apps, if you do not set bundle_source to true, only your app root and all parent node_modules and package.json files will be included (including any symlink targets that point to somewhere within your repo), if your app is part of a git repo.
  • If your encore app is part of a git repo, and you bundle the source code, we will bundle the whole repository and not only your app root

Changes when deploying via Encore Cloud

  • If your application lives in a subdirectory of the git repository, that subdirectory will now be used as the application's working directory. This is more consistent with how encore run works locally.
  • Encore.ts applications now support setting bundle_source to false. In this case only the app root and all parent node_modules and package.json files will be included (including any symlink targets that point to somewhere within your repo).

Changes when creating new apps

  • Encore.ts applications no longer default bundle_source to true in encore.app, to reduce Docker image sizes.

Other improvements

Thanks to our new contributor ❤️

Full Changelog: v1.46.9...v1.46.10

v1.46.9 — Minor improvements & Bugfixes

14 Mar 12:14
aa792ad
Compare
Choose a tag to compare

What's Changed

  • tsparser: duplicate api name error by @fredr in #1814
  • cli: add configurable app root for example apps by @eandre in #1812

Full Changelog: v1.46.8...v1.46.9

v1.46.8 — Minor Bugfixes

13 Mar 12:25
00af437
Compare
Choose a tag to compare

What's Changed

  • gcsemu: trim os path separator by @fredr in #1806
  • tsparser: fix handshake helper type by @fredr in #1809
  • tsparser: fix resolving of arrays in exports by @fredr in #1810

Full Changelog: v1.46.7...v1.46.8

v1.46.7 — Experimental Bun Runtime Support

10 Mar 13:17
a506b63
Compare
Choose a tag to compare

Experimental Bun Runtime Support

We are testing out using Bun as a supported runtime. To enable it for your app, set bun-runtime as an experiment in encore.app.
If you want to deploy it, you'll also need to set the base image to an image that have bun installed, e.g oven/bun:1.2.2-slim.

Example encore.app file with the experiment enabled:

{
	"id":   "...",
	"lang": "typescript",
	"build": {
		"docker": {
			"bundle_source": true,
			"base_image": "oven/bun:1.2.2-slim",
		}
	},
	"experiments": ["bun-runtime"]
}

You might also want to set smol = true in bunfig.toml since bun uses quite a bit of memory.

What's Changed

  • builder: Add docker options to ImageBuildConfig by @ekerfelt in #1799
  • Experiment with bun as nodejs runtime by @fredr in #1798

Full Changelog: v1.46.6...v1.46.7

v1.46.6 — Minor improvements & Bugfixes

10 Mar 13:12
26d01e6
Compare
Choose a tag to compare

What's Changed

Full Changelog: v1.46.5...v1.46.6

v1.46.5 — Enhancements and Fixes

27 Feb 10:35
8b396c6
Compare
Choose a tag to compare

What's Changed

Thanks to our new contributors!

Full Changelog: v1.46.4...v1.46.5

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