Hot runtime summer is in full swing and with that comes ton of updates! Read on to learn about more granular security controls in Deno 1.36, searchable and filterable logs on Deno Deploy, simplified route components in Fresh 1.3, and more.
Deno’s opt-in permission model gives you control over what your (or third-party) code has access to. Until now, you could either grant unfettered access to a feature or configure specific domains or directories with --allow-*
.
In Deno 1.36, we introduce the --deny-*
family of runtime flags to enable more flexible permissions for your Deno programs.
$ deno run --allow-net --deny-net=api.evil.com mod.ts
Debugging is easier on Deno Deploy, now that you can filter and search through your logs within the past 24 hours based on time, level, and region:
We’re doing monthly Fresh minor releases! This cycle saw improved documentation, bug fixes, and new features, many thanks to the community.
The big update here is Async Route Components, which removes boilerplate for building simple components.
Before:
interface Data {
foo: number;
}
export const handler: Handlers<Data> = {
async GET(req, ctx) {
const value = await loadFooValue();
ctx.render({ foo: value });
},
};
export default function MyPage(props: PageProps<Data>) {
return <p>foo is: {props.data.foo}</p>;
}
After:
// After
export default async function MyPage(req: Request, ctx: RouteContext) {
const value = await loadFooValue();
return <p>foo is: {value}</p>;
}
Read the full announcement or watch the video →
These events are a great way to meet the team behind Deno, get your questions answered, and learn about web development.
You all have been active building with and writing about Deno! Here’s a (very incomplete) list of projects and articles.
TUI is a framework for building terminal user interfaces. It just hit 2.1 with layouts, performance optimizations, and more. |
kvdex is a type-safe, simple Deno KV wrapper with zero third-party dependencies. |
This blog post peeks under the Deno hood and is useful if you're interested in building your own JS runtime. |
Are you writing an FFI-dependent module? Here’s an in-depth walkthrough on how to publish it to deno.land/x. |
For more projects and resources (or if you’d like to share yours), join the Discord’s #showcase channel.
Aside from the big updates above, we’ve shipped a bunch of other resources. Check them out below: