Visitar URL original
Patch release 2.12.1 by stelfrag · Pull Request #24168 · netdata/netdata · GitHub
Skip to content

Patch release 2.12.1 - #24168

Merged
Ferroin merged 10 commits into
netdata:v2.12from
stelfrag:patch_release_2_12_1
Oct 8, 2026
Merged

Ferroin merged 10 commits into
netdata:v2.12from
stelfrag:patch_release_2_12_1

Conversation

@stelfrag

@stelfrag stelfrag commented Oct 6, 2026 •

Copy link
Copy Markdown
Collaborator
Summary

@coderabbitai

coderabbitai Bot commented Oct 6, 2026 •

Copy link
Copy Markdown
Contributor

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 1201f2c9-74a6-4dc2-9836-448b62778462

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added area/ci area/packaging Packaging and operating systems support labels Oct 6, 2026
@stelfrag stelfrag changed the title Patch release 2 12 1 Patch release 2.12.1 Oct 6, 2026
Comment thread packaging/windows/fetch-msys2-installer.py Fixed

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 8 files

Architecture diagram
sequenceDiagram
    participant CI as GitHub Actions CI
    participant GH as GitHub Releases
    participant Cache as Actions Cache
    participant Build as package-windows.sh
    participant Fetch as fetch-msys2-installer.py
    participant Patch as compile-runtime.sh
    participant MSYS as MSYS2 Runtime Repo
    participant Package as Netdata MSI Package
    participant SCM as Service Control Manager
    participant Check as windows-startup-check.ps1

    Note over CI,Check: Windows Installer Pipeline - Patched MSYS2 Runtime

    CI->>Build: Run package-windows.sh
    Build->>Fetch: Fetch MSYS2 installer tarball
    Fetch->>GH: GET msys2-base-x86_64-20260927.tar.zst
    GH-->>Fetch: Tarball (SHA256 verified)
    Fetch-->>Build: /msys2-base.tar.zst

    Build->>Cache: Check for cached patched runtime
    Cache-->>Build: Cache miss

    Build->>Patch: compile-runtime.sh
    Patch->>MSYS: Fetch base commit c770e1b9
    MSYS-->>Patch: Source tree
    Patch->>Patch: Apply 2 upstream fixes
    Patch->>Patch: Verify commit = a39aebc
    Patch-->>Build: msys-2.0.dll (patched)

    Build->>Build: Extract MSYS2 tarball
    Build->>Build: Replace usr/bin/msys-2.0.dll with patched version
    Build->>Build: Validate DLL version = 3.6.10-a39aebc
    Build-->>Cache: Store patched runtime
    Build-->>Package: MSI with patched runtime

    Note over CI,Check: CI Startup Verification

    CI->>Package: Install Netdata MSI
    Package->>SCM: Start service
    SCM-->>Package: Service running
    CI->>Check: Run windows-startup-check.ps1

    Check->>Check: Read runtime.env pins
    Check->>Check: Verify bundled DLL version
    Check->>Check: Disable crash reports in netdata.conf

    loop 20 start cycles
        Check->>SCM: Stop netdata service
        Check->>SCM: Start netdata service
        Check->>Check: Wait 20s settle time
        SCM-->>Check: Service status
        alt Service Running and no crashes
            Check->>Check: Cycle passed
        else Service stopped or SCM crash events
            Check-->>CI: FAIL - unexpected termination
        end
    end

    Check-->>CI: All 20 cycles passed
Loading

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread packaging/windows/msys2-runtime/compile-runtime.sh Outdated
Comment thread packaging/windows/package-windows.sh Outdated
Comment thread packaging/windows/package-windows.sh Outdated
Comment thread .github/scripts/windows-startup-check.ps1 Outdated
Comment thread .github/scripts/windows-startup-check.ps1 Outdated
@github-actions github-actions Bot added area/docs area/collectors Everything related to data collection area/build Build system (autotools and cmake). collectors/ebpf collectors/go.d area/metadata Integrations metadata area/go area/plugins.d labels Oct 7, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

