chore(deps): update all dependencies #25
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "renovate/all"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
2.2.0
->4.3.3
1.0.82
->1.0.93
4.0.16
->7.0.0
4.0.16
->7.0.0
0.1.79
->0.1.83
0.5.17
->0.7.0
0.3.7
->0.9.0
1.2.0
->1.5.1
1.4.0
->1.5.0
19-alpine
->22-alpine
1.10.4
->1.11.1
0.11.27
->0.12.9
1.65
->1.82
1.0.115
->1.0.133
1.0.37
->2.0.0
1.37.0
->1.41.1
0.3.4
->0.6.0
4.9.3
->5.6.3
1.8.0
->1.11.0
3.2.4
->5.4.11
Release Notes
vitejs/vite-plugin-react (@vitejs/plugin-react)
v4.3.3
Compare Source
React Compiler runtimeModule option removed
React Compiler was updated to accept a
target
option andruntimeModule
was removed. vite-plugin-react will still detectruntimeModule
for backwards compatibility.When using a custom
runtimeModule
ortarget !== '19'
, the plugin will not try to pre-optimizereact/compiler-runtime
dependency.The react-compiler-runtime is now available on npm can be used instead of the local shim for people using the compiler with React < 19.
Here is the configuration to use the compiler with React 18 and correct source maps in development:
v4.3.2
Compare Source
Ignore directive sourcemap error #369
v4.3.1
Compare Source
Fix support for React Compiler with React 18
The previous version made this assumption that the compiler was only usable with React 19, but it's possible to use it with React 18 and a custom
runtimeModule
: https://gist.github.com/poteto/37c076bf112a07ba39d0e5f0645fec43When using a custom
runtimeModule
, the plugin will not try to pre-optimizereact/compiler-runtime
dependency.Reminder: Vite expect code outside of
node_modules
to be ESM, so you will need to update the gist withimport React from 'react'
.v4.3.0
Compare Source
Fix support for React compiler
Don't set
retainLines: true
when the React compiler is used. This creates whitespace issues and the compiler is modifying the JSX too much to get correct line numbers after that. If you want to use the React compiler and get back correct line numbers for tools like vite-plugin-react-click-to-component to work, you should update your config to something like:Support HMR for class components
This is a long overdue and should fix some issues people had with HMR when migrating from CRA.
v4.2.1
Compare Source
Remove generic parameter on
Plugin
to avoid type error with Rollup 4/Vite 5 andskipLibCheck: false
.I expect very few people to currently use this feature, but if you are extending the React plugin via
api
object, you can get back the typing of the hook by importingViteReactPluginApi
:v4.2.0
Compare Source
Update peer dependency range to target Vite 5
There were no breaking change that impacted this plugin, so any combination of React plugins and Vite core version will work.
Align jsx runtime for optimized dependencies
This will only affect people using internal libraries that contains untranspiled JSX. This change aligns the optimizer with the source code and avoid issues when the published source don't have
React
in the scope.Reminder: While being partially supported in Vite, publishing TS & JSX outside of internal libraries is highly discouraged.
v4.1.1
Compare Source
v4.1.0
Compare Source
@types/babel__cores
to dependencies (fix #211)@babel/core
#212index.d.cts
file so you don't get types errors when settingmoduleResolution
tonode16
ornodenext
in your tsconfig (we recommend usingbundler
which is more close to how Vite works)v4.0.4
Compare Source
v4.0.3
Compare Source
v4.0.2
Compare Source
v4.0.1
Compare Source
v4.0.0
Compare Source
This major version include a revamp of options:
include
/exclude
now allow to completely override the files processed by the plugin (#122). This is more in line with other Rollup/Vite plugins and simplify the setup of enabling Fast Refresh for.mdx
files. This can be done like this:These changes also allow to apply Babel plugins on files outside Vite root (expect in node_modules), which improve support for monorepo (fix #16).
With these changes, only the file extensions is used for filtering processed files and the query param fallback is removed.
fastRefresh
is removed (#122). This should be correctly activated by plugin without configuration.jsxPure
is removed. This is a niche use case that was just passing down the boolean to esbuild.jsxSideEffects. (#129)The support for React auto import whe using classic runtime is removed. This was prone to errors and added complexity for no good reason given the very wide support of automatic runtime nowadays. This migration path should be as simple as removing the runtime option from the config.
This release goes in hand with the upcoming Vite 4.3 release focusing on performances:
Other notable changes:
v3.1.0
Compare Source
v3.0.1
Compare Source
v3.0.0
Compare Source
dtolnay/anyhow (anyhow)
v1.0.93
Compare Source
thiserror
v2v1.0.92
Compare Source
&raw const
and&raw mut
syntax insideensure!
(#390)v1.0.91
Compare Source
v1.0.90
Compare Source
v1.0.89
Compare Source
UnwindSafe
andRefUnwindSafe
impl consistently available between versions of Rust newer and older than 1.72 (#386)v1.0.88
Compare Source
v1.0.87
Compare Source
Error::new
andError::chain
, in no-std mode on Rust 1.81+ (#383)v1.0.86
Compare Source
ensure!
with non-literal after minus sign (#373)v1.0.85
Compare Source
ensure!
macro's rules to unblock some rustc pretty-printer improvements (#368, #371)v1.0.84
Compare Source
ensure!
through aNot
impl for a type that is notbool
(#367)v1.0.83
Compare Source
async-graphql/async-graphql (async-graphql)
v7.0.11
v7.0.10
SchemeBuilder.limit_directives
method to set the maximum number of directives on a single field.From<T>
for [Error] set source #1561v7.0.9
on_ping
callback toWebSocket
v7.0.8
rejection
inasync_graphql_axum
#1571time
to3.36
, as it fixes a compilation error in rust1.80
#1572Debug
fordynamic::FieldValue
& Improve error messages for its methods #1582#[doc = ...]
attributes when generating descriptions #1581Websocket::keepalive_timeout
method to sets a timeout for receiving an acknowledgement of the keep-alive ping.v7.0.7
ARGUMENT_DEFINITION
is not being output at the appropriate location in SDL #1559v7.0.6
Interface
andOneofObject
on the same struct #1534v7.0.5
display
attribute for Enum macro #1518v7.0.3
type_name
ofEmptySubscription
fix #1435 #1475Request::set_parsed_query
method #1483NextExecute::run_with_data
method to attach context data before executionv7.0.2
#[derive(OneofObject)]
rejecting enums where the type comes from a macro subsitution #1473impl Future
instead ofasync-trait
in most traits. #1468base64
to0.21
#1466v7.0.1
v7.0.0
http1
v6.0.11
v0.21.x
#1422v6.0.10
0.20.0
#14060.5.0-rc.2
to0.5.0-rc.4
v6.0.9
@composeDirective
in Federation's_service
field and document#[TypeDirective]
#1400v6.0.7
v6.0.6
v6.0.5
ValueAccessor::as_value
andListAccessor::as_values_slice
methods #13531.70.0
v6.0.4
multipart/mixed
request. #1348GraphQL
handler.GraphQL
service.v6.0.3
XXXAccessor
return reference lifetimes that are smaller than expected.OutputType
implementation forstd::sync::Weak
#1334v6.0.1
v0.21.x
#1422v6.0.0
syn
from1.0
to2.0
darling
from0.14
to0.20
indexmap
from1.6.2
to2
guard
,process_with
,complexity
support expression or string as value #1295Dataloader::get_cached_values
method to the dataloader cache so that callers can access the contents of the cache without knowing the keys. #1326Breaking Changes
Since
syn 2.0
no longer supports keywords as meta path, rename the parameter used to specify interface field types fromtype
toty
.https://github.com/dtolnay/syn/issues/1458
https://github.com/TedDriggs/darling/issues/238
location
of the macroDirective
to PascalCasev5.0.10
CursorScalar
type and exposeEdge::cursor
member #1302v5.0.9
v5.0.8
1.65.0
v5.0.7
v5.0.6
1.64.0
v5.0.5
v5.0.4
DynamicRequestExt::root_value
to specify the root value for the requestCustomValidator::check
returns error type fromString
toInputValueError<T>
.v5.0.3
v5.0.2
v5.0.1
CursorScalar
type and exposeEdge::cursor
member #1302v5.0.0
1.60.0
dtolnay/async-trait (async-trait)
v0.1.83
Compare Source
v0.1.82
Compare Source
v0.1.81
Compare Source
syn
dependency (#272, thanks @klensy)v0.1.80
Compare Source
!
(#265, thanks @de-vri-es)tokio-rs/axum (axum)
v0.7.9
: axum - v0.7.9Compare Source
v0.7.8
: axum - v0.7.8Compare Source
serde_json::RawValue
inEvent::json_data
(#2992)method_not_allowed_fallback
to set a fallback when a path matches but there is no handler for the given HTTP method (#2903)MethodFilter::CONNECT
,routing::connect[_service]
and
MethodRouter::connect[_service]
(#2961)NoContent
as a self-described shortcut forStatusCode::NO_CONTENT
(#2978)v0.7.7
: axum - v0.7.7Compare Source
rustdoc now generates tables of content in the sidebar (#2921)
v0.7.6
: axum - v0.7.6Compare Source
Arc
during deserialization ofPath
axum::serve::Serve::tcp_nodelay
andaxum::serve::WithGracefulShutdown::tcp_nodelay
(#2653)Router::has_routes
function (#2790)Serve::local_addr
andWithGracefulShutdown::local_addr
functions (#2881)v0.7.5
: axum - v0.7.5Compare Source
axum::serve
directly witha
Router
orMethodRouter
(#2586)h2
is no longer pulled as a dependency unless thehttp2
featureis enabled (#2605)
v0.7.4
: axum - v0.7.4Compare Source
debug_handler
on tuple response types (#2201)must_use
attribute toServe
andWithGracefulShutdown
(#2484)axum_core::body::BodyDataStream
from axumv0.7.3
: axum - v0.7.3Compare Source
Body
implementsFrom<()>
now (#2411)tracing
feature by default (#2460)serve
(#2398)RouterIntoService
implementsClone
(#2456)v0.7.2
: axum - v0.7.2Compare Source
axum::body::to_bytes
(#2373)serve
(#2400)v0.7.1
: axum - v0.7.1Compare Source
v0.7.0
: axum - v0.7.0Compare Source
WebSocketUpgrade::max_send_queue
(i.e. the
B
type param has been removed) (#1751 and #1789):FromRequestParts
FromRequest
HandlerService
HandlerWithoutStateExt
Handler
LayeredFuture
Layered
MethodRouter
Next
RequestExt
RouteFuture
Route
Router
hyper::Body
as that type is removedin hyper 1.0. Instead axum has its own body type at
axum::body::Body
(#1751)extract::BodyStream
has been removed asbody::Body
implements
Stream
andFromRequest
directly (#1751)sse::Event::json_data
to useaxum_core::Error
as its error type (#1762)DefaultOnFailedUpdgrade
toDefaultOnFailedUpgrade
(#1664)OnFailedUpdgrade
toOnFailedUpgrade
(#1664)TypedHeader
has been move toaxum-extra
(#1850)Empty
andFull
. Useaxum::body::Body::empty
andaxum::body::Body::from
respectively (#1789)IntoResponse::into_response
must useaxum::body::Body
as the body type.axum::response::Response
does this(#1789)
BoxBody
type alias and itsbox_body
constructor. Use
axum::body::Body::new
instead (#1789)RawBody
extractor.axum::body::Body
implementsFromRequest
directly (#1789)http-body
no longer implementIntoResponse
:Full
, useBody::from
insteadEmpty
, useBody::empty
insteadBoxBody
, useBody::new
insteadUnsyncBoxBody
, useBody::new
insteadMapData
, useBody::new
insteadMapErr
, useBody::new
insteadaxum::extract::Request
type alias where the body isaxum::body::Body
(#1789)Router::as_service
andRouter::into_service
to workaroundtype inference issues when calling
ServiceExt
methods on aRouter
(#1835)axum::Server
as it was removed in hyper 1.0. Insteaduse
axum::serve(listener, service)
or hyper/hyper-util for more configuration options (#1868)Router::nest
.Routers nested with
Router::nest_service
will no longer inherit fallbacks (#1956)Sec-WebSocket-Key
header inWebSocketUpgrade
(#1972)axum::extract::Query::try_from_uri
(#2058)IntoResponse
forBox<str>
andBox<[u8]>
([#2035])MethodFilter
. It no longer uses bitflags (#2073).source()
of composite rejections (#2030)#[debug_handler]
(#2014)IntoResponse
for(R,) where R: IntoResponse
(#2143)NestedPath
extractor (#1924)handle_error
function to existingServiceExt
trait (#2235)impl<T> IntoResponse(Parts) for Extension<T>
now requiresT: Clone
, as that is required by the http crate (#1882)axum::Json::from_bytes
(#2244)FromRequestParts
forhttp::request::Parts
(#2328)FromRequestParts
forhttp::Extensions
(#2328)DefaultBodyLimit
to individual routes (#2157)v0.6.20
: axum - v0.6.20Compare Source
WebSocketUpgrade::write_buffer_size
andWebSocketUpgrade::max_write_buffer_size
WebSocketUpgrade::max_send_queue
Handler
forT: IntoResponse
(#2140)v0.6.19
: axum - v0.6.19Compare Source
axum::extract::Query::try_from_uri
(#2058)IntoResponse
forBox<str>
andBox<[u8]>
(#2035).source()
of composite rejections (#2030)#[debug_handler]
(#2014)v0.6.18
: axum - v0.6.18Compare Source
Sec-WebSocket-Key
header inWebSocketUpgrade
(#1972)v0.6.17
: axum - v0.6.17Compare Source
CONNECT
requests (#1958)v0.6.16
: axum - v0.6.16Compare Source
MatchedPath
in fallbacks (#1934)Router
with something nested at/
was used as a fallback (#1934)Router::new().fallback(...)
isn't optimal (#1940)v0.6.15
: axum - v0.6.15Compare Source
v0.6.14
: axum - v0.6.14Compare Source
v0.6.13
: axum - v0.6.13Compare Source
axum::rejection=trace
target (#1890)Router::nest
introduced in0.6.0.
nest
now flattens the routes which performs better (#1711)MatchedPath
in nested handlers now gives the fullmatched path, including the nested path (#1711)
Deref
andDerefMut
for built-in extractors (#1922)v0.6.12
: axum - v0.6.12Compare Source
IntoResponse
forMultipartError
(#1861)v0.6.11
: axum - v0.6.11Compare Source
S: Debug
forimpl Debug for Router<S>
(#1836)v0.6.10
: axum - v0.6.10Compare Source
#[must_use]
attributes to types that do nothing unless used (#1809)TypedHeader
extractor (#1810)Router
via a dynamic library (#1806)v0.6.9
: axum - v0.6.9Compare Source
v0.6.8
: axum - v0.6.8Compare Source
Allow
missing from routers with middleware (#1773)KeepAlive::event
for customizing the event sent for SSE keep alive (#1729)v0.6.7
: axum - v0.6.7Compare Source
FormRejection::FailedToDeserializeFormBody
which is returnedif the request body couldn't be deserialized into the target type, as opposed
to
FailedToDeserializeForm
which is only for query parameters (#1683)MockConnectInfo
for settingConnectInfo
during tests (#1767)v0.6.6
: axum - v0.6.6Compare Source
MethodRouter
toRouter::fallback
(#1730)v0.6.5
: axum - v0.6.5Compare Source
#[debug_handler]
sometimes giving wrong borrow related suggestions (#1710)impl IntoResponse
as the return type from handler functions (#1736)v0.6.4
: axum - v0.6.4Compare Source
v0.6.3
: axum - v0.6.3Compare Source
IntoResponse
for&'static [u8; N]
and[u8; N]
(#1690)Path
support types usingserde::Deserializer::deserialize_any
(#1693)RawPathParams
(#1713)Clone
andService
foraxum::middleware::Next
(#1712)v0.6.2
: axum - v0.6.2Compare Source
body_text
andstatus
methods to built-in rejections (#1612)runtime
feature ofhyper
when usingtokio
(#1671)v0.6.1
: axum - v0.6.1Compare Source
Router::with_state
(#1580)v0.6.0
: axum-extra - v0.6.0Compare Source
breaking: Change casing of
ProtoBuf
toProtobuf
(#1595)breaking:
SpaRouter
has been removed. UseServeDir
andServeFile
from
tower-http
instead:See the static-file-server-example for more examples (#1784)
hyperium/hyper (hyper)
v1.5.1
Compare Source
Bug Fixes
v1.5.0
Compare Source
Bug Fixes
date_header
effective (#3718) (7de02373)Features
header_table_size()
andmax_concurrent_streams()
(4c84e8c1)ReadBufCursor
methodsremaining()
andput_slice()
(#3700) (5a13041e)v1.4.1 (2024-07-09)
Bug Fixes
v1.4.1
Compare Source
Bug Fixes
v1.4.0
Compare Source
Bug Fixes
Features
SendRequest::try_send_request()
method (#3691) (4ffaad53)Send +Sync
bounds requirement ofhttp2::Connection
executor (#3682) (56c3cd56)'static
lifetime bound on http1/2 client IO (#3667) (9580b357)Builder::auto_date_header(bool)
to allow disabling Date headers (721785ef)v1.3.1 (2024-04-16)
Bug Fixes
v1.3.1
Compare Source
Bug Fixes
v1.3.0
Compare Source
Bug Fixes
max_header_list_size(num)
defaults to 16kb (203d1b09)initial_max_send_streams
defaults to 100 (2d1bd708)Future
impl of HTTP/1UpgradeableConnection
(#3627) (b79be911, closes #3621)graceful_shutdown
panic on upgraded H1 connection (#3616) (6ecf8521)Features
max_header_list_size(num)
tohttp2::Builder
. (1c5b1b87)max_pending_accept_reset_streams
HTTP2 option (#3617) (330ddf1d)'static
from connection IO trait bounds (#3595) (0013bdda)rust-lang-nursery/lazy-static.rs (lazy_static)
v1.5.0
Compare Source
nodejs/node (node)
v22.11.0
: 2024-10-29, Version 22.11.0 'Jod' (LTS), @richardlauCompare Source
Notable Changes
This release marks the transition of Node.js 22.x into Long Term Support (LTS)
with the codename 'Jod'. The 22.x release line now moves into "Active LTS"
and will remain so until October 2025. After that time, it will move into
"Maintenance" until end of life in April 2027.
Other than updating metadata, such as the
process.release
object, to reflectthat the release is LTS, no further changes from Node.js 22.10.0 are included.
OpenSSL 3.x
Official binaries for Node.js 22.x currently include OpenSSL 3.0.x (more
specifically, the quictls OpenSSL fork).
OpenSSL 3.0.x is the currently designated long term support version that is
scheduled to be supported until 7th September 2026, which is within the expected
lifetime of Node.js 22.x. We are expecting upstream OpenSSL to announce a
successor long term support version prior to that date and since OpenSSL now
follows a semantic versioning-like versioning scheme we expect to be able to
update to the next long term supported version of OpenSSL during the lifetime of
Node.js 22.x.
v22.10.0
: 2024-10-16, Version 22.10.0 (Current), @aduh95Compare Source
Notable Changes
New
"module-sync"
exports conditionThis release introduces a
"module-sync"
exports condition that's enabled whenrequire(esm)
is enabled, so packages can supply a synchronous ES module to theNode.js module loader, no matter if it's being required or imported. This is
similar to the
"module"
condition that bundlers have been using to supportrequire(esm)
in Node.js, and allows dual-package authors to opt into ESM-firstonly on newer versions of Node.js that supports
require(esm)
to avoid thedual-package hazard.
Or if the package is only meant to be run on Node.js and wants to fallback to
CJS on older versions that don't have
require(esm)
:For package authors: this only serves as a feature-detection mechanism for
packages that wish to support both CJS and ESM users during the period when some
active Node.js LTS versions support
require(esm)
while some older ones don't.When all active Node.js LTS lines support
require(esm)
, packages can simplifytheir distributions by bumping the major version, dropping their CJS exports,
and removing the
module-sync
exports condition (with onlymain
ordefault
targetting the ESM exports). If the package needs to support both bundlers and
being run unbundled on Node.js during the transition period, use both
module-sync
andmodule
and point them to the same ESM file. If the packagealready doesn't want to support older versions of Node.js that doesn't support
require(esm)
, don't use this export condition.For bundlers/tools: they should avoid implementing this stop-gap condition.
Most existing bundlers implement the de-facto bundler standard
module
exports condition, and that should be enough to support users who want to bundle
ESM from CJS consumers. Users who want both bundlers and Node.js to recognize
the ESM exports can use both
module
/module-sync
conditions during thetransition period, and can drop
module-sync
+module
when they no longer needto support older versions of Node.js. If tools do want to support this
condition, it's recommended to make the resolution rules in the graph pointed by
this condition match the Node.js native ESM rules to avoid divergence.
We ended up implementing a condition with a different name instead of reusing
"module"
, because existing code in the ecosystem using the"module"
condition sometimes also expect the module resolution for these ESM files to
work in CJS style, which is supported by bundlers, but the native Node.js loader
has intentionally made ESM resolution different from CJS resolution (e.g.
forbidding
import './noext'
orimport './directory'
), so it would bebreaking to implement a
"module"
condition without implementing the forbiddenESM resolution rules. For now, this just implements a new condition as
semver-minor so it can be backported to older LTS.
Contributed by Joyee Cheung in #54648.
node --run
is now stableThis CLI flag runs a specified command from a
package.json
's"scripts"
object.For the following
package.json
:You can run
node --run test
and that would start the test suite.Contributed by Yagiz Nizipli in #53763.
Other notable changes
Commits
v22.9.0
: 2024-09-17, Version 22.9.0 (Current), @RafaelGSSCompare Source
New API to retrieve execution Stack Trace
A new API
getCallSite
has been introduced to theutil
module. This API allows usersto retrieve the stacktrace of the current execution. Example:
Thanks to Rafael Gonzaga for making this work on #54380.
Disable V8 Maglev
We have seen several crashes/unexpected JS behaviors with maglev on v22
(which ships V8 v12.4). The bugs lie in the codegen so it would be difficult for
users to work around them or even figure out where the bugs are coming from.
Some bugs are fixed in the upstream while some others probably remain.
As v22 will get stuck with V8 v12.4 as LTS, it will be increasingly difficult to
backport patches for them even if the bugs are fixed. So disable it by default
on v22 to reduce the churn and troubles for users.
Thanks to Joyee Cheung for making this work on #54384
Exposes X509_V_FLAG_PARTIAL_CHAIN to tls.createSecureContext
This releases introduces a new option to the API
tls.createSecureContext
. Fornow on users can use
tls.createSecureContext({ allowPartialTrustChain: true })
to treat intermediate (non-self-signed) certificates in the trust CA certificate
list as trusted.
Thanks to Anna Henningsen for making this work on #54790
Other Notable Changes
Deprecations
Commits
v22.8.0
: 2024-09-03, Version 22.8.0 (Current), @RafaelGSSCompare Source
New JS API for compile cache
This release adds a new API
module.enableCompileCache()
that can be used to enable on-disk code caching of all modules loaded after this API is called.Previously this could only be enabled by the
NODE_COMPILE_CACHE
environment variable, so it could only set by end-users.This API allows tooling and library authors to enable caching of their own code.
This is a built-in alternative to the v8-compile-cache/v8-compile-cache-lib packages,
but have better performance and supports ESM.
Thanks to Joyee Cheung for working on this.
New option for vm.createContext() to create a context with a freezable globalThis
Node.js implements a flavor of
vm.createContext()
and friends that creates a context without contextifying its globalobject when vm.constants.DONT_CONTEXTIFY is used. This is suitable when users want to freeze the context
(impossible when the global is contextified i.e. has interceptors installed) or speed up the global access if they
don't need the interceptor behavior.
Thanks to Joyee Cheung for working on this.
Support for coverage thresholds
Node.js now supports requiring code coverage to meet a specific threshold before the process exits successfully.
To use this feature, you need to enable the
--experimental-test-coverage
flag.You can set thresholds for the following types of coverage:
--test-coverage-branches=<threshold>
--test-coverage-functions=<threshold>
--test-coverage-lines=<threshold>
<threshold>
should be an integer between 0 and 100. If an invalid value is provided, aTypeError
will be thrown.If the code coverage fails to meet the specified thresholds for any category, the process will exit with code
1
.For instance, to enforce a minimum of 80% line coverage and 60% branch coverage, you can run:
Thanks Aviv Keller for working on this.
Other Notable Changes
Commits
v22.7.0
: 2024-08-22, Version 22.7.0 (Current), @RafaelGSSCompare Source
Experimental transform types support
With the new flag
--experimental-transform-types
it is possible to enable thetransformation of TypeScript-only syntax into JavaScript code.
This feature allows Node.js to support TypeScript syntax such as
Enum
andnamespace
.Thanks to Marco Ippolito for making this work on #54283.
Module syntax detection is now enabled by default.
Module syntax detection (the
--experimental-detect-module
flag) is nowenabled by default. Use
--no-experimental-detect-module
to disable it ifneeded.
Syntax detection attempts to run ambiguous files as CommonJS, and if the module
fails to parse as CommonJS due to ES module syntax, Node.js tries again and runs
the file as an ES module.
Ambiguous files are those with a
.js
or no extension, where the nearest parentpackage.json
has no"type"
field (either"type": "module"
or"type": "commonjs"
).Syntax detection should have no performance impact on CommonJS modules, but it
incurs a slight performance penalty for ES modules; add
"type": "module"
tothe nearest parent
package.json
file to eliminate the performance cost.A use case unlocked by this feature is the ability to use ES module syntax in
extensionless scripts with no nearby
package.json
.Thanks to Geoffrey Booth for making this work on #53619.
Performance Improvements to Buffer
Performance of Node.js Buffers have been optimized through multiple PR's with significant
improvements to the
Buffer.copy
andBuffer.write
methods. These are used throughoutthe codebase and should give a nice boost across the board.
Thanks to Robert Nagy for making this work on #54311,
#54324, and #54087.
Other Notable Changes
Commits
v22.6.0
: 2024-08-06, Version 22.6.0 (Current), @RafaelGSSCompare Source
Experimental TypeScript support via strip types
Node.js introduces the
--experimental-strip-types
flag for initial TypeScript support.This feature strips type annotations from .ts files, allowing them to run
without transforming TypeScript-specific syntax. Current limitations include:
enums
ornamespaces
.Thanks Marco Ippolito for working on this.
Experimental Network Inspection Support in Node.js
This update introduces the initial support for network inspection in Node.js.
Currently, this is an experimental feature, so you need to enable it using the
--experimental-network-inspection
flag.With this feature enabled, you can inspect network activities occurring within a JavaScript application.
To use network inspection, start your Node.js application with the following command:
Please note that the network inspection capabilities are in active development.
We are actively working on enhancing this feature and will continue to expand its functionality in future updates.
http
andhttps
modules only.feature request on the Chrome DevTools side is addressed.
Thanks Kohei Ueno for working on this.
Other Notable Changes
Commits
v22.5.1
: 2024-07-19, Version 22.5.1 (Current), @richardlauCompare Source
Notable Changes
This release fixes a regression introduced in Node.js 22.5.0. The problem is known to display the following symptoms:
FATAL ERROR: v8::Object::GetCreationContextChecked No creation context available
#53902npm error Exit handler never called!
npm/cli#7657Usage Error: Couldn't find the node_modules state file - running an install might help (findPackageLocation)
yarnpkg/berry#6398Commits
v22.5.0
: 2024-07-17, Version 22.5.0 (Current), @RafaelGSS prepared by @aduh95Compare Source
Notable Changes
Commits
v22.4.1
: 2024-07-08, Version 22.4.1 (Current), @RafaelGSSCompare Source
This is a security release.
Notable Changes
Commits
v22.4.0
: 2024-07-02, Version 22.4.0 (Current), @targosCompare Source
Notable Changes
Experimental Web Storage API
API stability updates
Other Notable Changes
Commits
v22.3.0
: 2024-06-11, Version 22.3.0 (Current), @RafaelGSSCompare Source
Notable Changes
Commits
v22.2.0
: 2024-05-15, Version 22.2.0 (Current), @targosCompare Source
Notable Changes
Commits
v22.1.0
: 2024-05-02, Version 22.1.0 (Current), @targos prepared by @aduh95Compare Source
module: implement
NODE_COMPILE_CACHE
for automatic on-disk code cachingThis patch implements automatic on-disk code caching that can be enabled
via an environment variable
NODE_COMPILE_CACHE=/path/to/cache/dir
.When set, whenever Node.js compiles a CommonJS or a ECMAScript Module,
it will use on-disk V8 code cache
persisted in the specified directory
to speed up the compilation. This may slow down the first load of a
module graph, but subsequent loads of the same module graph may get
a significant speedup if the contents of the modules do not change.
Locally, this speeds up loading of
test/fixtures/snapshot/typescript.js
from ~130ms to ~80ms.
To clean up the generated code cache, simply remove the directory.
It will be recreated the next time the same directory is used for
NODE_COMPILE_CACHE
.Compilation cache generated by one version of Node.js may not be used
by a different version of Node.js. Cache generated by different versions
of Node.js will be stored separately if the same directory is used
to persist the cache, so they can co-exist.
Caveat: currently when using this with V8 JavaScript code coverage, the
coverage being collected by V8 may be less precise in functions that are
deserialized from the code cache. It's recommended to turn this off when
running tests to generate precise coverage.
Contributed by Joyee Cheung in #52535.
Other Notable Changes
Commits
v22.0.0
: 2024-04-24, Version 22.0.0 (Current), @RafaelGSS and @marco-ippolitoCompare Source
We're excited to announce the release of Node.js 22!
Highlights include require()ing ESM graphs, WebSocket client, updates of the V8 JavaScript engine, and more!
As a reminder, Node.js 22 will enter long-term support (LTS) in October, but until then, it will be the "Current" release for the next six months.
We encourage you to explore the new features and benefits offered by this latest release and evaluate their potential impact on your applications.
Other Notable Changes
Semver-Major Commits
Semver-Minor Commits
Semver-Patch Commits
v20.18.1
: 2024-11-20, Version 20.18.1 'Iron' (LTS), @marco-ippolitoCompare Source
Notable Changes
Commits
v20.18.0
: 2024-10-03, Version 20.18.0 'Iron' (LTS), @targosCompare Source
Notable Changes
Experimental Network Inspection Support in Node.js
This update introduces the initial support for network inspection in Node.js.
Currently, this is an experimental feature, so you need to enable it using the
--experimental-network-inspection
flag.With this feature enabled, you can inspect network activities occurring within a JavaScript application.
To use network inspection, start your Node.js application with the following command:
Please note that the network inspection capabilities are in active development.
We are actively working on enhancing this feature and will continue to expand its functionality in future updates.
http
andhttps
modules only.feature request on the Chrome DevTools side is addressed.
Contributed by Kohei Ueno in #53593 and #54246
Exposes X509_V_FLAG_PARTIAL_CHAIN to tls.createSecureContext
This releases introduces a new option to the API
tls.createSecureContext
. Fromnow on,
tls.createSecureContext({ allowPartialTrustChain: true })
can be usedto treat intermediate (non-self-signed) certificates in the trust CA certificate
list as trusted.
Contributed by Anna Henningsen in #54790
New option for vm.createContext() to create a context with a freezable globalThis
Node.js implements a flavor of
vm.createContext()
and friends that creates a context without contextifying its globalobject when vm.constants.DONT_CONTEXTIFY is used. This is suitable when users want to freeze the context
(impossible when the global is contextified i.e. has interceptors installed) or speed up the global access if they
don't need the interceptor behavior.
Contributed by Joyee Cheung in #54394
Deprecations
Other Notable Changes
Commits
v20.17.0
: 2024-08-21, Version 20.17.0 'Iron' (LTS), @marco-ippolitoCompare Source
module: support require()ing synchronous ESM graphs
This release adds
require()
support for synchronous ESM graphs underthe flag
--experimental-require-module
.If
--experimental-require-module
is enabled, and the ECMAScriptmodule being loaded by
require()
meets the following requirements:require()
will load the requested module as an ES Module, and returnthe module name space object. In this case it is similar to dynamic
import()
but is run synchronously and returns the name space objectdirectly.
Contributed by Joyee Cheung in #51977
path: add
matchesGlob
methodGlob patterns can now be tested against individual paths via the
path.matchesGlob(path, pattern)
method.Contributed by Aviv Keller in #52881
stream: expose DuplexPair API
The function
duplexPair
returns an array with two items,each being a
Duplex
stream connected to the other side:Whatever is written to one stream is made readable on the other. It provides
behavior analogous to a network connection, where the data written by the client
becomes readable by the server, and vice-versa.
Contributed by Austin Wright in #34111
Other Notable Changes
Commits
v20.16.0
: 2024-07-24, Version 20.16.0 'Iron' (LTS), @marco-ippolitoCompare Source
process: add process.getBuiltinModule(id)
process.getBuiltinModule(id)
provides a way to load built-in modulesin a globally available function. ES Modules that need to support
other environments can use it to conditionally load a Node.js built-in
when it is run in Node.js, without having to deal with the resolution
error that can be thrown by
import
in a non-Node.js environment orhaving to use dynamic
import()
which either turns the module intoan asynchronous module, or turns a synchronous API into an asynchronous one.
If
id
specifies a built-in module available in the current Node.js process,process.getBuiltinModule(id)
method returns the corresponding built-inmodule. If
id
does not correspond to any built-in module,undefined
is returned.
process.getBuiltinModule(id)
accepts built-in module IDs that are recognizedby
module.isBuiltin(id)
.The references returned by
process.getBuiltinModule(id)
always point tothe built-in module corresponding to
id
even if users modifyrequire.cache
so thatrequire(id)
returns something else.Contributed by Joyee Cheung in #52762
doc: doc-only deprecate OpenSSL engine-based APIs
OpenSSL 3 deprecated support for custom engines with a recommendation to switch to its new provider model.
The
clientCertEngine
option forhttps.request()
,tls.createSecureContext()
, andtls.createServer()
; theprivateKeyEngine
andprivateKeyIdentifier
fortls.createSecureContext();
andcrypto.setEngine()
all depend on this functionality from OpenSSL.Contributed by Richard Lau in #53329
inspector: fix disable async hooks on Debugger.setAsyncCallStackDepth
Debugger.setAsyncCallStackDepth
was previously calling the enable function by mistake. As a result, when profiling using Chrome DevTools, the async hooks won't be turned off properly after receivingDebugger.setAsyncCallStackDepth
with depth 0.Contributed by Joyee Cheung in #53473
Other Notable Changes
Commits
v20.15.1
: 2024-07-08, Version 20.15.1 'Iron' (LTS), @RafaelGSSCompare Source
This is a security release.
Notable Changes
Commits
v20.15.0
: 2024-06-20, Version 20.15.0 'Iron' (LTS), @marco-ippolitoCompare Source
test_runner: support test plans
It is now possible to count the number of assertions and subtests that are expected to run within a test. If the number of assertions and subtests that run does not match the expected count, the test will fail.
Contributed by Colin Ihrig in #52860
inspector: introduce the
--inspect-wait
flagThis release introduces the
--inspect-wait
flag, which allows debugger to wait for attachement. This flag is useful when you want to debug the code from the beginning. Unlike--inspect-brk
, which breaks on the first line, this flag waits for debugger to be connected and then runs the code as soon as a session is established.Contributed by Kohei Ueno in #52734
zlib: expose zlib.crc32()
This release exposes the crc32() function from zlib to user-land.
It computes a 32-bit Cyclic Redundancy Check checksum of data. If
value is specified, it is used as the starting value of the checksum,
otherwise, 0 is used as the starting value.
The CRC algorithm is designed to compute checksums and to detect error
in data transmission. It's not suitable for cryptographic authentication.
Contributed by Joyee Cheung in #52692
cli: allow running wasm in limited vmem with --disable-wasm-trap-handler
By default, Node.js enables trap-handler-based WebAssembly bound
checks. As a result, V8 does not need to insert inline bound checks
int the code compiled from WebAssembly which may speedup WebAssembly
execution significantly, but this optimization requires allocating
a big virtual memory cage (currently 10GB). If the Node.js process
does not have access to a large enough virtual memory address space
due to system configurations or hardware limitations, users won't
be able to run any WebAssembly that involves allocation in this
virtual memory cage and will see an out-of-memory error.
--disable-wasm-trap-handler
disables this optimization so thatusers can at least run WebAssembly (with a less optimial performance)
when the virtual memory address space available to their Node.js
process is lower than what the V8 WebAssembly memory cage needs.
Contributed by Joyee Cheung in #52766
Other Notable Changes
Commits
v20.14.0
: 2024-05-28, Version 20.14.0 'Iron' (LTS), @marco-ippolitoCompare Source
Notable Changes
Commits
v20.13.1
: 2024-05-09, Version 20.13.1 'Iron' (LTS), @marco-ippolitoCompare Source
2024-05-09, Version 20.13.1 'Iron' (LTS), @marco-ippolito
Revert "tools: install npm PowerShell scripts on Windows"
Due to a regression in the npm installation on Windows, this commit reverts the change that installed npm PowerShell scripts on Windows.
Commits
v20.13.0
: 2024-05-07, Version 20.13.0 'Iron' (LTS), @marco-ippolitoCompare Source
2024-05-07, Version 20.13.0 'Iron' (LTS), @marco-ippolito
buffer: improve
base64
andbase64url
performanceThe performance of the
base64
andbase64url
encoding and decoding functions has been improved significantly.Contributed by Yagiz Nizipli in #52428
crypto: deprecate implicitly shortened GCM tags
This release, introduces a doc-only deprecation of using GCM authentication tags that are shorter than the cipher's block size, unless the user specified the
authTagLength
option.Contributed by Tobias Nießen in #52345
events,doc: mark CustomEvent as stable
From this release
CustomEvent
has been marked stable.Contributed by Daeyeon Jeong in #52618
fs: add stacktrace to fs/promises
Sync functions in fs throwed an error with a stacktrace which is helpful for debugging. But functions in fs/promises throwed an error without a stacktrace. This commit adds stacktraces by calling
Error.captureStacktrace
and re-throwing the error.Contributed by 翠 / green in #49849
report: add
--report-exclude-network
optionNew option
--report-exclude-network
, also available asreport.excludeNetwork
, enables the user to exclude networking interfaces in their diagnostic report. On some systems, this can cause the report to take minutes to generate so this option can be used to optimize that.Contributed by Ethan Arrowood in #51645
src: add uv_get_available_memory to report and process
From this release it is possible to get the available memory in the system by calling
process.getAvailableMemory()
.Contributed by theanarkh #52023
stream: support typed arrays
This commit adds support for typed arrays in streams.
Contributed by IlyasShabi #51866
util: support array of formats in util.styleText
It is now possible to pass an array of format strings to
util.styleText
to apply multiple formats to the same text.Contributed by Marco Ippolito in #52040
v8: implement v8.queryObjects() for memory leak regression testing
This is similar to the queryObjects() console API provided by the Chromium DevTools console. It can be used to search for objects that have the matching constructor on its prototype chain in the heap after a full garbage collection, which can be useful for memory leak regression tests.
To avoid surprising results, users should avoid using this API on constructors whose implementation they don't control, or on constructors that can be invoked by other parties in the application.
To avoid accidental leaks, this API does not return raw references to the objects found. By default, it returns the count of the objects found. If options.format is 'summary', it returns an array containing brief string representations for each object. The visibility provided in this API is similar to what the heap snapshot provides, while users can save the cost of serialization and parsing and directly filer the target objects during the search.
We have been using this API internally for the test suite, which has been more stable than any other leak regression testing strategies in the CI. With a public implementation we can now use the public API instead.
Contributed by Joyee Cheung in #51927
watch: mark as stable
From this release Watch Mode is considered stable.
When in watch mode, changes in the watched files cause the Node.js process to restart.
Contributed by Moshe Atlow in #52074
Other Notable Changes
Commits
v20.12.2
: 2024-04-10, Version 20.12.2 'Iron' (LTS), @RafaelGSSCompare Source
This is a security release.
Notable Changes
child_process.spawn
without shell option enabled on WindowsCommits
v20.12.1
: 2024-04-03, Version 20.12.1 'Iron' (LTS), @RafaelGSSCompare Source
This is a security release
Notable Changes
Commits
v20.12.0
: 2024-03-26, Version 20.12.0 'Iron' (LTS), @richardlauCompare Source
Notable Changes
crypto: implement crypto.hash()
This patch introduces a helper crypto.hash() that computes
a digest from the input at one shot. This can be 1.2-2x faster
than the object-based createHash() for smaller inputs (<= 5MB)
that are readily available (not streamed) and incur less memory
overhead since no intermediate objects will be created.
Contributed by Joyee Cheung in #51044.
Loading and parsing environment variables
process.loadEnvFile(path)
:.env
file. If no path is specified, it automatically loads the .env file in the current directory. Example:process.loadEnvFile()
.process.loadEnvFile('./development.env')
.util.parseEnv(content)
:require('node:util').parseEnv('HELLO=world')
.Contributed by Yagiz Nizipli in #51476.
New connection attempt events
Three new events were added in the
net.createConnection
flow:connectionAttempt
: Emitted when a new connection attempt is established. In case of Happy Eyeballs, this might emitted multiple times.connectionAttemptFailed
: Emitted when a connection attempt failed. In case of Happy Eyeballs, this might emitted multiple times.connectionAttemptTimeout
: Emitted when a connection attempt timed out. In case of Happy Eyeballs, this will not be emitted for the last attempt. This is not emitted at all if Happy Eyeballs is not used.Additionally, a previous bug has been fixed where a new connection attempt could have been started after a previous one failed and after the connection was destroyed by the user.
This led to a failed assertion.
Contributed by Paolo Insogna in #51045.
Permission Model changes
Node.js 20.12.0 comes with several fixes for the experimental permission model and two new semver-minor commits.
We're adding a new flag
--allow-addons
to enable addon usage when using the Permission Model.Contributed by Rafael Gonzaga in #51183
And relative paths are now supported through the
--allow-fs-*
flags.Therefore, with this release one can use:
To give only read access to the entrypoint of the application.
Contributed by Rafael Gonzaga and Carlos Espa in #50758.
sea: support embedding assets
Users can now include assets by adding a key-path dictionary
to the configuration as the
assets
field. At build time, Node.jswould read the assets from the specified paths and bundle them into
the preparation blob. In the generated executable, users can retrieve
the assets using the
sea.getAsset()
andsea.getAssetAsBlob()
API.The single-executable application can access the assets as follows:
Contributed by Joyee Cheung in #50960.
Support configurable snapshot through
--build-snapshot-config
flagWe are adding a new flag
--build-snapshot-config
to configure snapshots through a custom JSON configuration file.When using this flag, additional script files provided on the command line will
not be executed and instead be interpreted as regular command line arguments.
These changes were contributed by Joyee Cheung and Anna Henningsen in #50453
Text Styling
util.styleText(format, text)
: This function returns a formatted text considering theformat
passed.A new API has been created to format text based on
util.inspect.colors
, enabling you to style text in different colors (such as red, blue, ...) and emphasis (italic, bold, ...).Contributed by Rafael Gonzaga in #51850.
vm: support using the default loader to handle dynamic import()
This patch adds support for using
vm.constants.USE_MAIN_CONTEXT_DEFAULT_LOADER
as theimportModuleDynamically
option in all vm APIs that take this option exceptvm.SourceTextModule
. This allows users to have a shortcut to support dynamicimport()
in the compiled code without missing the compilation cache if they don't need customization of the loading process. We emit an experimental warning when theimport()
is actually handled by the default loader through this option instead of requiring--experimental-vm-modules
.Contributed by Joyee Cheung in #51244.
Root certificates updated to NSS 3.98
Certificates added:
Certificates removed:
Updated dependencies
Other notable changes
Commits
v20.11.1
: 2024-02-14, Version 20.11.1 'Iron' (LTS), @RafaelGSS prepared by @marco-ippolitoCompare Source
Notable changes
This is a security release.
Notable changes
Commits
v20.11.0
: 2024-01-09, Version 20.11.0 'Iron' (LTS), @UlisesGasconCompare Source
Notable Changes
Commits
v20.10.0
: 2023-11-22, Version 20.10.0 'Iron' (LTS), @targosCompare Source
Notable Changes
--experimental-default-type
flag to flip module defaultsThe new flag
--experimental-default-type
can be used to flip the defaultmodule system used by Node.js. Input that is already explicitly defined as ES
modules or CommonJS, such as by a
package.json
"type"
field or.mjs
/.cjs
file extension or the
--input-type
flag, is unaffected. What is currentlyimplicitly CommonJS would instead be interpreted as ES modules under
--experimental-default-type=module
:String input provided via
--eval
or STDIN, if--input-type
is unspecified.Files ending in
.js
or with no extension, if there is nopackage.json
filepresent in the same folder or any parent folder.
Files ending in
.js
or with no extension, if the nearest parentpackage.json
field lacks atype
field; unless the folder is inside anode_modules
folder.In addition, extensionless files are interpreted as Wasm if
--experimental-wasm-modules
is passed and the file contains the "magic bytes"Wasm header.
Contributed by Geoffrey Booth in #49869.
Detect ESM syntax in ambiguous JavaScript
The new flag
--experimental-detect-module
can be used to automatically run ESmodules when their syntax can be detected. For “ambiguous” files, which are
.js
or extensionless files with nopackage.json
with atype
field, Node.jswill parse the file to detect ES module syntax; if found, it will run the file
as an ES module, otherwise it will run the file as a CommonJS module. The same
applies to string input via
--eval
orSTDIN
.We hope to make detection enabled by default in a future version of Node.js.
Detection increases startup time, so we encourage everyone—especially package
authors—to add a
type
field topackage.json
, even for the default"type": "commonjs"
. The presence of atype
field, or explicit extensionssuch as
.mjs
or.cjs
, will opt out of detection.Contributed by Geoffrey Booth in #50096.
New
flush
option in file system functionsWhen writing to files, it is possible that data is not immediately flushed to
permanent storage. This allows subsequent read operations to see stale data.
This PR adds a
'flush'
option to thefs.writeFile
family of functions whichforces the data to be flushed at the end of a successful write operation.
Contributed by Colin Ihrig in #50009 and #50095.
Experimental WebSocket client
Adds a
--experimental-websocket
flag that adds aWebSocket
global, as standardized by WHATWG.
Contributed by Matthew Aitken in #49830.
vm: fix V8 compilation cache support for vm.Script
Previously repeated compilation of the same source code using
vm.Script
stopped hitting the V8 compilation cache after v16.x when support for
importModuleDynamically
was added tovm.Script
, resulting in a performanceregression that blocked users (in particular Jest users) from upgrading from
v16.x.
The recent fixes allow the compilation cache to be hit again
for
vm.Script
when--experimental-vm-modules
is not used even in thepresence of the
importModuleDynamically
option, so that users affected by theperformance regression can now upgrade. Ongoing work is also being done to
enable compilation cache support for
vm.CompileFunction
.Contributed by Joyee Cheung in #49950
and #50137.
Other notable changes
Commits
v20.9.0
: 2023-10-24, Version 20.9.0 'Iron' (LTS), @richardlauCompare Source
Notable Changes
This release marks the transition of Node.js 20.x into Long Term Support (LTS)
with the codename 'Iron'. The 20.x release line now moves into "Active LTS"
and will remain so until October 2024. After that time, it will move into
"Maintenance" until end of life in April 2026.
Known issue
Collecting code coverage via the
NODE_V8_COVERAGE
environment variable maylead to a hang. This is not thought to be a regression in Node.js 20 (some
reports are on Node.js 18). For more information, including some potential
workarounds, see issue #49344.
v20.8.1
: 2023-10-13, Version 20.8.1 (Current), @RafaelGSSCompare Source
This is a security release.
Notable Changes
The following CVEs are fixed in this release:
nghttp2
Security Release (High)undici
Security Release (High)More detailed information on each of the vulnerabilities can be found in October 2023 Security Releases blog post.
Commits
v20.8.0
: 2023-09-28, Version 20.8.0 (Current), @ruyadornoCompare Source
Notable Changes
Stream performance improvements
Performance improvements to writable and readable streams, improving the creation and destruction by ±15% and reducing the memory overhead each stream takes in Node.js
Contributed by Benjamin Gruenbaum in #49745 and Raz Luvaton in #49834.
Performance improvements for readable webstream, improving readable stream async iterator consumption by ±140% and improving readable stream
pipeTo
consumption by ±60%Contributed by Raz Luvaton in #49662 and #49690.
Rework of memory management in
vm
APIs with theimportModuleDynamically
optionThis rework addressed a series of long-standing memory leaks and use-after-free issues in the following APIs that support
importModuleDynamically
:vm.Script
vm.compileFunction
vm.SyntheticModule
vm.SourceTextModule
This should enable affected users (in particular Jest users) to upgrade from older versions of Node.js.
Contributed by Joyee Cheung in #48510.
Other notable changes
Commits
v20.7.0
: 2023-09-18, Version 20.7.0 (Current), @UlisesGasconCompare Source
Notable Changes
Commits
v20.6.1
: 2023-09-08, Version 20.6.1 (Current), @ruyadorno and @RafaelGSSCompare Source
Commit
v20.6.0
: 2023-09-04, Version 20.6.0 (Current), @juanarbol prepared by @UlisesGasconCompare Source
Notable changes
built-in
.env
file supportStarting from Node.js v20.6.0, Node.js supports
.env
files for configuring environment variables.Your configuration file should follow the INI file format, with each line containing a key-value pair for an environment variable.
To initialize your Node.js application with predefined configurations, use the following CLI command:
node --env-file=config.env index.js
.For example, you can access the following environment variable using
process.env.PASSWORD
when your application is initialized:In addition to environment variables, this change allows you to define your
NODE_OPTIONS
directly in the.env
file, eliminating the need to include it in yourpackage.json
.This feature was contributed by Yagiz Nizipli in #48890.
import.meta.resolve
unflaggedIn ES modules,
import.meta.resolve(specifier)
can be used to get an absolute URL string to whichspecifier
resolves, similar torequire.resolve
in CommonJS. This aligns Node.js with browsers and other server-side runtimes.This feature was contributed by Guy Bedford in #49028
New
node:module
APIregister
for module customization hooks; newinitialize
hookThere is a new API
register
available onnode:module
to specify a file that exports module customization hooks, and pass data to the hooks, and establish communication channels with them. The “define the file with the hooks” part was previously handled by a flag--experimental-loader
, but when the hooks moved into a dedicated thread in 20.0.0 there was a need to provide a way to communicate between the main (application) thread and the hooks thread. This can now be done by callingregister
from the main thread and passing data, includingMessageChannel
instances.We encourage users to migrate to an approach that uses
--import
withregister
, such as:Using
--import
ensures that the customization hooks are registered before any application code runs, even the entry point.This feature was contributed by Izaak Schroeder in #48842 and #48559
Module customization
load
hook can now support CommonJSAuthors of module customization hooks can how handle both ES module and CommonJS sources in the
load
hook. This works for CommonJS modules referenced via eitherimport
orrequire
, so long as the main entry point of the application is handled by the ES module loader (such as because the entry point is an ES module file, or if the--import
flag is passed). This should simplify the customization of the Node.js module loading process, as package authors can customize more of Node.js without relying on deprecated APIs such asrequire.extensions
.This feature was contributed by Antoine du Hamel in #47999
Node.js C++ addons now have experimental support for cppgc (Oilpan), a C++ garbage collection library in V8.
Now when Node.js starts up, it makes sure that there is a
v8::CppHeap
attached to the V8 isolate. This enables users to allocate in thev8::CppHeap
using<cppgc/*>
headers from V8, which are now also included into the Node.js headers available to addons. Note that since Node.js only bundles the cppgc library coming from V8, the ABI stability of cppgc is currently not guaranteed in semver-minor and -patch updates, but we do not expect the ABI to break often, as it has been stable and battle-tested in Chromium for years. We may consider including cppgc into the ABI stability guarantees when it gets enough adoption internally and externally.To help addon authors create JavaScript-to-C++ references of which V8's garbage collector can be aware, a helper function
node::SetCppgcReference(isolate, js_object, cppgc_object)
has been added tonode.h
. V8 may provide a native alternative in the future, which could then replace this Node.js-specific helper. In the mean time, users can use this API to avoid having to hard-code the layout of JavaScript wrapper objects. An example of how to create garbage-collected C++ objects in the unified heap and wrap it in a JavaScript object can be found in the Node.js addon tests.The existing
node::ObjectWrap
helper would continue to work, while cppgc-based object management serves as an alternative with some advantages mentioned in the V8 blog post about Oilpan.This feature was contributed by Daryl Haresign and Joyee Cheung in #48660 and #45704.
Other notable changes
Commits
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Renovate Bot.
4bdf7bf522
to9dd2ec9d79
9dd2ec9d79
to7161fef71f
7161fef71f
to49be4882fb
49be4882fb
tofbc5c6264f
fbc5c6264f
to9298c69e9a
9298c69e9a
to661017887b
661017887b
to31027bda0d
31027bda0d
to1bd879b96e
1bd879b96e
tob6fa9d9aa7
b6fa9d9aa7
tod42e7f8d20
d42e7f8d20
to3874e5f5a7
3874e5f5a7
tofc28ac963d
fc28ac963d
to64483fe12b
64483fe12b
tode48f32c44
de48f32c44
to71b6150a6b
71b6150a6b
to7e00e9a6f8
7e00e9a6f8
toec2fa75200
ec2fa75200
to49d96c51c6
49d96c51c6
to950af7aa5c
950af7aa5c
tod051aabe55
d051aabe55
tob6e539ee4f
b6e539ee4f
to4affbe76df
4affbe76df
todec217880f
dec217880f
to37ad513eab
37ad513eab
to867ca5c590
867ca5c590
to06f4a1eedc
06f4a1eedc
tob11b0e5cc7
b11b0e5cc7
to01701fe9f3
01701fe9f3
to594dd79e0d
594dd79e0d
to69673a4927
69673a4927
to56e9f7c728
56e9f7c728
to83e405eacc
83e405eacc
to3e176988a7
3e176988a7
toc18e9295d3
c18e9295d3
to0a2caf765f
0a2caf765f
tob127d146a6
b127d146a6
to9be8b6f4f8
9be8b6f4f8
to33836ae127
33836ae127
to255ba50240
255ba50240
toc25d82a209
c25d82a209
to03633c9d97
03633c9d97
to8f1ce95888
8f1ce95888
to020d2d1c59
020d2d1c59
to7457903bc9
7457903bc9
tobd368f35d5
bd368f35d5
to86ab4a388e
86ab4a388e
to73b1cb014d
73b1cb014d
to295a62002d
295a62002d
tof9aadba7a0
f9aadba7a0
toe1c90018ae
e1c90018ae
to81c834f8bb
⚠ Artifact update problem
Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: Cargo.lock
File name: Cargo.lock
File name: Cargo.lock
81c834f8bb
to4e7ff19315
4e7ff19315
to899b409462
899b409462
to3ffdc7aebf
3ffdc7aebf
toc37150ab98
c37150ab98
to37bd077c6e
37bd077c6e
to0e489094ad
0e489094ad
toe80b5e7b63
e80b5e7b63
toa666e0b7a3
a666e0b7a3
toa62d0d6e78
a62d0d6e78
tofdf2c4c797
fdf2c4c797
to2c5922e633
2c5922e633
to4ac4eece03
4ac4eece03
to9e7fc4117f
9e7fc4117f
to47d6b287ca
47d6b287ca
to076d34099d
076d34099d
toc428517e63
c428517e63
toaeefb607b2
aeefb607b2
tobe6a6ea1a5
be6a6ea1a5
to42cf4a8fe7
42cf4a8fe7
to35028b04a0
35028b04a0
tob1237b0f83
b1237b0f83
toe19840eda6
e19840eda6
to9e4627faea
9e4627faea
to3b5a8ff61e
3b5a8ff61e
to295b0139d2
295b0139d2
to48358dfc35
48358dfc35
to25df26e826
25df26e826
to78ae57f15f
78ae57f15f
to153e8eb344
153e8eb344
tod5d25db998
d5d25db998
to8f37fce64e
8f37fce64e
to22e82b4151
22e82b4151
todfacbd0bc2
dfacbd0bc2
to00717f5e06
00717f5e06
to20034da10c
20034da10c
to57dad0a6de
57dad0a6de
to0797d730bf
0797d730bf
to0dc4c92009
0dc4c92009
to56985ca54e
56985ca54e
to11e1a368e8
11e1a368e8
tod72f10db75
d72f10db75
tob2bbb12f9c
b2bbb12f9c
to4ffd9a94c9
4ffd9a94c9
to24934ced83
24934ced83
to7138cdcb01
7138cdcb01
toed0c8d90cb
ed0c8d90cb
to102ea91e54
102ea91e54
to23a2da42f6
23a2da42f6
toee6f81c925
ee6f81c925
to6cc1180811
6cc1180811
to8036f119a1
8036f119a1
to1a325f8bba
1a325f8bba
to9c88cf35e8
9c88cf35e8
tobff19f1414
bff19f1414
tob1c84da4d7
b1c84da4d7
toa6fb896ac9
a6fb896ac9
to878a307aae
878a307aae
to096ba4ed48
096ba4ed48
to64556b2c1e
64556b2c1e
tod7844da705
d7844da705
to408d4f6447
408d4f6447
to31b6447e5a
31b6447e5a
toaa82f8654f
aa82f8654f
to41f02af912
41f02af912
to3069da7e7f
3069da7e7f
to41d878d452
41d878d452
to0695353944
0695353944
to01c1398a67
01c1398a67
tof55745ad25
f55745ad25
tob23dbd0546
b23dbd0546
tof3af5af5de
f3af5af5de
toe0126330b7
e0126330b7
to726001d5c6
726001d5c6
to8cd35a29b7
8cd35a29b7
todf95f62813
df95f62813
toc77bbc6c10
c77bbc6c10
toac34418854
ac34418854
to4291e19af8
4291e19af8
to7659ff23f0
7659ff23f0
to786dd766a6
786dd766a6
tof726bc1e59
f726bc1e59
to22452e6834
22452e6834
to9cb6cf0206
9cb6cf0206
tod2217349cf
d2217349cf
to3fb588d0ac
3fb588d0ac
tod2f59d6fd4
d2f59d6fd4
tofc0fcd620a
fc0fcd620a
tod3376315c2
d3376315c2
tobbb6f03141
bbb6f03141
to614d3d5ce0
614d3d5ce0
tod2400d31bb
d2400d31bb
todc159b1b75
dc159b1b75
to6301411d03
6301411d03
to8da18e6b90
8da18e6b90
to0ecd3b0315
0ecd3b0315
to17119b896f
17119b896f
to990f89955b
990f89955b
to8c19be5780
8c19be5780
toee21818d11
ee21818d11
to21c23ec381
21c23ec381
toeca4f14870
eca4f14870
to360a79e09b
360a79e09b
to2734c9588f
2734c9588f
toff4c92fc8b
/contractor help
/contractor help
and another
again
aga
something
/contractor something
/contractor something
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor something
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor something
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor something
Commands:
refresh triggers renovate to refresh the current pull request
/contractor summary
/contractor [command]
Commands:
refresh triggers renovate to refresh the current pull request
/contractor bot
/contractor [command]
Commands:
/contractor bot
/contractor [command]
Commands:
/contractor refresh
/contractor refresh
Contractor triggered renovate refresh
/contractor refresh
Contractor triggered renovate refresh
This comment will be updated with status/contractor refresh
%!s(MISSING)
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusdone
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with status doneThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusDone refreshing
This comment was generated by Contractor
ff4c92fc8b
to738899b562
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusDone refreshing
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusThis comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusDone refreshing
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusDone refreshing
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusDone refreshing
This comment was generated by Contractor
738899b562
tobcea083f5f
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusfailed
This comment was generated by Contractor
Contractor triggered renovate refresh on this repository
This comment will be updated with statusfailed
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusdone
This comment was generated by Contractor
Contractor triggered renovate refresh on this repository
This comment will be updated with statusdone
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusdone
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusdone
This comment was generated by Contractor
/contractor refresh
Contractor triggered renovate refresh on this repository
This comment will be updated with statusfailed
This comment was generated by Contractor
bcea083f5f
to953dac6592
953dac6592
to3888ebb3b5
3888ebb3b5
to50e3f95d02
50e3f95d02
tod506ae7c9a
d506ae7c9a
toae9ceb555a
ae9ceb555a
toa072fd0024
a072fd0024
to31d7212c66
31d7212c66
to8727549714
8727549714
to467e87f754
467e87f754
to6029198bff
6029198bff
to9edae41c35
9edae41c35
to8ff19e44ff
8ff19e44ff
to9be608afb6
9be608afb6
to164547d43d
164547d43d
to33d0262aaf
33d0262aaf
toda1d6a9f8e
da1d6a9f8e
toa383c57c91
a383c57c91
tod017e46626
d017e46626
to5f9af2842b
5f9af2842b
to6480cb7882
6480cb7882
to88d818e9a3
88d818e9a3
to368b634f09
368b634f09
to67858a3163
67858a3163
to289035ed7f
289035ed7f
to53c25b1e90
53c25b1e90
tod910805862
d910805862
toe4c482a215
e4c482a215
to995759ce5f
995759ce5f
to715657f4d5
715657f4d5
tod234c13ae7
d234c13ae7
tod730475b99
d730475b99
tof806826443
f806826443
to8dbe4f707e
8dbe4f707e
to3ca44af0a1
3ca44af0a1
to156f220c35
156f220c35
toded902eda5
ded902eda5
to8388428b3c
8388428b3c
to549e0e7abf
549e0e7abf
to2fd15feb21
2fd15feb21
to5efaeb1ae2
5efaeb1ae2
toa9025719db
a9025719db
to56f1dbf9b4
56f1dbf9b4
to99cd226702
99cd226702
to03b64a61bf
03b64a61bf
to91633679c0
91633679c0
toc83d34d480
c83d34d480
toc28ad2db28
c28ad2db28
todaf17c7d72
daf17c7d72
to1ef6bae5f1
1ef6bae5f1
tod1bda35a94
d1bda35a94
tob50014a9cb
b50014a9cb
to707c8ff45f
707c8ff45f
to0699290973
0699290973
to8dc0430865
8dc0430865
to43acc0f24f
43acc0f24f
to05af37851d
05af37851d
to5e8b2b1919
5e8b2b1919
to48721d4de0
48721d4de0
to0f08d03f52
0f08d03f52
to5b8533267d
5b8533267d
to0846bec7d8
0846bec7d8
tobad99fce45
bad99fce45
to36d932904f
36d932904f
tocb911b08b0
cb911b08b0
tof801ad7586
f801ad7586
to6eb0a4c58b
6eb0a4c58b
to40b453986a
40b453986a
to8c54a222ed
8c54a222ed
to24dcd3ee3a
24dcd3ee3a
to6fae49c1e1
6fae49c1e1
to2c8c3627b5
2c8c3627b5
tocd8cd65761
cd8cd65761
toc0223c6937
c0223c6937
toa7e21c7bec
a7e21c7bec
tof1bbdd0a03
f1bbdd0a03
toefc2070092
efc2070092
to944647f19f
944647f19f
to5ddaf379d8
5ddaf379d8
toedb9c510d0
edb9c510d0
to34ed2e2878
34ed2e2878
to71182b985a
71182b985a
toc68cafb66f
c68cafb66f
to6fa13b7913
6fa13b7913
to20f7993965
20f7993965
to16592b83d6
16592b83d6
to31b67d715a
31b67d715a
to1be7864f88
1be7864f88
to08295cde15
08295cde15
to046bab3423
046bab3423
to644807c5d5
644807c5d5
to8048647c61
8048647c61
to7e9f34748e
7e9f34748e
to344cdd91c6
344cdd91c6
to1b5a081e38
1b5a081e38
to36483176e4
36483176e4
to2e32d46ecb
2e32d46ecb
toca176d9b0c
ca176d9b0c
to9eda9ffe37
9eda9ffe37
to78c7386e9d
78c7386e9d
to380f4ca5cc
380f4ca5cc
tobc1d7b9537
bc1d7b9537
to755e1ec7b9
755e1ec7b9
todb19ff3bc0
db19ff3bc0
tob18776c817
b18776c817
todd676ce819
dd676ce819
toe738fdd0b4
e738fdd0b4
tof80b9a3907
f80b9a3907
to5e6e51c0f0
5e6e51c0f0
tofcff99beec
fcff99beec
to253614d12b
253614d12b
to882be9cdb5
882be9cdb5
to53a2a0026f
53a2a0026f
tob315df8edd
b315df8edd
to62c3dfded6
62c3dfded6
to0704c8a48b
0704c8a48b
to4d5b583aac
4d5b583aac
to349f79cf23
349f79cf23
to783abe5144
783abe5144
toc654ec303b
c654ec303b
toce5186373a
ce5186373a
tob0b01c42c1
b0b01c42c1
to33db0ed2ba
33db0ed2ba
to0c7312ec06
0c7312ec06
to42e8e869d1
42e8e869d1
to315a557bca
315a557bca
to2b946dd664
2b946dd664
to068c7ccc47
068c7ccc47
todf02ed8638
df02ed8638
to5e99d7afc8
5e99d7afc8
to0a4a958b91
0a4a958b91
to919d0e176c
919d0e176c
to7c118b81a5
7c118b81a5
to9f0831e9b2
9f0831e9b2
to9000f2ba05
9000f2ba05
to5d4db91a67
5d4db91a67
to23856b8f48
23856b8f48
tocf16b48fea
cf16b48fea
to2bc4e4eafb
2bc4e4eafb
toa24e4f3a20
a24e4f3a20
to98c31e530c
98c31e530c
to95b7073a15
95b7073a15
to6a17de2f3b
6a17de2f3b
toe454eca1b9
e454eca1b9
to88cf4dd443
88cf4dd443
to82f7062cd6
82f7062cd6
to4a7986e604
4a7986e604
to45572616ff
45572616ff
to042b29d1b4
Update all dependenciesto chore(deps): update all dependencies042b29d1b4
to38f41cd292
38f41cd292
tob0c3b0a52d
b0c3b0a52d
to038c8da243
038c8da243
to8359279184
8359279184
to4c3319179c
4c3319179c
to54a3f73462
54a3f73462
tofc7bfb4f33
fc7bfb4f33
to11727845e3
11727845e3
tode99678741
de99678741
toc0c1a7b076
c0c1a7b076
toe3670c5f9f
e3670c5f9f
toe05b299dfa
e05b299dfa
toe5dd659cd9
e5dd659cd9
tod3a82bf49b
d3a82bf49b
to65372406c5
65372406c5
tod986573b3e
d986573b3e
tofa649ef306
fa649ef306
to1408c7ba31
1408c7ba31
to6e5a11c544
6e5a11c544
to30b785d343
30b785d343
tobae1f06c54
bae1f06c54
tocb50b36859
cb50b36859
tof8f665efad
f8f665efad
to2ad29d7be7
2ad29d7be7
to83c83318ea
83c83318ea
to5ed378a19a
5ed378a19a
to3671e6e53e
3671e6e53e
to0bbdd933fa
0bbdd933fa
to20b465a8d3
20b465a8d3
tob8ffc3f951
b8ffc3f951
tof215cbb79c
⚠️ Artifact update problem
Renovate failed to update artifacts related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:
The artifact failure details are included below:
File name: Cargo.lock
File name: Cargo.lock
File name: Cargo.lock
f215cbb79c
tod87c7d6423
d87c7d6423
tobb7fd3e293
bb7fd3e293
to97f091774f
97f091774f
to4b8a7690ef
4b8a7690ef
to7a272d694a
7a272d694a
to16b204cee8
16b204cee8
tofbaa9c95ef
fbaa9c95ef
to9398922d06
9398922d06
tod7d0792c4b
d7d0792c4b
to8c5d741120
8c5d741120
to27877f6d1b
27877f6d1b
tof7a14c6aa2
f7a14c6aa2
todb6bc5bf4f
db6bc5bf4f
to2c54795c7e
2c54795c7e
to3fe0c4af9a
3fe0c4af9a
toa0eaad2008
a0eaad2008
to3086c55638
3086c55638
to65fa6d08d2
65fa6d08d2
toa0c1d612bc
a0c1d612bc
to0880861886
0880861886
toe7fb921fac
e7fb921fac
toe79a8b74af
e79a8b74af
tobdff815902
bdff815902
tob60fbc27ba
b60fbc27ba
to1013ff6541
1013ff6541
to1fbc84ddae
1fbc84ddae
toa1dfb61eb5
a1dfb61eb5
tob52a550287
b52a550287
todeb93cad07
deb93cad07
tof74f8127a1
f74f8127a1
to4fa8824e53
4fa8824e53
tofb1f38db10
fb1f38db10
to5c1f960109
5c1f960109
to966f3a3877
966f3a3877
to114925cfc5
114925cfc5
toc299cc7b28
c299cc7b28
to2fcc06631f
2fcc06631f
tofc11b97bf2
fc11b97bf2
to1e935a70f2
1e935a70f2
to31d077eaf1
31d077eaf1
to7f5f6a2fa2
7f5f6a2fa2
tofbc7814779
fbc7814779
to43a23f41df
43a23f41df
toc95c2c6dab
c95c2c6dab
to8d1aa74a09
8d1aa74a09
todbc1f7e535
dbc1f7e535
toe2b794334b
e2b794334b
toae1766f01f
ae1766f01f
tobd6175ab89
bd6175ab89
to27b247a775
27b247a775
tofa3efc1128
fa3efc1128
to564a7e8f7f
564a7e8f7f
to06de1f55c6
06de1f55c6
to04522cb2aa
04522cb2aa
tobdcd33e6ea
bdcd33e6ea
to3daaebdadc
3daaebdadc
to6e4fd67423
6e4fd67423
to730263f89a
730263f89a
to0de80ec37d
0de80ec37d
to38ef75aa07
38ef75aa07
toe5b4bc60ac
e5b4bc60ac
to09904d0346
09904d0346
to8ab73cfeb7
8ab73cfeb7
to461f60d270
461f60d270
to1a56371ac0
1a56371ac0
to3bf7ab8f47
3bf7ab8f47
toe8205cd2f1
e8205cd2f1
to5cd8f12d23
5cd8f12d23
tobec7156325
bec7156325
toec37ad4bcc
ec37ad4bcc
to6dca29da49
6dca29da49
toe4e32456ec
e4e32456ec
toc7c3243ec2
c7c3243ec2
to3cfe3876ba
3cfe3876ba
to67ac7b866d
67ac7b866d
tofe3eac7da3
fe3eac7da3
to418b7ef429
418b7ef429
to071156f2d4
071156f2d4
to7167d2562b
7167d2562b
to2a731307ca
2a731307ca
tof5445457c3
f5445457c3
tob40527716b
b40527716b
to3f2bf6da5b
3f2bf6da5b
to456ea28e0b
456ea28e0b
to744e575306
744e575306
to4723673fc2
4723673fc2
tod3772b77ea
d3772b77ea
to0e847b6fba
0e847b6fba
tod8aa972ee3
d8aa972ee3
tocae8a88cc6
cae8a88cc6
to4e0b9f940e
4e0b9f940e
tobc1042f1a9
bc1042f1a9
to69bb76f971
69bb76f971
to495e753a5c
495e753a5c
to4624eac714
4624eac714
tod8ac1b05c2
d8ac1b05c2
to36f32079d2
36f32079d2
to8bcbd3fce0
8bcbd3fce0
to884c283de2
884c283de2
to933ee97e81
933ee97e81
tod572ebd71e
d572ebd71e
tofa8f03b8a8
fa8f03b8a8
to88575860bd
88575860bd
to36b42bb33b
36b42bb33b
toc5b75707a6
c5b75707a6
to84da7881ab
84da7881ab
tof4f87024e0
f4f87024e0
tocdf5567b1d
cdf5567b1d
to4afcda2f51
4afcda2f51
to21a5392eca
21a5392eca
to11f4239f46
11f4239f46
toaca7ef0231
aca7ef0231
to056fe75493
056fe75493
to8f8e17d8f6
8f8e17d8f6
toc068e79f49
c068e79f49
to287b8ed30a
287b8ed30a
to861dd50d1b
861dd50d1b
to2d8181fe62
2d8181fe62
to11d802e7b8
11d802e7b8
to0ed3f40259
0ed3f40259
to909a830b6e
909a830b6e
to7f2fb2845b
7f2fb2845b
to203473ecd2
203473ecd2
to816a8a0b2b
816a8a0b2b
toa9578d8f63
a9578d8f63
to48cbcc3235
48cbcc3235
tob66988c926
b66988c926
tod31ded6b50
d31ded6b50
to3d24c3b17e
3d24c3b17e
to20a0e5a00b
20a0e5a00b
to92ec02684a
92ec02684a
tocd5d5905bc
cd5d5905bc
tobf0ea1a03b
bf0ea1a03b
to8141fb90a9
8141fb90a9
toea8df51c2c
ea8df51c2c
to9eef9b6cfd
9eef9b6cfd
to345a45040c
345a45040c
to4426884abf
4426884abf
to63920bb361
63920bb361
to8480e24648
8480e24648
toad47c5bee9
ad47c5bee9
to7bab78aedf
7bab78aedf
to365823160e
365823160e
to04dca35fe2
04dca35fe2
to84c645e76f
84c645e76f
tobb6709912d
bb6709912d
tod666cfdb30
d666cfdb30
to58710d0ae1
58710d0ae1
to9bc3b0f561
9bc3b0f561
to0495ebcc0f
0495ebcc0f
to6e4a355dea
6e4a355dea
to26d677f2d5
26d677f2d5
to0a492ef2d8
0a492ef2d8
toe9889673e8
e9889673e8
to70ea39d4fc
70ea39d4fc
to5b69fcd69e
5b69fcd69e
to57ffd4f3c8
57ffd4f3c8
to922a91744b
922a91744b
to48ea3b56a9
48ea3b56a9
toa31d78a1ce
a31d78a1ce
tof95149082c
f95149082c
to68ad227dfa
68ad227dfa
to3221c319eb
3221c319eb
tob0fdddc878
b0fdddc878
to6363dac01c
6363dac01c
to3c46e2e846
3c46e2e846
to811d630e80
811d630e80
to921e50d6ff
921e50d6ff
to96600db418
96600db418
to555cd99259
555cd99259
toc74a4f0b8b
c74a4f0b8b
to0312377402
0312377402
to3024a6e5f7
3024a6e5f7
to893e228ae1
893e228ae1
to58c70cf97a
58c70cf97a
to1efee120dd
1efee120dd
to1eaec35de5
1eaec35de5
to8d66f85f75
8d66f85f75
to073893bae3
073893bae3
to981942a733
981942a733
to1a06614dda
1a06614dda
toe1ab86b96e
e1ab86b96e
to475b324011
475b324011
to035a7cc79e
035a7cc79e
toddd5fd08e9
ddd5fd08e9
tofc416854f7
fc416854f7
to7468d29824
7468d29824
tocd9528cb73
cd9528cb73
to7f2eeeede6
7f2eeeede6
to43f1ac053d
43f1ac053d
to1a91d02cca
1a91d02cca
to5df82897af
5df82897af
todba0197c9d
dba0197c9d
toe8393fb1c2
e8393fb1c2
to5dd3bcef44
5dd3bcef44
tod1e3839e53
d1e3839e53
to7afca7e130
7afca7e130
to35abb89851
35abb89851
to9430628833
9430628833
toaa87c54446
aa87c54446
toa3a16478b8
a3a16478b8
toba048a81c2
ba048a81c2
to8f72f743d7
8f72f743d7
to67e71cd9e1
67e71cd9e1
to2378fd1f87
2378fd1f87
to2e33545a4a
2e33545a4a
toaa0809273d
aa0809273d
toa6e0e6aeb2
a6e0e6aeb2
to5d9a13f4cd
5d9a13f4cd
to1a3751e5f3
1a3751e5f3
to1574c37649
1574c37649
toe5283525e9
e5283525e9
to35d178280d
35d178280d
toc9f1f0ac24
c9f1f0ac24
toe01942a2ad
e01942a2ad
tob364550e56
b364550e56
tof791f2496d
f791f2496d
to0923f08584
0923f08584
to6b437196f7
6b437196f7
to1185895a6e
1185895a6e
to9119569737
9119569737
to61196f6c36
61196f6c36
tof1e0dbf5a6
f1e0dbf5a6
tod010bcf6ff
d010bcf6ff
to5dd23c2d3a
5dd23c2d3a
to429b1d7cf3
429b1d7cf3
toc17d1ac921
c17d1ac921
toe9f9ed3f0c
e9f9ed3f0c
tob7a4060fbf
b7a4060fbf
toe816bed14b
e816bed14b
to239bcff638
239bcff638
tocbede39b46
cbede39b46
toa64935d1f3
a64935d1f3
to18dbcf183a
18dbcf183a
toe5db7f8052
e5db7f8052
to7ee73e002e
7ee73e002e
to7f6417315f
7f6417315f
to8369019878
8369019878
toa92d62728c
a92d62728c
toa6208e882e
a6208e882e
to8db9c68310
8db9c68310
to3bb474d78c
3bb474d78c
to67ab79b3fa
67ab79b3fa
toc8ee113364
c8ee113364
to5341dc8f8d
5341dc8f8d
toba8debc730
ba8debc730
to7c7d043ecd
7c7d043ecd
to6c5b1a6ec5
6c5b1a6ec5
to2529e73be9
2529e73be9
to6ce2bcd43c
6ce2bcd43c
tocfd7de3d21
cfd7de3d21
to4a599f9ff4
4a599f9ff4
tob110f42a93
b110f42a93
to33bfe03118
33bfe03118
tocb165a43e9
cb165a43e9
toac5fec813a
ac5fec813a
tocf20fb0e8a
cf20fb0e8a
toa1d4051374
a1d4051374
tob32bd37fa4
b32bd37fa4
to9f92a946dc
9f92a946dc
to54857b9bd6
54857b9bd6
to8ce3e19996
8ce3e19996
to3112fb6f8f
3112fb6f8f
to214c875c70
214c875c70
to02c94e45b0
02c94e45b0
to5eca012dc5
5eca012dc5
tofb0056a8ae
fb0056a8ae
to6446f9847d
6446f9847d
tocd6ff5931e
cd6ff5931e
toc1d9d1d859
c1d9d1d859
to85913ce50e
85913ce50e
to5674ff7fed
5674ff7fed
to4e08303978
4e08303978
to4344d0845f
4344d0845f
to71384ffa70
71384ffa70
tob9dd6ab1b1
b9dd6ab1b1
tob4a79f7a06
b4a79f7a06
tobba4c92fee
bba4c92fee
to355e747195
355e747195
toeab4e277a1
eab4e277a1
to1398696e1f
1398696e1f
tof548d330bc
f548d330bc
to0f4ece3ba3
0f4ece3ba3
to3401a7c88b
3401a7c88b
toe17cef549a
e17cef549a
tod9c3f29f66
d9c3f29f66
tod2f748639b
d2f748639b
to3a85d2724f
3a85d2724f
to2469ab8e7a
2469ab8e7a
tof208dfa5ed
f208dfa5ed
to607518216c
607518216c
to87794dda7d
87794dda7d
to8f1ca7530a
8f1ca7530a
toa1db45ce73
a1db45ce73
to9f6ff4c155
9f6ff4c155
to0102d993f8
0102d993f8
to7250c41330
7250c41330
to8e4d87a2a5
8e4d87a2a5
to82a10fb560
82a10fb560
to8070c020d8
8070c020d8
to020f02fc3b
020f02fc3b
to18303bf284
18303bf284
to7ccc824f94
7ccc824f94
to63b58e8ed7
63b58e8ed7
to2d9ca760c4
2d9ca760c4
to9db84eefb8
9db84eefb8
to9b10601dc5
9b10601dc5
to9fa04b9851
9fa04b9851
to4467def961
4467def961
to65dff70691
65dff70691
to5cde023d99
5cde023d99
to3c0df70b0a
3c0df70b0a
toe7125b5651
e7125b5651
to1c0ac3da6b
1c0ac3da6b
tod70620e0fe
d70620e0fe
toc22869a744
c22869a744
to219e2a4343
219e2a4343
to7a4a9fe7f0
7a4a9fe7f0
to378b92427a
378b92427a
to28fdc9b998
28fdc9b998
to120c6b3999
120c6b3999
toe0bde1760d
e0bde1760d
to58a2273a68
58a2273a68
to4797f87293
4797f87293
tobcf341cbb1
bcf341cbb1
tod19ea27952
d19ea27952
to8dc39811ec
8dc39811ec
toc7fcc2876e
c7fcc2876e
tob09c3e6bab
b09c3e6bab
to0241554f0f
0241554f0f
to032084ed5d
032084ed5d
to13d67aa020
13d67aa020
to4ea5033dbe
4ea5033dbe
to267664c2c1
267664c2c1
to39fd7a4de4
39fd7a4de4
to3631c11273
3631c11273
to200605703c
200605703c
to5fa41232ff
5fa41232ff
to1947379643
1947379643
to33d119de53
33d119de53
toe31205fb62
e31205fb62
toeff07f498c
eff07f498c
toc0aafec722
c0aafec722
toab61cd8746
ab61cd8746
to01d558c8c5
01d558c8c5
to1a0082948c
1a0082948c
to63e4a37082
63e4a37082
to9e7e17fe72
9e7e17fe72
to2062fa5853
2062fa5853
to9f71566d57
9f71566d57
to6658b2979b
6658b2979b
to4012c0177f
4012c0177f
to436a0d14f5
436a0d14f5
toe60b841f91
e60b841f91
to65a33c90df
65a33c90df
toce77f0a133
ce77f0a133
to3753c6172d
3753c6172d
todab54e6ec7
dab54e6ec7
to11fc6e3ed3
11fc6e3ed3
to5b2aaa6ac3
5b2aaa6ac3
toe3828e5810
e3828e5810
to9439c4baa4
9439c4baa4
toeded5fdf99
eded5fdf99
tof6396ce37d
f6396ce37d
to92edf37768
92edf37768
to2e80065a45
2e80065a45
tod26aac7894
d26aac7894
to3d88811ffd
3d88811ffd
toeebe7f8e19
eebe7f8e19
to802a8de56c
802a8de56c
toc0d78fe806
c0d78fe806
tocd17e3e070
cd17e3e070
to237acf85f0
237acf85f0
tobaee272efd
baee272efd
tobc28a1f363
bc28a1f363
to33af8bad0b
33af8bad0b
to9d76ebb476
9d76ebb476
toa313e9e877
a313e9e877
to1ad70bd885
1ad70bd885
to4843764b90
4843764b90
to06ce97d16d
06ce97d16d
toc6a3fe08d4
c6a3fe08d4
to45de574a0e
45de574a0e
to4e00f03b93
4e00f03b93
tob8b45cb7e1
b8b45cb7e1
tof08cc785bf
f08cc785bf
tob5ccef3c8e
b5ccef3c8e
toc32cae78d9
c32cae78d9
to9113946d31
9113946d31
to74dd46ebe8
74dd46ebe8
tof3f75fb424
f3f75fb424
to57e80397df
57e80397df
to875b2b8374
875b2b8374
to37629267ea
37629267ea
toe421823055
e421823055
to57f89d7906
57f89d7906
todf95384969
df95384969
to2be6e7c89f
2be6e7c89f
to44d1a2c04f
44d1a2c04f
to69a961b458
69a961b458
to4ccda3de71
4ccda3de71
to5ddfc9212d
5ddfc9212d
toffad0dc9be
ffad0dc9be
toba59f8576a
ba59f8576a
to9289b82de0
9289b82de0
to5182bc0b04
5182bc0b04
to64e48a3c74
64e48a3c74
toe9fc7e55d7
e9fc7e55d7
tod8bde8e137
d8bde8e137
to9614e9a725
9614e9a725
tod02f230fe4
d02f230fe4
to5203b9022d
5203b9022d
toc4bd52585a
c4bd52585a
to74a5cbc1a7
74a5cbc1a7
to548b000d36
548b000d36
to8338a50aec
8338a50aec
toead906872b
ead906872b
to6938e90441
6938e90441
tob1cb5b0fc5
b1cb5b0fc5
toca32e314f6
ca32e314f6
tobd0596cf43
bd0596cf43
toe1f4555c85
e1f4555c85
toe6e4a513d0
e6e4a513d0
to39cb154f23
39cb154f23
toa207b641ac
a207b641ac
to2376ecf050
2376ecf050
to14b80514b8
14b80514b8
to2836a4b1a4
2836a4b1a4
toe269297ffa
e269297ffa
toe498a1da1f
e498a1da1f
to245ac34c7b
245ac34c7b
tocf5b271cf2
cf5b271cf2
to8734723e13
8734723e13
to2db865659a
2db865659a
to5767aab3c4
5767aab3c4
to112a42efa0
112a42efa0
to8d28226323
8d28226323
to1e3891b3fc
1e3891b3fc
to4d842c4a9d
4d842c4a9d
to4bd8f0be5f
4bd8f0be5f
toac82551a60
ac82551a60
tof0ead5037c
f0ead5037c
to0f3f5c3a15
0f3f5c3a15
to231fd9f626
231fd9f626
to02a228893a
02a228893a
tod5eb8c1375
d5eb8c1375
to94112c1ae4
94112c1ae4
to5fb8f6968c
5fb8f6968c
to5c34f1a0a5
5c34f1a0a5
toc72d40311d
c72d40311d
to95999bb778
95999bb778
toc2b91275f3
c2b91275f3
to7238f2d2e1
7238f2d2e1
toe5dc909f66
e5dc909f66
toa384940d3a
a384940d3a
to581f492ea2
581f492ea2
to6f4a5e49a3
6f4a5e49a3
to4eaefd4b94
4eaefd4b94
toa7e2c114d2
a7e2c114d2
to7e64e1fb24
7e64e1fb24
to7c6430ed43
7c6430ed43
to5a0bedbdb2
5a0bedbdb2
to81d9576b75
81d9576b75
to15ead79650
15ead79650
to0816fb34cb
0816fb34cb
to9b0e57583d
9b0e57583d
to084bda6443
084bda6443
to758e35ed95
758e35ed95
tocb10fa8a5d
cb10fa8a5d
toe2e687cae0
e2e687cae0
to207d042241
207d042241
toaaa335cd22
aaa335cd22
tofbba111819
fbba111819
to05142e6201
05142e6201
to9bde78c648
9bde78c648
to675cdc2fe4
675cdc2fe4
to4ab0aa3fa1
4ab0aa3fa1
tob877c4300d
b877c4300d
to9c3a5fcd96
9c3a5fcd96
toacae6f6572
acae6f6572
toc96aadbc66
c96aadbc66
to837bd86657
837bd86657
toe83bd48ca0
e83bd48ca0
to31480e2977
31480e2977
to2e78d8b0d2
2e78d8b0d2
to6f82bb0607
6f82bb0607
toe81bd08af2
e81bd08af2
toe7e57be3cb
e7e57be3cb
to49bd9b7136
49bd9b7136
to86c7bad2a6
86c7bad2a6
to8ee0c808cd
8ee0c808cd
to62434f328e
62434f328e
toe98913b4c9
e98913b4c9
to2529eb4399
2529eb4399
to03b001908b
03b001908b
to8a18a82602
8a18a82602
to9a94fb3686
9a94fb3686
tobcfb91e5d3
bcfb91e5d3
to48fdff050e
48fdff050e
to8ab6bb821d
8ab6bb821d
tobd99c027e0
bd99c027e0
to4e23bf5ed5
4e23bf5ed5
to83132d2c47
83132d2c47
to0744724e3c
0744724e3c
toe2f093ef3d
e2f093ef3d
to7c094a2ced
7c094a2ced
to68620a9e36
68620a9e36
tob9f07a4467
b9f07a4467
to6610429c82
6610429c82
to07b08dfd7d
07b08dfd7d
tob380b46b75
b380b46b75
tob16456a397
b16456a397
toef692b1004
ef692b1004
toee61059236
ee61059236
tofd02d0ae9f
fd02d0ae9f
to45829e103e
45829e103e
to2502847c3d
2502847c3d
to58d5b9345f
58d5b9345f
to56a46cb2e9
56a46cb2e9
to7365310654
7365310654
to4637515ce1
4637515ce1
to7f24817cc1
7f24817cc1
to069564a227
069564a227
to239b344d4a
239b344d4a
to039336fe26
039336fe26
to53d86e5752
53d86e5752
tob419d42603
b419d42603
tod9deb42e71
d9deb42e71
to9fe9c7984c
9fe9c7984c
toe8d0884fae
e8d0884fae
tofbdad118cd
fbdad118cd
tofec186b55c
fec186b55c
to55c4c3812f
55c4c3812f
to5b5f524752
5b5f524752
to9ce2868405
9ce2868405
toe01a339864
e01a339864
to4476164a6e
4476164a6e
toee7e5d0620
ee7e5d0620
to30717bb60a
30717bb60a
toc62c557b87
c62c557b87
to1bbbd441d8
1bbbd441d8
todbb069b4d8
dbb069b4d8
to98c52e72a3
98c52e72a3
tocc47195437
cc47195437
to073d2c72bc
073d2c72bc
to6c4294113d
6c4294113d
to2681e29f9c
2681e29f9c
to5b971a28b1
5b971a28b1
to5dde4b705d
5dde4b705d
toc17c77b843
c17c77b843
tofaa9aae1e5
faa9aae1e5
tob312254ea1
b312254ea1
to232b393f50
232b393f50
to8f7f9f920a
8f7f9f920a
to258b59b041
258b59b041
to390a51a20a
390a51a20a
toda93d835d8
da93d835d8
tod9f36e9935
d9f36e9935
to703efa3129
703efa3129
to42bb04b2a5
42bb04b2a5
tob1d9e2bf59
b1d9e2bf59
to8804244ad2
8804244ad2
to0c5dced233
0c5dced233
to957400ed64
957400ed64
to32810ed96c
32810ed96c
to0e77aaed30
0e77aaed30
to2c083672cc
2c083672cc
tob1f4f1bd3d
b1f4f1bd3d
tof488be98b4
f488be98b4
tod7128e4088
d7128e4088
to6406c01349
6406c01349
to3534797ab6
3534797ab6
to8a73bf42d7
8a73bf42d7
to00a26c5e22
00a26c5e22
tob4e4388542
b4e4388542
to866b2c4bf3
866b2c4bf3
to5fbbde7e65
5fbbde7e65
to78e0cd2dd2
78e0cd2dd2
tob6ad35dcb6
b6ad35dcb6
to1752f95e74
1752f95e74
to00ecbd1b6b
00ecbd1b6b
to6b1fa49909
6b1fa49909
to0f75a33222
0f75a33222
to9272c6539c
9272c6539c
to9f972e4861
9f972e4861
to4702338a67
4702338a67
to4c1f3bd488
4c1f3bd488
to620c772fb1
Checkout
From your project repository, check out a new branch and test the changes.