Releases: cloudflare/pint
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.
v0.67.1
Fixed
- Improved message formatting in the alerts/template check.
v0.67.0
Added
-
Added
--checkstyle
flag topint lint
&pint ci
for writing XML report file
incheckstyle
format - #1129. -
Added
--json
flag to bothpint lint
andpint ci
commands, this enables writing a JSON file
with the report of all problems #606. -
promql/fragile will now warn when alerting rules are using
one of the aggregation operation that can return different series on every evaluation,
which can cause alert floppiness - #820. -
promql/regexp check now supports extra configuration options
to disable reports on smelly selector - #1096. -
Checks can be enabled or disabled specifically for some Prometheus rules via
rule {}
config blocks.
Addingenable
ordisable
option with a list of checks names allows to selectively enable or disable
checks only for Prometheus rules that match givenrule {}
definition.
Enabling checks only for matching rules will only work if these checks are disabled globally via
check { disabled = [] }
config block.
For example to disablepromql/rate
check for all rules except alerting rules in therules/critical
folder:checks { // This will disable promql/rate by default. disabled = [ "promql/rate" ] } rule { match { path = "rules/critical/.*" kind = "alerting" } // This will enable promql/rate only for Prometheus rules matching all our match conditions above. enable = [ "promql/rate" ] }
Changed
- alerts/template check was refactored and will now produce more accurate results.
Messages produced by this check might include details of the PromQL query fragment causing the problem
if the query is complex enough.
Fixed
- Don't try to create GitLab comments on unmodified lines - #1147.
v0.66.1
Fixed
- Fixed message formatting in the promql/series check.
v0.66.0
Added
- Added
fallbackTimeout
option to the promql/series check
that controls how much time pint can spend checking other Prometheus servers for missing
metrics.
Fixed
- Reverted
Fixed colored output on some environments - #1106
change
as it was breaking GitHub report comments. - Fixed panics in rule/duplicate check.
v0.65.3
Fixed
- Fixed GitHub actions permissions.
v0.65.1
Fixed
- Fixed a bug in
match
blockstate
handling that caused all rules to always match any state.
v0.65.0
Added
- promql/regexp check will now look for smelly regexp selectors.
See check docs for details. - promql/range_query now allows to configure a custom maximum
duration for range queries - #1064. - Added
--enabled
flag to the pint command. Passing this flag will only run selected check(s). - Added
state
option to the rulematch
block. See configuration docs for details.
Fixed
- Don't try to report problem on unmodified files when using GitHub reporter.
- If there is a pint config file present then pint will now always add it to the
parser
blockexclude
list.
This is to avoid trying to parse it as a rule file if it's included in the same folder as rules.