6 issues found across 37 files (changes from recent commits).

Confidence score: 3/5

  • ebpf_library.c ignores the configured BTF path, so hosts that rely on a supplied BTF file can have supported symbols treated as absent and BTF-based paths disabled. Check the already-loaded BTF data instead.
  • ebpf_disk.c can attach netdata_block_rq_complete to two completion events for one request, so the handler may run twice. Verify the attachment paths and ensure only one completion event is used.
  • config_schema.json now accepts arbitrary keys and some Redfish configurations that runtime validate() rejects. Keep the root allowlist and align the dependency branches with runtime validation.
  • The rule in config-schema.md overgeneralizes the schema failure: additionalProperties: false is still valid when dependency branches add no undeclared keys. Narrow the rule and its test to branches that do.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/go/plugin/go.d/collector/redfish/config_schema.json">

<violation number="1" location="src/go/plugin/go.d/collector/redfish/config_schema.json:94">
P2: The schema now accepts arbitrary unknown configuration keys, so misspelled settings no longer fail validation. Keep the root allowlist and explicitly permit the conditional credential fields and `name`.</violation>

<violation number="2" location="src/go/plugin/go.d/collector/redfish/config_schema.json:94">
P2: This reworked `dependencies` block makes the schema accept two config states that the runtime `validate()` (config.go) still rejects: a job with `auth_method` omitted (defaults to `auto`, which requires username+password) and a job with `auth_method: none` that also sets credentials. The test comment in `config_test.go` documents this as intentional for the form, which always submits `auth_method`; but the README-documented file path (`edit-config go.d/redfish.conf`) and API-submitted configs do not guarantee that, so those configs now pass schema validation and only fail when the job starts, whereas the pre-PR schema (the removed `allOf` else-branch) rejected them at save time. If edit-time parity with `validate()` is wanted for non-form paths, reintroduce the missing-method guard; otherwise this is a deliberate trade-off that is fine to keep.</violation>
</file>

<file name=".agents/skills/collectors-go-design/config-schema.md">

<violation number="1" location=".agents/skills/collectors-go-design/config-schema.md:141">
P2: This prohibition is broader than the JSON Schema failure it cites: `additionalProperties: false` remains valid when dependencies introduce no undeclared keys. Limit the rule and its test to dependency branches that add properties.</violation>
</file>

<file name="src/collectors/ebpf.plugin/libbpf_api/ebpf_library.c">

<violation number="1" location="src/collectors/ebpf.plugin/libbpf_api/ebpf_library.c:16">
P2: This bypasses the configured `btf path`, so hosts using a supplied BTF file without `/sys/kernel/btf/vmlinux` treat supported symbols as absent and disable the corresponding BTF-based paths. Query the already-loaded `default_btf` instead, and do not free that shared object.</violation>
</file>

<file name="src/collectors/ebpf.plugin/ebpf_sync.c">

<violation number="1" location="src/collectors/ebpf.plugin/ebpf_sync.c:368">
P3: `callocz()` already aborts the process on OOM in netdata, so `if (!sync_percpu_values) continue;` is unreachable dead code. Drop the guard (and the extra indentation it forces on the `stored` assignment). Note that if the check ever did fire, silently skipping the whole counters update for that iteration would be worse than the abort the allocator already performs.</violation>
</file>

<file name="src/collectors/ebpf.plugin/ebpf_disk.c">

