Releases: cloudflare/pint
v0.71.3
Fixed
- Some parts of comments reported to GitHub & GitLab were not using collapsible blocks as intended.
v0.71.2
Fixed
- Print only relevant lines when reporting problems.
- Make comments reported to GitHub & GitLab more compact by using collapsible blocks.
v0.71.1
Fixed
- Don't create empty markdown blocks when reporting problems to GitHub & GitLab.
- Added missing problem details to comments reported to BitBucket.
v0.71.0
Added
- Added
namesoption to theparserblock, which controls how does Prometheus validates
label names. - Added promql/impossible check. This check duplicates some
of the functionality of the promql/vector_matching so
in the future the scope of promql/vector_matching checks
will be reduced to avoid duplicated reports for the same issue. - Added
ignoreMatchingElsewhereoption to promql/series check.
Changed
- Removed aggregation checks from the promql/fragile check - #1289.
- promql/regexp check severity was reduced from
bugto awarning. - This release contains some major changes to the way problems are reported by pint.
Each problem might now point to the specific part of the PromQL query that caused the issue
rather than just the line range on which the query is defined. Most, but not all, checks
were updated to emit more detailed problem descriptions.
Fixed
- Improved the logic of promql/series check to skip checks on some selectors
which absence might be expected. For example usingfoo unless barwill now only havefoo
tested whilebaris ignored by this check. This is because the query implies thatbar
might be present or missing and depending on thatfoois evaluated. - Don't report regexp matchers with only digits in them (
{code=~"5.*"}) as smelly in promql/regexp check.
v0.70.0
Added
- When running
pint watchcommand/healthHTTP endpoint can now be used for liveness probes.
Changed
-
When pint runs online checks against Thanos or other service that implements some, but not all, Prometheus APIs
it would reports errors due to some API requests returning404 Not FoundHTTP errors.
Now pint will automatically disable checks that rely on Prometheus API endpoints that are not supported
and create a summary comment (when runningpint ci) that lists disabled checks.
This applies to these API endpoints:/api/v1/status/config/api/v1/status/flags/api/v1/metadata
v0.69.1
Fixed
# pint file/ownercomments were not validated properly for files with no rules.
This is now fixed.
v0.69.0
Added
-
Added
schemaoption to theparserconfiguration block for setting rule validation
schema. This option is only used when files are parsed in strict mode - which is when
rule file path does NOT match any of theparser:relaxedregex values or when simply
parser:relaxedis not set at all.
Default value isprometheusand tells pint to expect rule files with the schema
expected by Prometheus itself. If you use pint to validate rules loaded into Thanos Rule
component then setschematothanosin your pint config file:parser { schema = "thanos" }
File schema when using
schema: prometheus(default):groups: - name: example rules: - record: ... expr: ... - alert: ... expr: ...
When using
schema: thanos:groups: - name: example partial_response_strategy: abort rules: - record: ... expr: ... - alert: ... expr: ...
-
Rules configured in
pintconfig can now be locked - when a rule is locked it cannot
be disabled by users by adding a# pint disable ...or# pint snooze ...comments.
Fixed
- The console reporter won't color the output if
--no-colorflag is set.
v0.68.0
Added
- Added rule/report check.
Changed
-
pint now uses Prometheus 3.0 libraries
for parsing PromQL, which adds support for new query syntax that allows for dots and UTF-8 chars
in metric/label names, example:{"status.üp"} == 0
-
promql/rate will now report a warning if it detects a
rate(sum(...))
but doesn't have metadata to confirm if...is a counter or not.
v0.67.3
Fixed
- Fixed a crash when parsing
vector()calls with non-number arguments.
v0.67.2
Fixed
- Improved the accuracy of alerts/template check.