./devel/regal, Linter for Rego

[ CVSweb ] [ Homepage ] [ RSS ] [ Required by ] [ Add to tracker ]


Branch: CURRENT, Version: 0.31.1nb1, Package name: regal-0.31.1nb1, Maintainer: leot

Regal is a linter for Rego, with the goal of making your Rego
magnificent!

Regal goals are:

- Identify common mistakes, bugs and inefficiencies in Rego policies,
and suggest better approaches
- Provide advice on best practices, coding style, and tooling
- Allow users, teams and organizations to enforce custom rules on their
policy code

Regal rules are to as large extent as possible written in Rego
themselves, using the JSON representation of the Rego abstract syntax
tree (AST) as input, a few additional custom built-in functions and
some indexed data structures to help with linting.


Master sites:

Filesize: 4914.507 KB

Version history: (Expand)


CVS history: (Expand)


   2025-03-07 21:54:34 by Benny Siegert | Files touched by this commit (190) | Package updated
Log message:
Revbump all Go packages after go124 update

I realize I forgot to do the revbump after updating the default Go
version to 1.24, so let's do that now.
   2025-03-02 17:04:11 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
regal: Update to 0.31.1

Changes:
0.31.1
------
This patch release fixes some issues reported by users, as well as some
encountered while working on Regal. Most notably:

- Fix issue where configured `ignore` values had no effect if Regal ran
  from the root directory
- Fix issue in language server when files with `:` in their name are
  present in the workspace
- Fix issue in language server where Code Lens annotations (like
  Evaluate and Debug) would appear and reappear quickly when parse errors
  where encountered and fixed, leading to a "flickering" editor window

0.31.0
------
This release of Regal updates to OPA v1.1.0, continuing to solidify
support for v1 Rego with some nice new rules, performance improvements
and bug fixes too.

- New Rule: `use-object-keys`
- New Rule: `non-loop-expression`
- Fixing `non-raw-regex-pattern`
- Configuration File Loading:
  Regal will now use a `~/.config/regal` if no parent configuration is
  found. This is useful when working on Rego in temporary
  directories.
  Regal's language server will now use configuration files in the
  workspace tree  if they exist rather than only looking at parent
  directories. This more  closely matches the behavior of the lint
  command.  https://github.com/StyraInc/regal/pull/1372
   2025-01-19 18:39:31 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
regal: Update to 0.30.2

Changes:
0.30.2
This release includes a fix for an issue where a missing Regal dir
would cause a fatal error when running regal fix (1341), thanks
grosser for the report again.

Also included is a fix for an issue where Regal would template files
without a Regal extension after renaming them from a Rego file.

0.30.1
Regal v0.30.1 is a patch release following the significant v0.30.0
release with first class OPA v1.0.0 support. This patch release
addresses some issues discovered in the language server relating to the
OPA update as well as a minor new feature.
   2025-01-15 14:49:57 by Leonardo Taccari | Files touched by this commit (3)
Log message:
regal: Update to 0.30.0

Changes:
Regal v0.30.0 is the first release to fully support OPA 1.0 while at
the same time being fully compatible with older versions of OPA and
Rego. This process helped improve both Regal and OPA, as a few things
to fix in both projects got identified along the way!

- Full support for OPA 1.0, while maintaining compatibility with
  earlier versions
- Much faster linting
   2024-11-22 18:53:41 by Leonardo Taccari | Files touched by this commit (3)
Log message:
regal: Update to 0.29.2

Changes:
v0.29.2
This patch release fixes an issue where the new defer-assignment rule
would sometimes report a false positive when the variable was used
inside of a `with` clause on the next line.

v0.29.1
This patch release fixes an issue where custom (i.e. user-created)
aggregate rules wouldn't work as expected when the condition for a
violation was the absence of aggregated data. This could for example be
a rule that says "at least one rule must be named allow, and it must
have a default assignment to `false`".

v0.29.0
This is a big release, spanning more than a month of development!
Regal v0.29.0 brings new linter rules, performance improvements and new
features to both the linter and the language server.

New rules:
 - defer-assignment
 - walk-no-path
 - rule-assigns-default

Misc improvements and bug fixes.
   2024-09-06 20:49:02 by Benny Siegert | Files touched by this commit (180) | Package updated
Log message:
Revbump all Go packages after go122 update
   2024-08-19 17:16:08 by Leonardo Taccari | Files touched by this commit (3) | Package updated
Log message:
regal: Update to 0.25.0

Changes:
0.25.0
------
This release brings 2 new rules to the Regal linter as well as a number
of improvements to the Regal Language Server.

Rules
-----
- New rule unused-output-variable
- New rule use-strings-count
- Other Rule Updates

Linter
------
- JUnit XML output format is now a supported by regal lint
- Regal's version of OPA has been updated to v0.67.0
- The --var-values flag from opa test (added to OPA in v0.66.0) is now
  supported by the regal test command. This allows custom policy authors
  to see the the variable values in scope of a failed test.

Regal Language Server
---------------------
- Code Lens Support
- Improved formatter
   2024-08-11 17:57:15 by Benny Siegert | Files touched by this commit (176) | Package updated
Log message:
Revbump all Go packages after update