Ignore rules: Node and Info
Context: "Node" and Gravity: "Info" are now values like the others. They are the first value of their list and used to mean "any": a rule could not hide only the Info findings, and { "Gravity": "Info" } hid every finding. Breaking: a rule that sets "Context": "Node" or "Gravity": "Info" by name now matches Node or Info only, so it may hide fewer findings than before. Remove the field to match any value. Files written by older versions, with numbers, keep their meaning (0 is "any").
create-ignored-issues: the exampleIdis anchored (^nodes/pve01/qemu/100$), so it matches VM 100 only. The template no longer containsComplianceandIsIgnoredIssue- API: ignore rules are
DiagnosticIgnoreRuleobjects, with nullableContextandGravity(null is "any"), passed toDiagnosticEngine.AnalyzeAsync(IEnumerable<DiagnosticIgnoreRule>).AnalyzeAsync(List<DiagnosticResult>)andDiagnosticResult.CheckIgnoreIssuestill work, with the old meaning, and are marked obsolete. A call written asAnalyzeAsync([])no longer compiles: writeAnalyzeAsync()
Ignore rules that cannot be applied: CU0002
A rule with a pattern that is not a regular expression, or with a Context or Gravity that is not one of the accepted values, no longer stops the run. It is left out and reported as a new Critical finding, CU0002, that says which rule and why. The rest of the report is produced, and no rule can hide that finding. Breaking: a broken pattern used to end the run with exit code 1 before the analysis; the run now completes with exit code 0, so a script that only checks the exit code has to look for CU0002 in the report.
- One
WARNINGline for each such rule is written on the error stream before the analysis starts CU0002is kept in the report filtered with--compliance- A number out of the list (
"Gravity": 99) is reported too: it was read without a warning and the rule never matched - A rule that matches no finding is valid: nothing is reported for it
- A rule with a pattern on a field the finding does not have no longer stops the run with an error
- A file that is not valid JSON still stops the run
- API:
DiagnosticIgnoreRule.Validate()returns the problems of a rule, to check it before it is saved.AnalyzeAsyncdoes not throw on a rule that is not valid: before, a broken pattern threw at the end of the analysis and the result was lost
Changed
- Messages of the checks: a colon in place of the long dash ("Cluster has lost quorum: VM operations may be blocked"); the parts of an API error are joined with " - ". The codes do not change: a filter on the text of a message has to be updated
- Windows executable icon
- NuGet package description
- Project metadata, symbols (Source Link,
.snupkg) and code style aligned with the other cv4pve tools
What's Changed
- docs: where cv4pve-diag fits next to cv4pve-report by @franklupo in #70
- docs(readme): show the report and compliance, reorder, drop repetitions by @franklupo in #71
- docs: Reading the report as its own page under Start here by @franklupo in #72
- fix(api): write the compliance standard as its name in JSON by @franklupo in #73
- docs: Matomo statistics, links to the cv4pve-report site by @franklupo in #74
- ci: use shared cv4pve-tools CI workflow and declare publish permissions by @franklupo in #75
- ci: use shared cv4pve-tools docs workflow by @franklupo in #76
- Align project metadata and symbols with the cv4pve tools by @franklupo in #77
- docs: Connection page with response files, shorter Getting started, theme 2.3.0 by @franklupo in #78
- docs: "Options in a file" instead of "response files" by @franklupo in #79
- docs: AI assistants page and cv4pve-diag skill by @franklupo in #80
- docs: shorter AI assistants page, no sandbox section, theme 2.6.0 by @franklupo in #81
- docs: theme 2.6.1 by @franklupo in #82
- docs: home page title for search results by @franklupo in #83
- docs: theme 2.6.2 by @franklupo in #84
- docs: page titles that match what people search, no em dashes by @franklupo in #85
- docs: home page button with border and arrow by @franklupo in #86
- chore: no em dashes by @franklupo in #87
- docs: hero steps, Getting started steps and theme 2.7.0 by @franklupo in #88
- chore(deps): bump source-map-js from 1.2.1 to 1.2.2 in /docs by @dependabot[bot] in #89
- chore(deps): bump sharp from 0.35.4 to 0.35.5 in /docs by @dependabot[bot] in #90
- docs(seo): social card, and a longer description for Troubleshooting by @franklupo in #91
- fix(ignore-rules): Node context and Info gravity match themselves, not any value by @franklupo in #92
- chore(deps): fix the two npm advisories of the docs site by @franklupo in #93
- chore(release): bump to 2.8.0 by @franklupo in #94
New Contributors
- @dependabot[bot] made their first contribution in #89
Full Changelog: v2.7.0...v2.8.0