3.10.0 / 2026-02-24
Prometheus now offers a distroless Docker image variant alongside the default
busybox image. The distroless variant provides enhanced security with a minimal
base image, uses UID/GID 65532 (nonroot) instead of nobody, and removes the
VOLUME declaration. Both variants are available with -busybox and -distroless
tag suffixes (e.g., prom/prometheus:latest-busybox, prom/prometheus:latest-distroless).
The busybox image remains the default with no suffix for backwards compatibility
(e.g., prom/prometheus:latest points to the busybox variant).
For users migrating existing named volumes from the busybox image to the distroless variant, the ownership can be adjusted with:
docker run --rm -v prometheus-data:/prometheus alpine chown -R 65532:65532 /prometheus
Then, the container can be started with the old volume with:
docker run -v prometheus-data:/prometheus prom/prometheus:latest-distroless
User migrating from bind mounts might need to ajust permissions too, depending on their setup.
- [CHANGE] Alerting: Add
alertmanagerdimension to following metrics:prometheus_notifications_dropped_total,prometheus_notifications_queue_capacity,prometheus_notifications_queue_length. #16355 - [CHANGE] UI: Hide expanded alert annotations by default, enabling more information density on the
/alertspage. #17611 - [FEATURE] AWS SD: Add MSK Role. #17600
- [FEATURE] PromQL: Add
fill()/fill_left()/fill_right()binop modifiers for specifying default values for missing series. #17644 - [FEATURE] Web: Add OpenAPI 3.2 specification for the HTTP API at
/api/v1/openapi.yaml. #17825 - [FEATURE] Dockerfile: Add distroless image variant using UID/GID 65532 and no VOLUME declaration. Busybox image remains default. #17876
- [FEATURE] Web: Add on-demand wall time profiling under
<URL>/debug/pprof/fgprof. #18027 - [ENHANCEMENT] PromQL: Add more detail to histogram quantile monotonicity info annotations. #15578
- [ENHANCEMENT] Alerting: Independent alertmanager sendloops. #16355
- [ENHANCEMENT] TSDB: Experimental support for early compaction of stale series in the memory with configurable threshold
stale_series_compaction_thresholdin the config file. #16929 - [ENHANCEMENT] Service Discovery: Service discoveries are now removable from the Prometheus binary through the Go build tag
remove_all_sdand individual service discoveries can be re-added with the build tagsenable_<sd name>_sd. Users can build a custom Prometheus with only the necessary SDs for a smaller binary size. #17736 - [ENHANCEMENT] Promtool: Support promql syntax features
promql-duration-exprandpromql-extended-range-selectors. #17926 - [PERF] PromQL: Avoid unnecessary label extraction in PromQL functions. #17676
- [PERF] PromQL: Improve performance of regex matchers like
.*-.*-.*. #17707 - [PERF] OTLP: Add label caching for OTLP-to-Prometheus conversion to reduce allocations and improve latency. #17860
- [PERF] API: Compute
/api/v1/targets/relabel_stepsin a single pass instead of re-running relabeling for each prefix. #17969 - [PERF] tsdb: Optimize LabelValues intersection performance for matchers. #18069
- [BUGFIX] PromQL: Prevent query strings containing only UTF-8 continuation bytes from crashing Prometheus. #17735
- [BUGFIX] Web: Fix missing
X-Prometheus-Stoppingheader for/-/readyendpoint inNotReadystate. #17795 - [BUGFIX] PromQL: Fix PromQL
info()function returning empty results when filtering by a label that exists on both the input metric andtarget_info. #17817 - [BUGFIX] TSDB: Fix a bug during exemplar buffer grow/shrink that could cause exemplars to be incorrectly discarded. #17863
- [BUGFIX] UI: Fix broken graph display after page reload, due to broken Y axis min encoding/decoding. #17869
- [BUGFIX] TSDB: Fix memory leaks in buffer pools by clearing reference fields (Labels, Histogram pointers, metadata strings) before returning buffers to pools. #17879
- [BUGFIX] PromQL: info function: fix series without identifying labels not being returned. #17898
- [BUGFIX] OTLP: Filter
__name__from OTLP attributes to prevent duplicate labels. #17917 - [BUGFIX] TSDB: Fix division by zero when computing stale series ratio with empty head. #17952
- [BUGFIX] OTLP: Fix potential silent data loss for sum metrics. #17954
- [BUGFIX] PromQL: Fix smoothed interpolation across counter resets. #17988
- [BUGFIX] PromQL: Fix panic with
@modifier on empty ranges. #18020 - [BUGFIX] PromQL: Fix
avg_over_timefor a single native histogram. #18058
9.3.3
QuestDB 9.3.3 is a feature-rich release introducing HORIZON JOIN for markout analysis, a new twap() aggregate, SQL-standard WINDOW definitions, JIT compilation on ARM64, and file-based secrets for Kubernetes deployments. It also brings significant performance improvements across Parquet I/O, parallel GROUP BY, UNION queries, and ORDER BY on computed expressions.
For any questions or feedback, please join us on Slack or on Discourse.
See also our prettier release notes page.
HORIZON JOIN is a new join type designed for markout analysis — a common financial analytics pattern where you measure how prices or metrics evolve at specific time offsets relative to events like trades or orders.
For each row in the left-hand table and each offset in the horizon, the join computes left_timestamp + offset and performs an ASOF match against the right-hand table. Results are implicitly grouped by the horizon offset and any specified keys, with aggregate functions applied across all matched rows.
Here's an example measuring post-trade price impact at 1-second intervals up to 60 seconds:
SELECT h.offset / 1_000_000 AS horizon_sec, t.sym, avg(m.mid) AS avg_mid
FROM trades AS t
HORIZON JOIN mid_prices AS m ON (t.sym = m.sym)
RANGE FROM 1s TO 60s STEP 1s AS h
ORDER BY t.sym, horizon_sec
You can also use LIST for non-uniform horizons and negative offsets to look at pre-event behavior:
SELECT h.offset / 1_000_000 AS horizon_sec, t.sym,
avg(m.mid - t.price) AS avg_markout
FROM trades AS t
HORIZON JOIN mid_prices AS m ON (t.sym = m.sym)
LIST (-5s, -1s, 0, 1s, 5s, 30s, 1m) AS h
ORDER BY t.sym, horizon_sec
The horizon pseudo-table exposes h.offset (raw microsecond value) and h.timestamp (the computed left_timestamp + offset), which can be used in expressions and grouping.
The new twap(price, timestamp) aggregate computes the time-weighted average price using step-function integration: each price is held constant until the next observation, and the TWAP is the area under the step function divided by the total time span. It supports parallel GROUP BY and SAMPLE BY with FILL modes.
SELECT symbol, twap(price, timestamp) AS twap_price
FROM trades
WHERE timestamp IN today()
SAMPLE BY 1h;
QuestDB now supports the SQL-standard WINDOW clause for defining reusable window specifications. Instead of repeating the same PARTITION BY and ORDER BY in multiple window function calls, define them once and reference by name:
SELECT symbol, side, price,
sum(price) OVER ws, avg(price) OVER ws,
sum(amount) OVER ws, sum(price) OVER wt
FROM trades
WINDOW wt AS (ORDER BY timestamp),
ws AS (PARTITION BY symbol, side ORDER BY timestamp);
Window inheritance is also supported, where a named window references another as its base:
SELECT avg(price) OVER w2
FROM trades
WINDOW w1 AS (PARTITION BY symbol ORDER BY ts),
w2 AS (w1 ROWS BETWEEN 1 PRECEDING AND CURRENT ROW)
Chained inheritance and standard merge rules for PARTITION BY, ORDER BY, and frame clauses are all supported.
QuestDB's JIT filter compiler now runs natively on ARM64 (aarch64) systems, including Apple Silicon and AWS Graviton. Previously, JIT-compiled filters were only available on x86. Benchmarks on an Apple M5 show filter evaluations running up to 2x faster with JIT enabled for common WHERE clause patterns, with OR-predicate filters seeing up to 5x improvement.
Sensitive configuration like database passwords can now be loaded from files using the _FILE suffix convention, enabling integration with Kubernetes Secrets, Docker Secrets, and HashiCorp Vault:
export QDB_PG_PASSWORD_FILE=/run/secrets/pg_password
File-based secrets are automatically trimmed, visible in SHOW PARAMETERS with value_source = 'file', and reloaded when contents change via SELECT reload_config().
The new array_build(nDims, size, filler1, ...) function creates DOUBLE[] or DOUBLE[][] arrays with controlled shape and fill values. The size parameter accepts a scalar integer or a DOUBLE[] (using its cardinality), and each filler can be a scalar (repeated) or an array (copied element-by-element with NaN padding or truncation).
- Parquet partition reads with selective filters now use late materialization — filter columns are decoded first, and remaining columns are decoded only for matching rows. This gives up to a 2.4x speedup on OHLC-style aggregation queries with symbol filters.
- Parquet writing has been sped up.
- Parquet export of queries with computed expressions (e.g.,
CAST, arithmetic, string functions) no longer falls back to a temporary table. A new hybrid export mode passes raw columns zero-copy and materializes only computed columns into native buffers. - Decimal type support (
DECIMAL8throughDECIMAL256) has been added for Parquet read and write.
- Parallel GROUP BY and Top K queries now use unordered page frame collection, eliminating head-of-line blocking. At concurrency 8, per-iteration thread spread drops by 53–75%, tail latency (p99) drops by 30–44%, and latency predictability (p99/p50 ratio) improves from 2.5–3.6x down to 1.4–1.8x. There is a 34% single-thread regression for keyed GROUP BY that does not appear under concurrent load.
- UNION, UNION ALL, EXCEPT, and INTERSECT queries now push designated-timestamp filters into each branch, enabling per-branch partition pruning.
- CASE WHEN expressions on symbol columns now resolve string constants to integer symbol keys at init time and compare by int at runtime.
- ORDER BY on computed expressions now pre-computes sort key values into off-heap buffers, reducing function evaluations from O(N log N) to O(N).
- Double-to-decimal conversion performance has been improved with bulk multiply optimization.
- Fixed a server crash caused by a crafted HTTP request with an overflowing chunk size in chunked transfer encoding. The hex chunk-size parser now rejects values that would overflow a 64-bit integer.
- fix(core): suppress error output in print-hello.sh during startup failure by @ideoma in https://github.com/questdb/questdb/pull/6738
- feat(core): support reading secrets from files for Kubernetes deployments by @bluestreak01 in https://github.com/questdb/questdb/pull/6719
- feat(core): optimize parquet partition read with late materialization, zero-copy page reading, and use raw array encoding by @kafka1991 in https://github.com/questdb/questdb/pull/6675
- fix(http): prevent parquet export corruption under concurrent connections by @jerrinot in https://github.com/questdb/questdb/pull/6723
- perf(parquet): speed up parquet writing by @ideoma in https://github.com/questdb/questdb/pull/6735
- feat(sql): allow underscore number separator in TICK syntax by @mtopolnik in https://github.com/questdb/questdb/pull/6749
- fix(core): correct greedy parsing for single N pattern in timestamp formats by @jerrinot in https://github.com/questdb/questdb/pull/6741
- fix(core): fix intermittent backup failures on Windows caused by file access problems by @RaphDal in https://github.com/questdb/questdb/pull/6748
- fix(core): clear changedKeys at start of config reload to prevent stale notifications by @bluestreak01 in https://github.com/questdb/questdb/pull/6756
- fix(sql): fix ADD COLUMN IF NOT EXISTS for DECIMAL, GEOHASH, and array types by @mtopolnik in https://github.com/questdb/questdb/pull/6753
- feat(core): add JIT support for aarch64 by @RaphDal in https://github.com/questdb/questdb/pull/6758
- feat(sql): window definition by @javier in https://github.com/questdb/questdb/pull/6746
- fix(sql): reject trailing content after valid query by @mtopolnik in https://github.com/questdb/questdb/pull/6751
- fix(core): fix assertion errors in UNION ALL with column count mismatch by @mtopolnik in https://github.com/questdb/questdb/pull/6744
- fix(core): add dedicated batch size config for parquet export by @ideoma in https://github.com/questdb/questdb/pull/6747
- fix(sql): fix table and name-lock leak on CREATE TABLE AS SELECT failure by @kafka1991 in https://github.com/questdb/questdb/pull/6763
- fix(ilp): fix assertion error in ILP decimal parser on malformed input by @bluestreak01 in https://github.com/questdb/questdb/pull/6772
- perf(sql): improve performance of UNION and friends by pushing down timestamp filter into subqueries by @mtopolnik in https://github.com/questdb/questdb/pull/6745
- fix(sql): fix to recognise view names in quotes by @glasstiger in https://github.com/questdb/questdb/pull/6771
- fix(sql): fix alias hiding original column name in CASE with window function by @mtopolnik in https://github.com/questdb/questdb/pull/6775
- fix(sql): compile tick expressions with date variables into IR for zero-parse evaluation when executing caches SQL statements by @bluestreak01 in https://github.com/questdb/questdb/pull/6780
- fix(core): fix checkpoint timeout caused by slow sync() system call by @glasstiger in https://github.com/questdb/questdb/pull/6785
- perf(sql): speed up parallel GROUP BY and Top K queries by @mtopolnik in https://github.com/questdb/questdb/pull/6754
- feat(sql): add twap() time-weighted average price aggregate function by @bluestreak01 in https://github.com/questdb/questdb/pull/6786
- feat(parquet): add decimal type support for parquet read/write by @RaphDal in https://github.com/questdb/questdb/pull/6725
- perf(sql): optimize CASE WHEN on symbol columns to compare by int key instead of string by @bluestreak01 in https://github.com/questdb/questdb/pull/6788
- fix(sql): ensure
FILL(LINEAR)respects theFROMclause by @nwoolmer in https://github.com/questdb/questdb/pull/6790 - fix(sql): fix stale interval evaluation for tick expressions with date variables in filter functions by @bluestreak01 in https://github.com/questdb/questdb/pull/6798
- perf(sql): improve double-to-decimal cast performance by @mtopolnik in https://github.com/questdb/questdb/pull/6792
- perf(sql): optimize ORDER BY on computed expressions with sort key materialization by @bluestreak01 in https://github.com/questdb/questdb/pull/6793
- feat(sql): Add array_build() function for dynamic array construction by @javier in https://github.com/questdb/questdb/pull/6794
- perf(sql): improve double-to-decimal conversion with bulk multiply by @mtopolnik in https://github.com/questdb/questdb/pull/6799
- feat(sql): horizon join for markout analysis by @puzpuzpuz in https://github.com/questdb/questdb/pull/6635
- fix(http): fix server crash on chunked transfer encoding with overflowing chunk size by @bluestreak01 in https://github.com/questdb/questdb/pull/6802
- fix(sql): NullPointerException when right-hand query in window join has timestamp filter by @puzpuzpuz in https://github.com/questdb/questdb/pull/6806
- perf(sql): avoid temp table materialization for Parquet export with computed columns by @mtopolnik in https://github.com/questdb/questdb/pull/6795
Full Changelog: https://github.com/questdb/questdb/compare/9.3.2...9.3.3
12.4.0
Download page What's new highlights
- API: Add missing scope check on dashboards #116885, @Proximyst
- Alerting Enrichment: Add new RBAC permissions for reading and writing enrichments (Enterprise)
- Alerting: Add Alert Rules tabs navigation with feature toggle #116253, @aifraenkel
- Alerting: Add Edit/Export actions to group rows, clickable folders, and square icon for recording rules #117763, @konrad147
- Alerting: Add RBAC to enrichments (Enterprise)
- Alerting: Add UI for imported time intervals #116249, @soniaAguilarPeiron
- Alerting: Add alert labels as tags on annotations (#28610) #116244, @msvechla
- Alerting: Add alertingSyncNotifiersApiMigration feature flag #117946, @rodrigopk
- Alerting: Add feature toggle to disable DMA creation in UI #116830, @soniaAguilarPeiron
- Alerting: Add policy selector in the alert rule form #117464, @soniaAguilarPeiron
- Alerting: Add viz wrapper for run queries in enrichment (Enterprise)
- Alerting: Apply pending period to NoData and Error alerts #117024, @santihernandezc
- Alerting: Deprecate OpsGenie integration #117085, @yuri-tceretian
- Alerting: Filter out imported contact points from simplified routing dropdown #116408, @soniaAguilarPeiron
- Alerting: Import to Grafana Alerting Wizard - first iteration #116924, @soniaAguilarPeiron
- Alerting: Make AI Helper in triage to use only assistant (Enterprise)
- Alerting: Make default notification configuration use empty receiver #116368, @yuri-tceretian
- Alerting: Make saved search name clickable to apply search #116832, @dhalachliyski
- Alerting: Migrate to K8s style receiver testing API #116847, @rodrigopk
- Alerting: Notification configuration tabs #116749, @aifraenkel
- Alerting: Receiver testing via app platform APIs #111338, @yuri-tceretian
- Alerting: Refactor error for duplicate names on notificationPolicy creation #117797, @rodrigopk
- Alerting: Replace the static radio button list for notification routing with a dropdown #117414, @soniaAguilarPeiron
- Alerting: Restrict import UI to admin users only #117441, @rodrigopk
- Alerting: Show alert rule scoping in the UI to enrichments list and form (Enterprise)
- Alerting: Single alertmanager contact points versions #116076, @soniaAguilarPeiron
- Alerting: Update GOPS labels API calls to v2alpha1 #116327, @soniaAguilarPeiron
- Alerting: Update import wizard to use policyTreeName as config identifier #117382, @soniaAguilarPeiron
- Alerting: Update logic handling canCreate in integrations version, and handle the new deprecated field in the schema #116672, @soniaAguilarPeiron
- Alerting: Update origin for openAssistant in ash (Enterprise)
- Alerting: Update translations (Enterprise)
- Alerting: Use assistant inline hook instead of llm for template ai button (Enterprise)
- Alerting: Use canUse instead of provenance to filter out time intervals #117036, @rodrigopk
- Auditing: Allow configuring Loki retries and timeout (Enterprise)
- Auditing: Track uid endpoints for dashboards, not id (Enterprise)
- Auth: Add SSO settings PATCH endpoint #117346, @colin-stuart
- Auth: Add support for validating OAuth ID token signatures #116442, @DanCech
- Auth: Promote SCIM to GA #116963, @linoman
- Avatar: Require sign-in, remove queue, respect timeout #116891, @macabu
- Azure Monitor: Clear filter options in logs builder when key changes #116329, @aangelisc
- Chore: API: add query params to the spec #117217, @yudintsevegor
- Chore: Access API: add missing query params (Enterprise)
- Chore: Deprecate experimental restore dashboard API #116256, @ryantxu
- Chore: Deprecate the localeFormatPreference feature toggle #116621, @joshhunt
- Chore: Improve packaging/docker/run.sh #114012, @dmotte
- Chore: RBAC: Migrate role picker to rtkq #116571, @yudintsevegor
- Chore: Remove
logRequestsInstrumentedAsUnknownfeature flag #116417, @undef1nd - Chore: Remove experimental feature individualCookiePreferences #116374, @hairyhenderson
- Chore: Upgrade Grafana Faro to v2, removing
web_vitals_attribution_enabled#117516, @tskarhed - Cloud Monitoring: Add support for Google Cloud universe_domain #115931, @aangelisc
- CloudWatch Logs: Select log groups with the log group selector and $__logGroups macro for OpenSearch Structured Query Language queries #116222, @kevinwcyu
- Cloudwatch: Make cloudwatchBatchQueries GA #117448, @iwysiu
- Cloudwatch: Mark missing default region error downstream #117551, @iwysiu
- Correlations: Remove support for org_id=0 #116877, @gelicia
- Dashboard: Do not select element always #116986, @torkelo
- Dashboard: Hide sidebar on mobile when in view mode #117369, @torkelo
- Dashboard: Round x/y/w/h when importing a dashboard with floats #117072, @bfmatei
- Dashboards: Avoid using internal id from the frontend #117398, @ryantxu
- Dashboards: Do not show alert rules button for new dashboads #115571, @torkelo
- Dashboards: Make clear all of variable dropdown accessible by keyboard navigation #117462, @oscarkilhed
- Dashboards: Remove deprecated dashboard id endpoints #117227, @stephaniehingtgen
- DataSources: Deprecate api routes with name and internal IDs #116391, @ryantxu
- Datagrid: Deprecate panel #116071, @natellium
- Datasources: Support new temp creds AWS datasources in auth service (Enterprise)
- Docs: Add Knowledge Graph trace & profile configuration section #117155, @github-actions[bot]
- Docs: Cleanup enterprise tag usage (Enterprise)
- Dynamic Dashboards: Add new panel button with drag & drop #116276, @idastambuk
- Elasticsearch: Add support for serverless connections #114855, @cauemarcondes
- Elasticsearch: Clear code editor query when switching query types #116318, @Milad93R
- Explore: Reset legend when a new query is run #116323, @ifrost
- Feat: Datasources Auth Service (Enterprise)
- Feat: Experimental sandbox mode for community & PPT plugins (Enterprise)
- Feat: Experimental sandbox mode for community plugins #115936, @njvrzm
- Feat: Remove experimental
permissionsFilterRemoveSubqueryfeature #116405, @papagian - FeatureToggle: Enable time range pan zoom flags by default as generally available #116970, @jesdavpet
- Folders: Manage folder owner reference #117426, @tomratcliffe
- Folders: Show owner references on folder details pages #116843, @tomratcliffe
- Gauge: Delete radialbar plugin to avoid migrations #116722, @fastfrwrd
- Gauge: Mark grafana/ui export as deprecated #116436, @fastfrwrd
- Geomap: Min/Max Zoom options for XYZ Tile Layer #114947, @WoozyMasta
- Geomap: Variable support in the XYZ Tile layer #116654, @WoozyMasta
- Go: Update to 1.25.6 #116394, @macabu
- Go: Update to 1.25.7 #117470, @macabu
- Grafana Cli: Add admin flush-rbac-seed-assignment command #116716, @stephaniehingtgen
- Grafana Monitoring: Enable native HTTP histograms by default, make classic histograms configurable #116534, @undef1nd
- GrafanaBootData: Deprecate config.apps #115610, @hugohaggmark
- GrafanaBootData: Deprecate config.panels #116918, @hugohaggmark
- Graphite: Revert naming convention changes #117158, @aangelisc
- I18n: Ignore dist folder in packages when extracting translations #116532, @aocenas
- InteractiveTable: Prevent reset to first page after
dataproperty change unlessautoResetPageproperty is specified #117546, @darrenjaneczek - Live: Use namespace rather than OrgID #117275, @ryantxu
- Log Line Context: Internally manage displayed fields #116912, @matyax
- Logs Panel: Added support for transformations when using infinite scrolling #116528, @matyax
- Logs Panel: Added support for unwrapped logs with optional columns for displayed fields #117402, @matyax
- MySQL: Add variable query editor support #116900, @yesoreyeram
- News Panel: Modify pubDate logic to use updated date as fallback #113329, @swiffer
- Node Graph: Use first numeric field as fallback for main stat #116530, @ifrost
- PDFTables: Dynamically shrink font to try and fit whole table in pdf page width (Enterprise)
- Panel visualizations: Focus on search input when changing visualizations #115484, @idastambuk
- Playlists: Graduate to v1 apis #117638, @stephaniehingtgen
- Plugin Metrics: Improve metrics on long duration queries within grafana #116371, @sarahzinger
- PostgreSQL: Add variable query editor support #115974, @yesoreyeram
- Prometheus: Add variable job and replaced hardcoded values in prometheus 2.0 stats dashboard #115916, @saurabh007007
- Prometheus: Introduce failsafe PromQueryFormat unmarshalling #116670, @itsmylife
- Prometheus: Introduce filtering /series endpoint for prometheus versions that don't support match[] parameter #116648, @itsmylife
- Prometheus: Optimize regex pattern for multi-value label matchers #116233, @Krishnachaitanyakc
- Prometheus: Revert "Prometheus: Make sure "Min Step" has precedence (#115941)" #116959, @ellisda
- Provisioning: Integrate GH app connections into the wizard flow #116547, @Clarity-89
- Query Editor: Add Query Options footer and sidebar for new query editor #117403, @Develer
- Reporting: Productize reporting retries feature #117378, @macabu
- Reporting: Remove newPDFRendering feature flag, stabilising it (Enterprise)
- Reporting: Support editing template variables in the form for dashboards v2 (Enterprise)
- Restore dashboards: Improve permissions #116266, @Clarity-89
- SQL Expressions: Add "NOT" keyword to allow list #116802, @net0pyr
- SQLDataSource: Use UID rather than internal ID #116461, @ryantxu
- Search: Move experimental panelTitleSearch from searchV2 to unified search #116326, @ryantxu
- SearchAPI: Return "shared with me" children based on the permission query param #116254, @aocenas
- Secrets Keeper: Add secretsKeeperUI feature flag #117427, @ericrshields
- Secrets Keeper: UI shell with tab navigation (Enterprise)
- Security: Sanitize TraceView html #117853, @github-actions[bot]
- Security: Use dashboard timerange if time selection disabled #117854, @dana-axinte
- Table: Keyboard accessibility for filter #117354, @fastfrwrd
- TeamFolders: Show team folders in folder picker #117381, @aocenas
- Tempo: Encode header values before adding them to outgoing context #117279, @jcolladokuri
- Tempo: Remove forwarding incoming and team headers for streaming requests #117813, @jcolladokuri
- UI: Use react-table column header types in InteractiveTable with story and tests #116091, @Alan-eMartin
- Viz: Update OutsideRangePlugin to support single datapoint #117278, @fastfrwrd
- Alerting: Fix alert rule last evaluation duration units #117814, @JacobsonMT
- Alerting: Fix alert rule last evaluation time including scheduling delays #117819, @JacobsonMT
- Alerting: Fix groupBy in simplified routing UI #117076, @soniaAguilarPeiron
- Alerting: Fix label value search not filtering results #116133, @konrad147
- Alerting: Fix missing dataSource.type in dsquery enrichers (Enterprise)
- Alerting: Fix missing provenance annotation in GetManagedRoute #117940, @rodrigopk
- Alerting: Omit data sources that aren't configured for alerting from search #116537, @gillesdemey
- AnalyticsSummaries: Fix dashboard rollup not resetting "last X days" metrics to zero (Enterprise)
- AnalyticsSummaries: Fix dashboard rollup totals resetting incorrectly (Enterprise)
- BrowseDashboards: Fix nested folder's parent folder dropped after rename folder title #116223, @ywzheng1
- CloudWatch: Fix error source for some query errors #115791, @njvrzm
- CloudWatch: Fix template variable intepolation for metrics queries #116574, @kevinwcyu
- Cloudwatch: Add log group prefix and all-log queries #117210, @kevinwcyu
- Dashboard: Fix for missing focus style on DataLinkInput component #117095, @DivyamUp14
- Dashboard: Fixes performance issuing saving multiple times #117230, @torkelo
- Datasources: Fix permissions cleanup when deleting datasource by name #117289, @mihai-turdean
- Dynamic Dashboards: Fix legend click opening panel edit sidebar #116476, @AyushKaithwas
- Dynamic Dashboards: Fix show/hide rules when template variable has "All" selected #116529, @AyushKaithwas
- Elasticsearch: Fix incorrect log level parsing for nested fields #116637, @adamyeats
- Fix: Don't reuse go-plugin config #117877, @njvrzm
- Fix: Ensure clone handles functions properly #116521, @sunker
- Fix: Make plugin.json routes[].path field required #116286, @s4kh
- Fix: Show deprecated badge if installed plugin version is deprecated #117101, @s4kh
- Graphite: Use target as name for aliased queries #116213, @aangelisc
- Icon: Fix SVG not updating when icon name is changed quickly #117584, @joshhunt
- Jaeger: Fix variable interpolation in query input #115513, @dolph
- Plugins: Fix frontend sandbox crash on Firefox with missing browser APIs #116422, @academo
- Prometheus: Fix broken hardcoded override in Prometheus 2.0 dashboard #116940, @saurabh007007
- Prometheus: Make sure "Min Step" has precedence for a longer time windows #115941, @itsmylife
- RBAC: Fix rolepicker autoclosing #116726, @yudintsevegor
- Reporting: Fix PDF report header translation for non-English locales (Enterprise)
- Reporting: Fix bug limiting email address length in recipient field (Enterprise)
- SubMenu: Prevent menu positioning itself offscreen #116907, @ashharrison90
v3.4.3
- Add
namedGrouptoSslHandlerInfoand add Builder pattern by @gavinbunney in https://github.com/Netflix/zuul/pull/2086 - Allow configuring of TLS named groups by @gavinbunney in https://github.com/Netflix/zuul/pull/2087
Full Changelog: https://github.com/Netflix/zuul/compare/v3.4.2...v3.4.3
2026-02-24, Version 25.7.0 (Current), @ruyadorno prepared by @aduh95
- [
b0a79b10f0] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) #61713 - [
2d874dfb8e] - (SEMVER-MINOR) sea: support ESM entry point in SEA (Joyee Cheung) #61813 - [
ee59127664] - sqlite: mark as release candidate (Matteo Collina) #61262 - [
608736e19e] - (SEMVER-MINOR) stream: renameDuplex.toWeb()type option toreadableType(René) #61632 - [
a43375999f] - (SEMVER-MINOR) test_runner: show interrupted test on SIGINT (Matteo Collina) #61676
- [
ab4375e141] - benchmark: add startup benchmark for ESM entrypoint (Joyee Cheung) #61769 - [
8d83d8026b] - build: add temporal test on GHA windows (Chengzhong Wu) #61810 - [
aab153eec3] - build: skip sscache action on non-main branches (Joyee Cheung) #61790 - [
9e40fb93bc] - build: use path-ignore in GHA coverage-windows.yml (Chengzhong Wu) #61811 - [
4896653361] - build: generate_config_gypi.py generates valid JSON (Shelley Vohr) #61791 - [
bb82b44de0] - build: build with v8 gdbjit support on supported platform (Joyee Cheung) #61010 - [
e7173a093a] - build: show cc outputs when version detection failed (Chengzhong Wu) #61700 - [
848050d38f] - build,win: add WinGet Visual Studio 2022 Build Tools Edition config (Mike McCready) #61652 - [
938841e1cd] - crypto: always return certificate serial numbers as uppercase (Anna Henningsen) #61752 - [
dba9001d6f] - deps: upgrade npm to 11.10.1 (npm team) #61892 - [
75c8e18d2f] - deps: update nbytes to 0.1.3 (Node.js GitHub Bot) #61879 - [
4ca1597f25] - deps: remove stale OpenSSL arch configs (René) #61834 - [
c4f298c729] - deps: update llhttp to 9.3.1 (Node.js GitHub Bot) #61827 - [
7d63a2df93] - deps: V8: cherry-pick 64b36b441179 (Rafael Magrin) #61712 - [
241a6b7088] - deps: update googletest to 5a9c3f9e8d9b90bbbe8feb32902146cb8f7c1757 (Node.js GitHub Bot) #61731 - [
eec896c0e0] - deps: V8: backport 6a0a25abaed3 (Vivian Wang) #61666 - [
5a9874af09] - doc: clarify status of feature request issues (Antoine du Hamel) #61505 - [
0648ac64aa] - doc: add esm and cjs examples to node:vm (Alfredo González) #61498 - [
8b38718294] - doc: clarify build environment is trusted in threat model (Matteo Collina) #61865 - [
10e86818ee] - doc: remove incorrect mention ofmoduleintypescript.md(Rob Palmer) #61839 - [
b50376f527] - doc: simplify addAbortListener example (Chemi Atlow) #61842 - [
dea0e7a856] - doc: fix typo in --disable-wasm-trap-handler description (Dmytro Semchuk) #61820 - [
57ac1f5aa0] - doc: clean up globals.md (René) #61822 - [
4c30d2bb4d] - doc: remove obsolete Boxstarter automated install (Mike McCready) #61785 - [
db610b9e32] - doc: clarify async caveats forevents.once()(René) #61572 - [
b4a826b11c] - doc: update Juan's security steward info (Juan José) #61754 - [
7d9cc5dc54] - doc: fix methods being documented as properties inprocess.md(Antoine du Hamel) #61765 - [
aa0362c26a] - doc: add riscv64 info into platform list (Lu Yahan) #42251 - [
9b0101b65b] - doc: fix dropdown menu being obscured at <600px due to stacking context (Jeff) #61735 - [
df2c65b3e4] - doc: fix spacing in process message event (Aviv Keller) #61756 - [
01018559f5] - doc: move describe/it aliases section before expectFailure (Luca Raveri) #61567 - [
49443583af] - doc: fix broken links of net.md (YuSheng Chen) #61673 - [
af7c927a2a] - doc: clean up Windows code snippet inchild_process.md(reillylm) #61422 - [
221648a687] - esm: update outdated FIXME comment in translators.js (Karan Mangtani) #61715 - [
4484e14a31] - events: don't call resume after close (Сковорода Никита Андреевич) #60548 - [
4cecbe1f53] - fs: addthrowIfNoEntryoption for fs.stat and fs.promises.stat (Juan José) #61178 - [
2c94967684] - http: remove redundant keepAliveTimeoutBuffer assignment (Efe) #61743 - [
435f3dd8e4] - http: attach error handler to socket synchronously in onSocket (RajeshKumar11) #61770 - [
ce0ebd853d] - http: fix keep-alive socket reuse race in requestOnFinish (Martin Slota) #61710 - [
8103a78b6a] - http2: add strictSingleValueFields option to relax header validation (Tim Perry) #59917 - [
b0a79b10f0] - (SEMVER-MINOR) http2: add http1Options for HTTP/1 fallback configuration (Amol Yadav) #61713 - [
c589b6b23c] - http2: fix FileHandle leak in respondWithFile (sangwook) #61707 - [
df477202ae] - lib: reduce cycles in esm loader and load it in snapshot (Joyee Cheung) #61769 - [
deda50a819] - lib: remove top-level getOptionValue() calls in lib/internal/modules (Joyee Cheung) #61769 - [
b1c1ddff79] - lib: optimize styleText when validateStream is false (Rafael Gonzaga) #61792 - [
df334f7fa0] - meta: use SCCACHE_GHA_ENABLED for shared build workflows (René) #61640 - [
e1b2cd605f] - meta: bump cachix/install-nix-action from 31.9.0 to 31.9.1 (dependabot[bot]) #61910 - [
24b858547a] - module: fix extensionless entry with explicit type=commonjs (Yuya Inoue) #61600 - [
4f2f8006bd] - repl: fix FileHandle leak in history initialization (sangwook) #61706 - [
2d874dfb8e] - (SEMVER-MINOR) sea: support ESM entry point in SEA (Joyee Cheung) #61813 - [
ee59127664] - sqlite: mark as release candidate (Matteo Collina) #61262 - [
f14ff14473] - src: remove unnecessaryc_str()conversions in diagnostic messages (Anna Henningsen) #61786 - [
26a09e541d] - src: use bool literals in TraceEnvVarOptions (Tobias Nießen) #61425 - [
62b0758c47] - src: fix--build-seadefault executable path (Alex Schwartz) #61708 - [
b5724921b1] - src: track allocations made by zstd streams (Anna Henningsen) #61717 - [
3d1d1523a5] - src: do not store compression methods on Brotli classes (Anna Henningsen) #61717 - [
b2915cda77] - src: extract zlib allocation tracking into its own class (Anna Henningsen) #61717 - [
3032a7e3c6] - src: release memory for zstd contexts inClose()(Anna Henningsen) #61717 - [
bc2287db74] - src: add more checks and clarify docs for external references (Joyee Cheung) #61719 - [
5daf282e33] - src: fix cjs_lexer external reference registration (Joyee Cheung) #61718 - [
fb2db5f947] - src: support import() and import.meta in embedder-run modules (Joyee Cheung) #61654 - [
e146591002] - stream: fix decoded fromList chunk boundary check (Thomas Watson) #61884 - [
065200a5f0] - stream: add fast paths for webstreams read and pipeTo (Matteo Collina) #61807 - [
608736e19e] - (SEMVER-MINOR) stream: renameDuplex.toWeb()type option toreadableType(René) #61632 - [
51587d684d] - test: fix typos in test files (Daijiro Wachi) #61408 - [
17b2361360] - test: allow filtering async internal frames in assertSnapshot (Joyee Cheung) #61769 - [
3f6a5f5f7f] - test: unify assertSnapshot stacktrace transform (Chengzhong Wu) #61665 - [
c8dac320de] - test: check stability block position in API markdown (René) #58590 - [
6809ef8d04] - test: adapt buffer test for v8 sandbox (Shelley Vohr) #61772 - [
60f5771a74] - test: update FileAPI tests from WPT (Ms2ger) #61750 - [
d2fef4a31a] - test: update WPT for WebCryptoAPI to 7cbe7e8ed9 (Node.js GitHub Bot) #61729 - [
d7a87f14da] - test: update WPT for url to efb889eb4c (Node.js GitHub Bot) #61728 - [
b6ae1fc4b8] - test: split test-embedding.js and run tests in parallel (Joyee Cheung) #61571 - [
a43375999f] - (SEMVER-MINOR) test_runner: show interrupted test on SIGINT (Matteo Collina) #61676 - [
1c02aa09b0] - test_runner: fix suite rerun (Moshe Atlow) #61775 - [
47821ec609] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903 - [
1630a56370] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899 - [
89318b0a02] - tools: fix auto-start-ci (Antoine du Hamel) #61900 - [
ee107f5e84] - tools: do not checkout repo inauto-start-ci.yml(Antoine du Hamel) #61874 - [
c2de1fa619] - tools: cache V8 build on test-shared workflow (Antoine du Hamel) #61860 - [
111c77ec94] - tools: automate updates for test/fixtures/test426 (Rich Trott) #60978 - [
ea8886f7d5] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759 - [
9db82ba786] - tools: bump unist-util-visit in /tools/doc in the doc group (dependabot[bot]) #61646 - [
c8e58c56b9] - tools: bump the eslint group in /tools/eslint with 6 updates (dependabot[bot]) #61628 - [
2518ec77e8] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734 - [
c5ad2beba3] - tools: fix small inconsistencies in JSON doc output (Antoine du Hamel) #61757 - [
a9f90bee0a] - tools: use ubuntu-latest runner innotify-on-pushworkflow (Antoine du Hamel) #61742 - [
30e38182d9] - watch: get flags from execArgv (Efe) #61779 - [
da1a08a3a5] - worker: eliminate race condition in process.cwd() (giulioAZ) #61664 - [
dfac82a235] - zlib: add support for brotli compression dictionary (Andy Weiss) #61763
2026-02-24, Version 24.14.0 'Krypton' (LTS), @ruyadorno prepared by @aduh95
- [
8b6d31d379] - (SEMVER-MINOR) async_hooks: addtrackPromisesoption tocreateHook()(Joyee Cheung) #61415 - [
68da144b4e] - build,deps: replace cjs-module-lexer with merve (Yagiz Nizipli) #61456 - [
f3a24c76e4] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167 - [
1948861d23] - (SEMVER-MINOR) events: repurposeevents.listenerCount()to accept EventTargets (René) #60214 - [
d6f7c8d06f] - (SEMVER-MINOR) fs: addignoreoption tofs.watch(Matteo Collina) #61433 - [
cb54b3ca6e] - (SEMVER-MINOR) http: addhttp.setGlobalProxyFromEnv()(Joyee Cheung) #60953 - [
35b1759d06] - (SEMVER-MINOR) module: allow subpath imports that start with#/(Jan Martin) #60864 - [
2d72ea66f2] - (SEMVER-MINOR) process: preserveAsyncLocalStorageinqueueMicrotaskonly when needed (Gürgün Dayıoğlu) #60913 - [
6f4a4f6c8e] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167 - [
c0ceb9b065] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266 - [
33d8e8303b] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311 - [
563ab699eb] - (SEMVER-MINOR) src: add initial support for ESM in embedder API (Joyee Cheung) #61548 - [
4c80031000] - (SEMVER-MINOR) stream: addbytes()method tonode:stream/consumers(wantaek) #60426 - [
f5233df4ff] - (SEMVER-MINOR) stream: do not passreadable.compose()output viaReadable.from()(René) #60907 - [
345a40fda3] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167 - [
972f82411d] - (SEMVER-MINOR) test_runner: addenvoption torunfunction (Ethan Arrowood) #61367 - [
d77f98c4b6] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669 - [
8e900af6ba] - (SEMVER-MINOR) util: addconvertProcessSignalToExitCodeutility (Erick Wendel) #60963
- [
180778fb9a] - assert: fix loose deepEqual arrays with undefined and null failing (Ruben Bridgewater) #61587 - [
8b6d31d379] - (SEMVER-MINOR) async_hooks: add trackPromises option to createHook() (Joyee Cheung) #61415 - [
83bcd38d35] - benchmark: add streaming TextDecoder benchmark (Сковорода Никита Андреевич) #61549 - [
4c105844c5] - build: add support for Visual Studio 2026 (Michaël Zasso) #60727 - [
1f84fd91d9] - build: skip sscache action on non-main branches (Joyee Cheung) #61790 - [
30601b680f] - build: add--shared-nbytesconfigure flag (Antoine du Hamel) #61341 - [
c6253eda49] - build: add--shared-hdr-histogramconfigure flag (Antoine du Hamel) #61280 - [
584c189037] - build: add--shared-gtestconfigure flag (Antoine du Hamel) #61279 - [
5998987881] - build: aix: deoptimize implementation-visitor.cc with --shared (Stewart X Addison) #61550 - [
68da144b4e] - build,deps: replace cjs-module-lexer with merve (Yagiz Nizipli) #61456 - [
6a4511bafb] - build,win: fix vs2022 compilation (Stefan Stojanovic) #61530 - [
2d6735db8a] - deps: upgrade npm to 11.9.0 (npm team) #61685 - [
699e2f8f81] - deps: update amaro to 1.1.7 (Node.js GitHub Bot) #61730 - [
7be76316d6] - deps: update minimatch to 10.1.2 (Node.js GitHub Bot) #61732 - [
97e5a65013] - deps: update undici to 7.21.0 (Node.js GitHub Bot) #61683 - [
74e4710ee7] - deps: update googletest to 56efe3983185e3f37e43415d1afa97e3860f187f (Node.js GitHub Bot) #61605 - [
b5113e2a2a] - deps: update amaro to 1.1.6 (Node.js GitHub Bot) #61603 - [
f3a24c76e4] - (SEMVER-MINOR) deps: add LIEF as a dependency (Joyee Cheung) #61167 - [
c370c3dc06] - (SEMVER-MINOR) deps: add tools and scripts to pull LIEF as a dependency (Joyee Cheung) #61167 - [
e54975e17d] - deps: V8: cherry-pick highway@dcc0ca1cd42 (Richard Lau) #61008 - [
625b90b76b] - deps: update undici to 7.19.2 (Node.js GitHub Bot) #61566 - [
05e9a9fb5e] - deps: update undici to 7.19.1 (Node.js GitHub Bot) #61514 - [
3d41643e38] - deps: update undici to 7.19.0 (Node.js GitHub Bot) #61470 - [
17b363a66c] - dns: fix Windows SRV ECONNREFUSED by adjusting c-ares fallback detection (notvivek12) #61453 - [
33d0a8c22d] - doc: clarify EventEmitter error handling in threat model (Matteo Collina) #61701 - [
5b8e72cf85] - doc: mention default option for test runner env (Steven) #61659 - [
f44e67fac2] - doc: fix --inspect security warning section (Tim Perry) #61675 - [
a0e09c9043] - doc: documenturl.format(urlString)as deprecated under DEP0169 (René) #61644 - [
5e719248fe] - doc: deprecation add more codemod (Augustin Mauroy) #61642 - [
8f5a3e5df4] - doc: fix grammatical error in README.md (ayj8201) #61653 - [
d52b535163] - doc: correct tools README Boxstarter link (Mike McCready) #61638 - [
4889dc4f59] - doc: updateserver.dropMaxConnectionlink (YuSheng Chen) #61584 - [
8e48e72f2a] - doc: clean up writing-and-running-benchmarks.md (Hardanish Singh) #61345 - [
1948861d23] - (SEMVER-MINOR) events: repurposeevents.listenerCount()to accept EventTargets (René) #60214 - [
d6f7c8d06f] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) #61433 - [
2d7e5f9581] - http: implement slab allocation for HTTP header parsing (Mert Can Altin) #61375 - [
cb54b3ca6e] - (SEMVER-MINOR) http: add http.setGlobalProxyFromEnv() (Joyee Cheung) #60953 - [
6df8be48ce] - lib: use utf8 fast path for streaming TextDecoder (Сковорода Никита Андреевич) #61549 - [
830fff0aca] - lib: recycle queues (Robert Nagy) #61461 - [
069874bdbd] - lib: use StringPrototypeStartsWith from primordials in locks (Taejin Kim) #61492 - [
7824c7589e] - lib: unify ICU and no-ICU TextDecoder (Сковорода Никита Андреевич) #61409 - [
f81430702a] - lib: prefercall()overapply()if argument list is not array (Livia Medeiros) #60796 - [
a723f72e1e] - lib: add support for readable byte streams to .toWeb() (Hans Klunder) #58664 - [
b78d814b3d] - meta: persist sccache daemon until end of build workflows (René) #61639 - [
40a872a4b9] - meta: bump github/codeql-action from 4.31.9 to 4.32.0 (dependabot[bot]) #61622 - [
0637bdb3be] - meta: bump step-security/harden-runner from 2.14.0 to 2.14.1 (dependabot[bot]) #61621 - [
e8d9bd9fc5] - meta: bump actions/setup-python from 6.1.0 to 6.2.0 (dependabot[bot]) #61627 - [
c517df2b65] - meta: bump actions/setup-node from 6.1.0 to 6.2.0 (dependabot[bot]) #61625 - [
9a64f2f25d] - meta: bump actions/cache from 5.0.1 to 5.0.3 (dependabot[bot]) #61624 - [
0e5922e95e] - meta: bump peter-evans/create-pull-request from 8.0.0 to 8.1.0 (dependabot[bot]) #61623 - [
5da7b51091] - meta: bump actions/stale from 10.1.0 to 10.1.1 (dependabot[bot]) #61620 - [
c085c8a43f] - meta: bump actions/checkout from 6.0.1 to 6.0.2 (dependabot[bot]) #61619 - [
ce2acf0275] - meta: bump actions/download-artifact from 6.0.0 to 7.0.0 (dependabot[bot]) #61242 - [
629f0eaac5] - meta: bump actions/checkout from 6.0.0 to 6.0.1 (dependabot[bot]) #61239 - [
cd80d369c9] - meta: bump actions/upload-artifact from 5.0.0 to 6.0.0 (dependabot[bot]) #61238 - [
8c75e4e1fa] - meta: bump actions/checkout from 5.0.1 to 6.0.0 (dependabot[bot]) #60925 - [
5a9e9f4127] - meta: bump actions/checkout from 5.0.0 to 5.0.1 (dependabot[bot]) #60767 - [
1519251dd1] - module: do not invoke resolve hooks twice for imported cjs (Joyee Cheung) #61529 - [
8d7190b3fe] - module: do not wrap module._load when tracing is not enabled (Joyee Cheung) #61479 - [
35b1759d06] - (SEMVER-MINOR) module: allow subpath imports that start with#/(Jan Martin) #60864 - [
7a83b38921] - net: defer synchronous destroy calls in internalConnect (RajeshKumar11) #61658 - [
16bab79421] - process: do not truncate long strings in--print(Mohamed Akram) #61497 - [
2d72ea66f2] - (SEMVER-MINOR) process: preserve AsyncLocalStorage in queueMicrotask only when needed (Gürgün Dayıoğlu) #60913 - [
9cc1c4604f] - repl: fix getters triggering side effects during completion (Dario Piotrowicz) #61043 - [
93703306a1] - repl: tab completion targets<class>instead ofnew <class>(Đỗ Trọng Hải) #60319 - [
6f4a4f6c8e] - (SEMVER-MINOR) sea: split sea binary manipulation code (Joyee Cheung) #61167 - [
46a2dad4db] - sqlite: avoid extra copy for large text binds (Ali Hassan) #61580 - [
f91a377f7e] - sqlite: use DictionaryTemplate for run() result (Mert Can Altin) #61432 - [
0e7571ae3e] - sqlite: change approach to fix segfault SQLTagStore (Bart Louwers) #60462 - [
8e8f70524a] - sqlite: reserve vectors space (Guilherme Araújo) #61540 - [
c0ceb9b065] - (SEMVER-MINOR) sqlite: enable defensive mode by default (Bart Louwers) #61266 - [
33d8e8303b] - (SEMVER-MINOR) sqlite: add sqlite prepare options args (Guilherme Araújo) #61311 - [
f0d8f37002] - src: elide heap allocation in structured clone implementation (Anna Henningsen) #61703 - [
db478c4336] - src: use simdutf for one-byte string UTF-8 write in stringBytes (Mert Can Altin) #61696 - [
563ab699eb] - (SEMVER-MINOR) src: add initial support for ESM in embedder API (Joyee Cheung) #61548 - [
da13186a15] - src: throw RangeError on failed ArrayBuffer BackingStore allocation (Chengzhong Wu) #61480 - [
4c80031000] - (SEMVER-MINOR) stream: add bytes() method to stream/consumers (wantaek) #60426 - [
f5233df4ff] - (SEMVER-MINOR) stream: do not passreadable.compose()output viaReadable.from()(René) #60907 - [
ad04a469c8] - test: restraint version replacement pattern in snapshots (Chengzhong Wu) #61748 - [
2d3b4a8d65] - test: print stack immediately avoiding GC interleaving (Chengzhong Wu) #61699 - [
38f43a6d4e] - test: fix case-insensitive path matching on Windows (Matteo Collina) #61682 - [
06513f5ff2] - test: fix flaky test-performance-eventloopdelay (Matteo Collina) #61629 - [
9d79c66c61] - test: remove duplicate wpt tests (Filip Skokan) #61617 - [
eac9f4f401] - test: fix race condition in watch mode tests (Matteo Collina) #61615 - [
ecf5947575] - test: update WPT for url to e3c46fdf55 (Node.js GitHub Bot) #61602 - [
356ff5fece] - test: use the skipIfNoWatch() utility function (Luigi Pinca) #61531 - [
4b2187aea2] - test: unify assertSnapshot common patterns (Chengzhong Wu) #61590 - [
8c25489d63] - test: split test-fs-watch-ignore-* (Luigi Pinca) #61494 - [
43b8a2b7e7] - test: add some validation for JSON doc output (Antoine du Hamel) #61413 - [
345a40fda3] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167 - [
24cf6b8326] - test: reveal wpt evaluation errors in status files (Chengzhong Wu) #61358 - [
d4034dfb62] - test: forbid use of named imports for fixtures (Antoine du Hamel) #61228 - [
4f871ee897] - test: enforce better never-settling-promise detection (Antoine du Hamel) #60976 - [
8e9adedf02] - test: ensure assertions are reached on all tests (Antoine du Hamel) #60845 - [
273832802e] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60763 - [
e06adcb52f] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60760 - [
aeed0ccc02] - test: useRegExp.escapeto improve test reliability (Antoine du Hamel) #60803 - [
74bcd0adab] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60728 - [
407807b08e] - test: skip tests not passing withoutNODE_OPTIONSsupport (Antoine du Hamel) #60912 - [
a9e70cefb0] - test: ensure assertions are reached on more tests (Antoine du Hamel) #60634 - [
21b23cd0d0] - test_runner: fix test enqueue when test file has syntax error (Edy Silva) #61573 - [
6a4de694b2] - test_runner: fix passingexpectFailure(Moshe Atlow) #61568 - [
6640de2b0f] - test_runner: differentiate todo and failure styles (Moshe Atlow) #61564 - [
972f82411d] - (SEMVER-MINOR) test_runner: add env option to run function (Ethan Arrowood) #61367 - [
d77f98c4b6] - (SEMVER-MINOR) test_runner: support expecting a test-case to fail (Jacob Smith) #60669 - [
f98986cbb9] - tools: switch to ARM runners on GHA jobs (Antoine du Hamel) #61903 - [
034589dd93] - tools: avoid building twice in coverage jobs (Antoine du Hamel) #61899 - [
e50e2f00bb] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61759 - [
f658f48ccb] - tools: use ubuntu-slim runner in GHA (Antoine du Hamel) #61734 - [
65c77d74ff] - tools: use ubuntu-latest runner innotify-on-pushworkflow (Antoine du Hamel) #61742 - [
605905556a] - tools: enforce removal oflts-watch-*labels on release proposals (Antoine du Hamel) #61672 - [
f0f98d4c03] - tools: use ubuntu-slim runner in meta GitHub Actions (Tierney Cyren) #61663 - [
ab63ddf354] - tools: add LIEF to license builder (Chengzhong Wu) #61523 - [
8a0f6192c9] - tools: enforce trailing commas intest/es-module(Antoine du Hamel) #60891 - [
4afbbcf39e] - tools: enforce trailing commas intest/sequential(Antoine du Hamel) #60892 - [
4c1abf752c] - tools,win: upgrade install additional tools to Visual Studio 2026 (Mike McCready) #61562 - [
8e900af6ba] - (SEMVER-MINOR) util: add convertProcessSignalToExitCode utility (Erick Wendel) #60963
12.3.4
Download page What's new highlights
- Dashboard Export: Fix datasource variable templating in dashboard export #118327, @kristinademeshchik
- Provisioning: Bump nanogit v0.3.1 with missing objects fixes #118225, @MissingRoberto
12.2.6
Download page What's new highlights
- Dashboard Export: Fix datasource variable templating in dashboard export #118324, @kristinademeshchik
12.1.8
Download page What's new highlights
- Dashboard Export: Fix datasource variable templating in dashboard export #118321, @kristinademeshchik