26.02.0 / 2026-02-16 Release
📌 Highlights of this major release include:
⭐ New Features
-
🏅 Harvest includes a new BETA E-Series collector for inventory and performance metrics along with four E-Series dashboards and 47 panels.
E-Series newly added dashboards:
-
🏅 Harvest already supports VictoriaMetrics exporter in pull mode, and with this release Harvest also supports VictoriaMetrics in push mode. More details are available for VictoriaMetrics push mode https://docs.victoriametrics.com/victoriametrics/single-server-victoriametrics/#how-to-import-time-series-data
-
🏅 Harvest includes an opt-in disk-based cache for improved memory efficiency. More details https://netapp.github.io/harvest/latest/prometheus-exporter/#disk_cache
-
Harvest includes fix to avoid double-counting of the shelf power. Thanks to @rmilkowski for raising and contributing a fix 🤘
-
KeyPerf is the default collector for volume performance metrics starting in 25.11 and this release 26.02 fixes an issue where KeyPerf Collector did not calculate FlexGroup latency.
-
💎 New dashboards and additional panels:
- Harvest includes LUN Serial hex numbers in Lun table. Thanks @Venumadhu for raising.
-
📕 Documentation additions:
- Added documentation recommending binding to all interfaces in HTTP mode. Thanks to Chris Gautcher for reporting!
- Added new E-Series documentation
- Added mcp installation.md documentation
-
harvest grafana metrics prints the template path for each metric consumed in all Grafana dashboards. Thanks @songlin-rgb for raising.
-
harvest grafana import adds additional options to customize the orgId, title, uid, and tags when importing the Grafana dashboards. Thanks @spapadop for reporting.
-
Harvest provides an option to limit concurrent ONTAP HTTP connections. Thanks @songlin-rgb for raising.
-
Harvest MCP enhancement:
- Harvest MCP includes metric unit and type information for performance metrics. Thanks @gautcher for reporting.
- Harvest adds health endpoint in harvest mcp. Thanks @yann for reporting.
- Harvest supports prometheus/victoriametrics endpoint retry in mcp-server. Thanks @yann for reporting.
Announcements
💡 IMPORTANT After upgrading, don't forget to re-import your dashboards to get all the new enhancements and fixes. You can import them via the bin/harvest grafana import CLI, from the Grafana UI, or from the 'Maintenance > Reset Harvest Dashboards' button in NAbox3. For NAbox4, this step is not needed.
💡 E-Series collector and dashboards are beta as we collect more feedback.
Thanks to all the awesome contributors
🤘 Thanks to all the people who've opened issues, asked questions on Discord, and contributed code or dashboards for this release:
@mamoep, @gautcher, @Venumadhu, Chris Gautcher, @songlin-rgb, @spapadop
🌱 This release includes 15 features, 21 bug fixes, 6 documentation, 1 testing, 4 refactoring, 22 miscellaneous, and 7 ci pull requests.
Expand for full list of pull requests
🚀 Features
- Limit concurrent collectors (#4024)
- Adding serial in hex format in LUN table (#4034)
- Override default HARVEST_TSDB_URL on a per-request basis for Harvest MCP (#4042)
- Disk cache (#4033)
- Add templatePath in grafana metric harvest cli (#4056)
- Support victoria metrics push exporter (#4031)
- Add units for ONTAP metrics missing them (#4082)
- Add support for specifying organization ID when importing dashb… (#4087)
- Add units for ONTAP metrics missing them (#4091)
- Add health endpoint in harvest mcp (#4097)
- E-Series collector infrastructure (#4088)
- Include options for modifying title, uid, tags when importing d… (#4101)
- Time series retry in harvest MCP (#4105)
- E-Series hardware metrics (#4112)
- Enable Qtree latency collection via KeyPerf collector (#4139)
🐛 Bug Fixes
- StorageGRID Cached credential script tokens not expired on 401 (#4011)
- Fix activity label for volume analytics (#4026)
- Handle local/remote records in cluster schedule (#4027)
- Better error handling when trying to monitor an ONTAP cluster wi… (#4041)
- Update logic of hot/cold changes if total_footprint is missing in volume template (#4046)
- Support different ontap port Zapi/ZapiPerf collector (#4061)
- Volume top metrics are not available for Flexgroup volumes (#4072)
- Adding dynamic threshold of link speed in 2 network tables (#4062)
- RestPerf:Volume volume aggregate metrics error handling (#4098)
- Remove unsafe GetChildS GetChildren chaining (#4102)
- E-Series dashboard names (#4114)
- Avoid double-counting shelf power (#4116)
- E-Series dashboard names for container (#4118)
- Volume uuid should be instance_uuid (#4121)
- Top file note should point to correct discussion (#4123)
- Enable multiselect for array dashboard (#4125)
- Move cache log to debug (#4127)
- Fix units for capacity (#4130)
- Use clonedstring for gjson (#4132)
- Duplicate metrics for flashpool (#4134)
- Rest client should use its own error struct (#4135)
- KeyPerf collector doesn't calculate flexgroup latency (#4137)
📕 Documentation
- Update rest strategy guide (#4039)
- For HTTP mode recommend binding to all interfaces (#4065)
- Mention flagship models and which model was used for examples (#4084)
- E-Series documentation (#4115)
- Fix mcp installation.md (#4124)
- E-Series metric documentation (#4133)
🔧 Testing
- Ensure node GetChildren does not panic (#4110)
Refactoring
- Make mcp go runnable (#4018)
- Address lint warnings (#4032)
- Lint issues (#4038)
- Fix potential resource leak (#4064)
- Address lint warnings (#4081)
Miscellaneous
- Improve changelog twistie formatting (#4025)
- Update all dependencies (#4019)
- Merge release/25.11.0 to main (#4023)
- Update all dependencies (#4029)
- Update all dependencies (#4036)
- Update all dependencies (#4047)
- Track upstream go-version changes (#4048)
- Bump go (#4054)
- Lint issues (#4055)
- Update all dependencies (#4058)
- Update all dependencies (#4066)
- Update all dependencies (#4068)
- Track upstream gopsutil changes (#4074)
- Update all dependencies (#4083)
- Bump go (#4090)
- Update all dependencies (#4092)
- Update all dependencies (#4104)
- Bring harvest.cue up to date (#4107)
- Update all dependencies (#4111)
- Bump go (#4113)
- Update all dependencies (#4119)
- Bump dependencies (#4122)
- Bump go (#4128)
🔨 CI
- Unit test should fail ZapiPerf templates when detect caret (#4043)
- V-zhuravlev has signed the CCLA (#4070)
- Allow first party GitHub actions to use unpinned references (#4079)
- Fix ci issue (#4094)
- KuaJnio has signed the CCLA (#4109)
- Rmilkowski has signed the CCLA (#4117)
- Fix lint (#4126)