<violation number="1" location="src/collectors/ebpf.plugin/ebpf_disk.c:92">
P2: The same completion program (`netdata_block_rq_complete`) is now attached to up to two completion events per request: the object's own `blk_mq_end_request` attach (`disk_bpf__attach` / `ebpf_attach_programs`) plus this new kprobe on `__blk_mq_end_request` (or `blk_mq_free_request`), and on kernels where `blk_mq_end_request()` calls `__blk_mq_end_request()` both fire for one completed request. The 'counted once' property (README) is therefore entirely program-side and cannot be verified from this repo since the kernel-collector object is out of tree. Confirm the inflight-map logic dedups (e.g., removes the per-request entry on first completion) so the histogram is not double-incremented for every blk-mq device; the fallback `blk_mq_free_request` also fires for aborted/errored/failed requests that never complete, so those paths must not be recorded as completions.</violation>
</file>

Reply with feedback, questions, or to request a fix.

Turn on auto-fix | Re-trigger cubic

Comment thread src/collectors/ebpf.plugin/ebpf_process.c
Comment thread src/go/plugin/go.d/collector/config_schema_test.go
Comment thread src/go/plugin/go.d/collector/redfish/config_schema.json
Comment thread .agents/skills/collectors-go-design/config-schema.md
Comment thread src/collectors/ebpf.plugin/libbpf_api/ebpf_library.c
Comment thread src/go/plugin/go.d/collector/redfish/config_schema.json
Comment thread src/collectors/ebpf.plugin/ebpf_disk.c
Comment thread src/collectors/ebpf.plugin/ebpf_sync.c
Comment thread src/collectors/ebpf.plugin/ebpfgo.plugin/cachestat_plan.go
thiagoftsm and others added 6 commits October 7, 2026 15:29
* fix(windows): ship a patched MSYS2 runtime that does not crash at startup

The MSYS2 installer we bundle (2026-09-27, msys2-runtime 3.6.10) carries
MSYS2's backport of "Cygwin: open: Unlock fdtab before open_with_arch()"
without its upstream fixes, so netdata dies at startup with an access
violation inside msys-2.0.dll.

- Pin the MSYS2 installer by tag and sha256 instead of taking the latest.
- Build msys-2.0.dll from MSYS2's shipped commit plus upstream 0d3ea0ee65
  and 4d51e9693f, cache it in CI, and overlay it in the package.
- Fail packaging if the installer's runtime is not the one the override
  was built for, or if the overlay did not take.

* windows: name the arguments of check_msys2_runtime

* windows: rebuild the MSYS2 runtime on dispatch, keep its debug symbols

On a cache hit the restored msys-2.0.dll is checked only by its version string,
and the cache key does not cover the toolchain. Skip the cache on
workflow_dispatch so every published installer rebuilds the runtime from the
pinned sources.

The build is not reproducible, so upload msys-2.0.dbg from every Windows run
(90 days) and document how to find it for a given version.

(cherry picked from commit fd179ca)
@stelfrag
stelfrag force-pushed the patch_release_2_12_1 branch from 5b4456e to d105144 Compare October 7, 2026 12:39
stelfrag and others added 3 commits October 7, 2026 21:41
* fix(windows): bound timezone detection and parse the mapping by attribute

map_windows_tz_to_iana() returned success when no row matched, so the pulse
callers, which pass uninitialised stack buffers, got garbage as the detected
timezone, and the unbounded sanitize loop could read past the buffer. The XML
rows were also parsed at fixed offsets, so the region preference never worked.

Parse MapTZ attributes by name with bounded copies, rank rows (user region with
Default, user region, then the 001 world default), and report success only when
a TZID was found. Detection now starts from an empty buffer and bounds the
sanitize loop; the registry read checks its result, type and termination.

Adds -W timezonemaptest, also part of -W unittest.

* fix(windows): fail timezone mapping on read errors; check test fixture writes

A read error ended the mapping scan like end-of-file, so a lower-ranked row
(the 001 world default) could be returned as the answer. Report failure when
the stream has an error.

The unit test helper ignored the fputs() result, so a failed fixture write
let the no-match cases pass without parsing anything; it now returns a setup
failure.

(cherry picked from commit 7437c03)
…ta#24162)

