Releases: encoredev/encore
v1.48.6 — Bugfix and improvement in tsparser
v1.48.5 — Improvements
What's Changed
- dockerbuild: better error message for windows junctions by @fredr in #1968
- appfile: add function that fails if app file not exist by @fredr in #1969
- tsparser: handle default type params by @fredr in #1958
- daemon: add env var for the mcp sse listen address by @fredr in #1971
- docs: extra information about
encore exec
for encore go by @bamorim in #1975 - Allow overriding public object storage listener address by @ekerfelt in #1976
- Add support for External Databases by @ekerfelt in #1974
- Detect duplicate migrations in metadata migrator by @ekerfelt in #1977
New Contributors
Full Changelog: v1.48.4...v1.48.5
v1.48.4 — Minor improvements
What's Changed
- show the correct install command in error message by @fredr in #1955
- runtimes/core/sqldb: add cidr and inet postgres types by @fredr in #1957
- runtimes/js: remove bigint panic and return an error instead by @fredr in #1960
- db proxy: better logging by @fredr in #1965
Full Changelog: v1.48.3...v1.48.4
v1.48.3 — Minor improvements and bugfixes
What's Changed
- Allow cross site credentials for leap clients by @ekerfelt in #1947
- Update README.md by @marcuskohlberg in #1951
- local object storage: set options headers for cors by @fredr in #1953
- fix: handle optional fields correctly in service to service calls by @fredr in #1954
Full Changelog: v1.48.2...v1.48.3
v1.48.2 — Minor improvements and bugfixes
What's Changed
- cli/daemon/objects: use http.ServeContent for handling range requests by @eandre in #1945
- Add Accept-Ranges header to the public bucket server by @ekerfelt in #1946
Full Changelog: v1.48.1...v1.48.2
v1.48.1 — Minor improvements and bugfixes
v1.48.0 — Cookies in Encore.ts
Cookies in Encore.ts
Encore.ts now supports type-safe cookies for your API endpoints. This allows you to easily work with cookies in requests, responses, and auth handlers.
Basic Usage
Define a cookie in a request:
interface Params {
sessionId: Cookie<"sessionId">; // Implicitly string type
userId: Cookie<number, "userId">; // Explicitly typed as number
}
Set a cookie in a response:
return {
sessionId: {
value: "abc123",
httpOnly: true,
secure: true,
sameSite: "Strict"
}
};
Access cookies in an auth handler:
const authHandler = auth<{ sessionId: Cookie<"sessionId"> }, User>(
async ({ sessionId }) => validateSession(sessionId.value)
);
For cross-site requests, use { requestInit: { credentials: "include" } }
when initializing the generated client.
Read more about cookies here
What's Changed
- Add "HEAD" for the public bucket server by @ekerfelt in #1936
- core/gateway: set x-forwarded headers by @fredr in #1927
- Add leap as a target to encore gen client by @ekerfelt in #1938
- runtimes/js: Add support for cookies by @fredr in #1917
Full Changelog: v1.47.3...v1.48.0
v1.47.0 — Encore MCP Server
Local introspection for AI tools like Cursor
We’re excited to launch the Encore MCP (Model Context Protocol) Server, for both Encore.ts and Encore.go, a local development server that gives AI-powered tools like Cursor structured access to your Encore app’s architecture, APIs, infrastructure, and runtime data.
Running locally alongside your app, the MCP server makes it possible for AI agents to deeply understand your system, leading to more accurate, useful, and context-aware development assistance.
🔍 What’s Exposed
In this first release, Encore's MCP server gives tools like Cursor access to:
- API definitions, database schemas, and trace data
- Metadata for Pub/Sub topics, caches, buckets, metrics, cron jobs and secrets.
- Service-level architecture
- Read-only database queries
- Bucket content metadata
- Service endpoints
- Encore's Documentation
💡 Use Cases
Here are three ways tools like Cursor can now leverage the MCP server to boost your workflow:
1. Higher-quality agentic code generation
With structured access to your app’s APIs, services, infrastructure, and traces, Cursor can generate code that’s better aligned with your architecture and implementation patterns.
2. Context-aware design suggestions
Need to add a new service or refactor an existing one? With visibility into your app’s architecture and infrastructure, Cursor can propose changes that respect system boundaries and dependencies.
3. Faster debugging with trace and infra context
When debugging, Cursor can use local trace data, database schemas, to help you pinpoint issues and suggest relevant fixes, all based on the actual behavior of your local app. It can also call endpoints directly and help you understand the results by interpreting the corresponding traces.
How to use it
Start by updating Encore to v1.47.0: encore version update
You can connect to Encore's MCP server from any MCP host (such as Claude Desktop, IDEs like Cursor, or other AI tools) using either Server-Sent Events (SSE) or stdio transport.
To set up this connection, simply run encore mcp start
Example: Integrating with Cursor
Cursor is one of the most popular AI powered IDE's, and it's simple to use Encore's MCP server together with Cursor.
Simply create the file .cursor/mcp.json
with the following settings:
{
"mcpServers": {
"encore-mcp": {
"command": "encore",
"args": ["mcp", "run", "--app=your-app-id"]
}
}
}
Learn more in Cursor's MCP docs
Now when using Cursor's Agent mode, you can ask it to do advanced actions, such as:
"Add an endpoint that publishes to a pub/sub topic, call it and verify that the publish is in the traces"
Thanks to our first time contributors ❤️
Full Changelog: v1.46.22...v1.47.0
v1.46.22 — Override auth data in encore.ts
You now can override the auth data for a specific endpoint when calling it via ~encore/clients
by passing CallOpts
. Example:
import { svc } from "~encore/clients";
const resp = await svc.endpoint(params, { authData: { userID: "...", userEmail: "..." } });
This can be useful e.g when writing tests that uses ~encore/clients
to call protected endpoints.
What's Changed
- runtimes/js: fix setting of multi-headers by @fredr in #1903
- runtimes/{js,core}: add call options to api calls by @fredr in #1892
- docs/ts: add docs for overriding auth data in ts by @fredr in #1904
Full Changelog: v1.46.21...v1.46.22
v1.46.21 — Import Existing AWS/GCP Resources and Configure Custom Network Settings
Encore Cloud now supports importing more types of existing cloud resources from AWS/GCP and customizing network IP ranges during environment creation. This makes it easier to integrate Encore into established cloud setups and avoid conflicts with existing networks.
Import Existing Resources
You can now use Encore Cloud to deploy Encore applications using these pre-existing resources:
GCP Projects
Deploy directly into an existing GCP project, allowing you to retain existing IAM configurations, billing settings, and organizational structures. Learn more in the docs
Cloud SQL Instances (GCP)
Connect your Encore app to an existing Cloud SQL instance. Encore will validate and link the instance, and automatically apply migrations as needed. Learn more in the docs
RDS Instances (AWS)
Use an existing AWS RDS instance instead of provisioning a new one. Encore handles validation and connects your app to the imported database. Learn more in the docs
ICYMI: GKE Kubernetes Clusters (GCP)
In case you didn't know, Encore Cloud already supports importing existing GKE clusters on GCP.
Learn more in the docs
Configure Custom Network Settings
When creating a new environment, you can now define a custom IP range for Encore Cloud to use. This is especially useful when peering with existing networks, helping you:
- Connect your Encore application to existing networks via peering
- Prevent IP range conflicts with other networks in your organization
- Plan your network topology with predictable addressing
By default, Encore will reserve a randomly assigned /16 block in one of the private IP ranges, suitable for most deployments that don't require network peering. Learn more in the docs
Thanks to our first time contributors! ❤️
Full Changelog: v1.46.20...v1.46.21