Deno August Update: more flexible security in 1.36, persistent logs in Deno Deploy, and more
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 1.36: More flexible security and expanded testing APIs
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
Deno Deploy: filterable, searchable, persistent logs
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:
Fresh 1.3: simplified route components and more
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 →
For the Community
Upcoming Office Hours and Live Coding
These events are a great way to meet the team behind Deno, get your questions answered, and learn about web development.
- August 8th, 8am PT / 11am ET: Office Hours with Kevin and Bartek: Kevin and Bartek, the lead engineer on Deno CLI, will chat about Deno 1.36, Deno 2, and more.
- August 17th, 9am PT / 12pm ET: Live Code Session: Join Kevin as he continues to build an entire app with Fresh and Deno! In this session, Kevin adds role-based access control with Auth0 to Fresh.
- August 24th, 6am PT / 9am ET: Office Hours with Kevin and Arnau: Arnau, who works on Deno Deploy, joins Kevin to discuss the Deploy platform and where it’s headed.
Upcoming Conferences and Meetups
- August 8th: SeattleJS (Seattle, WA): Kevin Whinnery will be sharing what’s the team has been working on for Deno 2.0.
- September 21st: TypeScript Congress (Online): David Sherret will give a talk about replacing shell scripts with cross-platform TypeScript.
- October 10th-11th: Ioniconf (Austin, TX): Kevin Whinnery will present on how to use key/value databases as a backend for you next mobile application project.
- October 20th: Deno Fest (Tokyo, Japan): Partnered with Toranoana, the Deno team is holding its first mini conference! A full days’ worth of talks from the team as well as community members. If you’re in Tokyo, we’d love for you to join us! If not, we plan to stream the event and publish the talks as videos on our YouTube.
- November 6th: Node Conf (Kilkenny, Ireland): Kevin Whinnery will present on various cloud KV solutions, its benefits over other persistent data storage solutions, and more.
Community #Showcase
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.
Other Deno updates
Aside from the big updates above, we’ve shipped a bunch of other resources. Check them out below:
- Build and Ship Astro Sites with Deno and Deno Deploy
- How the creator of Homebrew simplifies distributing software with tea and Deno
- dnt — the easiest way to publish a hybrid npm module for ESM and CommonJS
- Kevin and David take viewer questions and discuss common Deno gotchas (video)
- Kevin builds and deploys an Astro site to Deno Deploy (video)
- Intro to islands with Fresh (video)