datafile_acquire_for_deletion() counted the datafile's clean and hot
pages in the open cache only to feed an internal_error(), which release
builds compile out. The clean count walks the whole clean queue under
its lock, which can be large on busy parents. Build it only with
NETDATA_INTERNAL_CHECKS.

(cherry picked from commit 4ff4aeb)

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

2 issues found across 24 files (changes from recent commits).

Confidence score: 4/5

  • In src/daemon/analytics.c, a small out_size can cause the best regional TZID to be skipped in favor of the lower-ranked 001 zone. Preserve the best match and return failure if it does not fit.
  • In how-to-write-a-collector.md, ap/doc.go and zfspool/doc.go do not demonstrate the documented pattern. Update the examples or revise the description.
Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="src/daemon/analytics.c">

<violation number="1" location="src/daemon/analytics.c:821">
P2: If `out_size` is too small for the best regional TZID, this skips that row and can return the lower-ranked `001` zone instead. Preserve the best-ranked match and return failure when it cannot fit; do not fall back to a different timezone.</violation>
</file>

<file name="src/go/plugin/go.d/docs/how-to-write-a-collector.md">

<violation number="1" location="src/go/plugin/go.d/docs/how-to-write-a-collector.md:355">
P3: The two other collectors cited as examples of this pattern do not match the description: `ap/doc.go` and `zfspool/doc.go` contain only the SPDX line and the package clause, with no doc comment, while the bullet prescribes "its doc comment" (and `smbios_memory/doc.go` is the one collector that has one). Align the wording with the examples (or note the doc comment is optional) so the recipe and its examples don't contradict each other.</violation>
</file>

Tip: Review your code locally with the cubic CLI to iterate faster.

View guided diff | Re-trigger cubic

Comment thread src/daemon/analytics.c
if (rank <= best_rank)
continue;

if (!tz_mapping_attr(line, "TZID", value, MIN(sizeof(value), out_size)) || !*value)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: If out_size is too small for the best regional TZID, this skips that row and can return the lower-ranked 001 zone instead. Preserve the best-ranked match and return failure when it cannot fit; do not fall back to a different timezone.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At src/daemon/analytics.c, line 821:

<comment>If `out_size` is too small for the best regional TZID, this skips that row and can return the lower-ranked `001` zone instead. Preserve the best-ranked match and return failure when it cannot fit; do not fall back to a different timezone.</comment>

<file context>
@@ -736,6 +736,103 @@ void set_late_analytics_variables(struct rrdhost_system_info *system_info)
+        if (rank <= best_rank)
+            continue;
+
+        if (!tz_mapping_attr(line, "TZID", value, MIN(sizeof(value), out_size)) || !*value)
+            continue;
+
</file context>


- Put the matching build constraint, such as `//go:build linux`, on every source and test file of the collector
package except `doc.go`, after the SPDX line with a blank line before and after.
- Add an untagged `doc.go` containing only the package clause and its doc comment, so the `init.go` import still

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The two other collectors cited as examples of this pattern do not match the description: ap/doc.go and zfspool/doc.go contain only the SPDX line and the package clause, with no doc comment, while the bullet prescribes "its doc comment" (and smbios_memory/doc.go is the one collector that has one). Align the wording with the examples (or note the doc comment is optional) so the recipe and its examples don't contradict each other.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. When an issue isn't valid or won't be fixed in this PR, reply in its thread with the reason and then resolve the thread. At src/go/plugin/go.d/docs/how-to-write-a-collector.md, line 355:

<comment>The two other collectors cited as examples of this pattern do not match the description: `ap/doc.go` and `zfspool/doc.go` contain only the SPDX line and the package clause, with no doc comment, while the bullet prescribes "its doc comment" (and `smbios_memory/doc.go` is the one collector that has one). Align the wording with the examples (or note the doc comment is optional) so the recipe and its examples don't contradict each other.</comment>

