19 hours ago
prometheus

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 alertmanager dimension 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 /alerts page. #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_threshold in the config file. #16929
  • [ENHANCEMENT] Service Discovery: Service discoveries are now removable from the Prometheus binary through the Go build tag remove_all_sd and individual service discoveries can be re-added with the build tags enable_<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-expr and promql-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_steps in 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-Stopping header for /-/ready endpoint in NotReady state. #17795
  • [BUGFIX] PromQL: Fix PromQL info() function returning empty results when filtering by a label that exists on both the input metric and target_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_time for a single native histogram. #18058
1 days ago
questdb

9.3.3

QuestDB 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.

Highlights

HORIZON JOIN for markout analysis

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.

twap() time-weighted average price

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;

WINDOW definition clause

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.

JIT compilation on ARM64

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.

File-based secrets for Kubernetes

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().

array_build() function

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).

Performance

Parquet I/O

  • 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 (DECIMAL8 through DECIMAL256) has been added for Parquet read and write.

Query execution

  • 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.

Security

  • 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.

Changelist

Full Changelog: https://github.com/questdb/questdb/compare/9.3.2...9.3.3

1 days ago
grafana

12.4.0

Download page What's new highlights

Features and enhancements

  • 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 logRequestsInstrumentedAsUnknown feature 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 permissionsFilterRemoveSubquery feature #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 data property change unless autoResetPage property 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

Bug fixes

  • 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
1 days ago
zuul

v3.4.3

What's Changed

Full Changelog: https://github.com/Netflix/zuul/compare/v3.4.2...v3.4.3

2 days ago
node

2026-02-24, Version 25.7.0 (Current), @ruyadorno prepared by @aduh95

Notable Changes

  • [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: rename Duplex.toWeb() type option to readableType (René) #61632
  • [a43375999f] - (SEMVER-MINOR) test_runner: show interrupted test on SIGINT (Matteo Collina) #61676

Commits

  • [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 of module in typescript.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 for events.once() (René) #61572
  • [b4a826b11c] - doc: update Juan's security steward info (Juan José) #61754
  • [7d9cc5dc54] - doc: fix methods being documented as properties in process.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 in child_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: add throwIfNoEntry option 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 unnecessary c_str() conversions in diagnostic messages (Anna Henningsen) #61786
  • [26a09e541d] - src: use bool literals in TraceEnvVarOptions (Tobias Nießen) #61425
  • [62b0758c47] - src: fix --build-sea default 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 in Close() (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: rename Duplex.toWeb() type option to readableType (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 in auto-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 in notify-on-push workflow (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
2 days ago
node

2026-02-24, Version 24.14.0 'Krypton' (LTS), @ruyadorno prepared by @aduh95

Notable Changes

  • [8b6d31d379] - (SEMVER-MINOR) async_hooks: add trackPromises option to createHook() (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: repurpose events.listenerCount() to accept EventTargets (René) #60214
  • [d6f7c8d06f] - (SEMVER-MINOR) fs: add ignore option to fs.watch (Matteo Collina) #61433
  • [cb54b3ca6e] - (SEMVER-MINOR) http: add http.setGlobalProxyFromEnv() (Joyee Cheung) #60953
  • [35b1759d06] - (SEMVER-MINOR) module: allow subpath imports that start with #/ (Jan Martin) #60864
  • [2d72ea66f2] - (SEMVER-MINOR) process: preserve AsyncLocalStorage in queueMicrotask only 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: add bytes() method to node:stream/consumers (wantaek) #60426
  • [f5233df4ff] - (SEMVER-MINOR) stream: do not pass readable.compose() output via Readable.from() (René) #60907
  • [345a40fda3] - (SEMVER-MINOR) test: use fixture directories for sea tests (Joyee Cheung) #61167
  • [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
  • [8e900af6ba] - (SEMVER-MINOR) util: add convertProcessSignalToExitCode utility (Erick Wendel) #60963

Commits

  • [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-nbytes configure flag (Antoine du Hamel) #61341
  • [c6253eda49] - build: add --shared-hdr-histogram configure flag (Antoine du Hamel) #61280
  • [584c189037] - build: add --shared-gtest configure 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: document url.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: update server.dropMaxConnection link (YuSheng Chen) #61584
  • [8e48e72f2a] - doc: clean up writing-and-running-benchmarks.md (Hardanish Singh) #61345
  • [1948861d23] - (SEMVER-MINOR) events: repurpose events.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: prefer call() over apply() 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 of new <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 pass readable.compose() output via Readable.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: use RegExp.escape to 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 without NODE_OPTIONS support (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 passing expectFailure (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 in notify-on-push workflow (Antoine du Hamel) #61742
  • [605905556a] - tools: enforce removal of lts-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 in test/es-module (Antoine du Hamel) #60891
  • [4afbbcf39e] - tools: enforce trailing commas in test/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
2 days ago
grafana

12.3.4

Download page What's new highlights

Bug fixes

2 days ago
grafana

12.2.6

Download page What's new highlights

Bug fixes

2 days ago
grafana

12.1.8

Download page What's new highlights

Bug fixes