# Deno v1.31.0 — Release & Upgrade Intelligence
- **Product:** Deno (https://deno.com)
- **Version:** v1.31.0
- **Released:** Feb 24, 2023
- **Impact Score:** 5/10
- **Breaking Changes:** Not verified
- **Canonical Analysis:** https://changelogs.us/deno/updates/v1.31.0/

## Executive Summary (TL;DR)
Deno v1.31.0. Source highlight: feat(bench): Add JSON reporter for "deno bench" subcommand (#17595)

## New Features
- feat(bench): Add JSON reporter for "deno bench" subcommand (#17595)
- feat(bench): change --json output format (#17888)
- feat(core): allow to specify entry point for snapshotted ES modules (#17771)
- feat(ext/ffi): Replace pointer integers with v8::External objects (#16889)
- feat(ext/http): add 2nd param to handler to get remote address (#17633)
- feat(ext/node): embed std/node into the snapshot (#17724)

## Improvements
- perf(core, runtime): Further improve startup time (#17860)
- perf(ext/ffi): Revert UTF-8 validity check from getCString (#17741)
- perf(ext/node): move winerror binding to rust (#17792)
- perf(http): remove allocations checking upgrade and connection header values
- perf: disable fetching graph cache info except for `deno info` (#17698)
- perf: module info cache - avoid MediaType.to_string() allocation (#17699)

## Bug Fixes
- fix(cli): Add better error message when powershell is missing during upgrade
- fix(cli/graph_util): don't append referrer info for root module errors
- fix(cli/napi): correct name handling in napi property descriptor (#17716)
- fix(cli/napi): handle all property variants in napi_define_properties (#17680)
- fix(core): don't allow to import internal code is snapshot is loaded (#17694)
- fix(core): rebuild when JS sources for snapshotting change (#17876)