<file context>
@@ -347,6 +347,22 @@ For a new collector `<name>`:
+
+- Put the matching build constraint, such as `//go:build linux`, on every source and test file of the collector
+  package except `doc.go`, after the SPDX line with a blank line before and after.
+- Add an untagged `doc.go` containing only the package clause and its doc comment, so the `init.go` import still
+  compiles on every platform.
+- Platform-neutral subpackages such as `<name>func/` and `internal/` need no constraint; only the tagged files link
</file context>
Suggested change
- Add an untagged `doc.go` containing only the package clause and its doc comment, so the `init.go` import still
- Add an untagged `doc.go` containing only the package clause (a doc comment is optional, as in `ap` and `zfspool`), so the `init.go` import still

@sonarqubecloud

sonarqubecloud Bot commented Oct 8, 2026

Copy link
Copy Markdown

@Ferroin
Ferroin marked this pull request as ready for review October 8, 2026 14:58
Copilot AI balanced review requested due to automatic review settings October 8, 2026 14:58
@Ferroin
Ferroin merged commit 36ab462 into netdata:v2.12 Oct 8, 2026
153 of 154 checks passed

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

It combines kernel-facing eBPF changes and custom Windows runtime packaging that require final platform-specific human validation.

0 open findings

What changed in this PR

Bundles the 2.12.1 patch-release fixes across collectors, DBEngine, Windows packaging, timezone detection, and eBPF compatibility.

Changes:

  • Fixes Redfish, Docker, Ceph, SMBIOS, DBEngine, and Windows timezone behavior.
  • Updates eBPF probes, loaders, dependencies, and kernel compatibility.
  • Pins MSYS2 and packages a patched Windows runtime.
File Description
src/​plugins.d/​DYNCFG.md Documents configuration-schema rendering constraints.
src/​go/​plugin/​go.d/​docs/​how-to-write-a-collector.md Documents platform-specific collectors.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​write_metrics.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​test_helpers_test.go Restricts tests to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​state.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​snapshot.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​snapshot_test.go Restricts tests to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​parser.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​parser_test.go Restricts tests to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​parser_enums.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​metrix.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​init.go Prevents non-Linux registration.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​func_deps.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​doc.go Keeps the package importable elsewhere.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​config.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​config_test.go Restricts tests to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​collector.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​collector_test.go Restricts tests to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​collect.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​baseline.go Restricts build to Linux.
src/​go/​plugin/​go.d/​collector/​smbios_memory/​artifacts_test.go Restricts tests to Linux.
src/​go/​plugin/​go.d/​collector/​redfish/​resource_identity_test.go Covers URI aliases and redirects.
src/​go/​plugin/​go.d/​collector/​redfish/​internal/​acquisition/​uri.go Removes strict identity equality.
src/​go/​plugin/​go.d/​collector/​redfish/​internal/​acquisition/​resource.go Validates alias safety boundaries.
src/​go/​plugin/​go.d/​collector/​redfish/​internal/​acquisition/​resource_test.go Covers safe and unsafe identities.
src/​go/​plugin/​go.d/​collector/​redfish/​internal/​acquisition/​graph_test.go Updates graph identity expectations.
src/​go/​plugin/​go.d/​collector/​redfish/​config_test.go Aligns form and runtime validation tests.
src/​go/​plugin/​go.d/​collector/​redfish/​config_schema.json Conditionally exposes credentials.
src/​go/​plugin/​go.d/​collector/​docker/​metadata.yaml Documents cadence and daemon cost.
src/​go/​plugin/​go.d/​collector/​docker/​config_schema.json Changes the default interval.
src/​go/​plugin/​go.d/​collector/​docker/​collector.go Adds defaults and image caching state.
src/​go/​plugin/​go.d/​collector/​docker/​collect.go Caches images and derives usage from containers.
src/​go/​plugin/​go.d/​collector/​config_schema_test.go Enforces form-compatible schema patterns.
src/​go/​plugin/​go.d/​collector/​ceph/​config_schema.json Removes the stray alternatives selector.
src/​database/​engine/​datafile.c Limits cache scans to internal-check builds.
src/​daemon/​main.c Registers the timezone mapping test.
src/​daemon/​analytics.h Exposes the timezone test entry point.
src/​collectors/​ebpf.plugin/​README.md Documents updated process and disk probes.
src/​collectors/​ebpf.plugin/​libbpf_api/​ebpf.h Corrects a kernel-version comment.
src/​collectors/​ebpf.plugin/​libbpf_api/​ebpf.c Safely handles libbpf error pointers.
src/​collectors/​ebpf.plugin/​libbpf_api/​ebpf_library.h Declares the BTF lookup helper.
src/​collectors/​ebpf.plugin/​libbpf_api/​ebpf_library.c Implements kernel BTF lookup.
src/​collectors/​ebpf.plugin/​ebpfgo.plugin/​loader.go Removes the compiled runtime prefix.
src/​collectors/​ebpf.plugin/​ebpfgo.plugin/​libbpfloader/​socket_libbpf.c Corrects CPU sizing and error handling.
src/​collectors/​ebpf.plugin/​ebpfgo.plugin/​libbpfloader/​nd_ebpf_runtime_common.h Adds shared loader and arena helpers.
src/​collectors/​ebpf.plugin/​ebpfgo.plugin/​libbpfloader/​loader_libbpf.c Normalizes failed object opens.
src/​collectors/​ebpf.plugin/​ebpfgo.plugin/​libbpfloader/​fd_libbpf.c Updates allocation and arena access.
src/​collectors/​ebpf.plugin/​ebpfgo.plugin/​libbpfloader/​dns_libbpf.c Avoids closing error pointers.
src/​collectors/​ebpf.plugin/​ebpfgo.plugin/​cachestat_plan.go Resolves plugins from the executable.
src/​collectors/​ebpf.plugin/​ebpf.c Updates CPU detection and early options.
src/​collectors/​ebpf.plugin/​ebpf_unittest.c Tests per-CPU lookup buffer sizing.
src/​collectors/​ebpf.plugin/​ebpf_sync.c Dynamically sizes per-CPU storage.
src/​collectors/​ebpf.plugin/​ebpf_process.h Updates process target indexing.
src/​collectors/​ebpf.plugin/​ebpf_process.c Revises process probe selection.
packaging/​windows/​package-windows.sh Installs and verifies the patched runtime.
packaging/​windows/​msys2-runtime/​runtime.env Pins runtime source and build identity.
packaging/​windows/​msys2-runtime/​compile-runtime.sh Builds the patched runtime and symbols.
packaging/​windows/​msys2-runtime/​0001-Cygwin-open-Add-missing-unlock-on-error.patch Applies an upstream locking fix.
packaging/​windows/​fetch-msys2-installer.py Fetches a checksum-pinned installer.
packaging/​cmake/​Modules/​NetdataEBPFLegacy.cmake Updates legacy eBPF artifacts.
packaging/​cmake/​Modules/​NetdataEBPFCORE.cmake Updates CO-RE artifacts.
CMakeLists.txt Removes obsolete Go linker injection.
.github/​workflows/​build.yml Caches runtime builds and uploads symbols.
.agents/​skills/​collectors-go-design/​config-schema.md Updates schema-authoring guidance.

🧠 Review effort: Balanced


Give feedback about Copilot approvals in this survey to enter a drawing for a $150 gift card.

@stelfrag
stelfrag deleted the patch_release_2_12_1 branch October 8, 2026 18:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/build Build system (autotools and cmake). area/ci area/collectors Everything related to data collection area/daemon area/database area/docs area/go area/metadata Integrations metadata area/packaging Packaging and operating systems support area/plugins.d collectors/ebpf collectors/go.d

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants