Skip to content

refactor: switch from Knetic/govaluate to projectdiscovery fork#305

Open
ChrisJr404 wants to merge 1 commit intoprojectdiscovery:mainfrom
ChrisJr404:refactor/projectdiscovery-govaluate
Open

refactor: switch from Knetic/govaluate to projectdiscovery fork#305
ChrisJr404 wants to merge 1 commit intoprojectdiscovery:mainfrom
ChrisJr404:refactor/projectdiscovery-govaluate

Conversation

@ChrisJr404
Copy link
Copy Markdown

Summary

github.com/Knetic/govaluate is archived. The maintained fork at github.com/projectdiscovery/govaluate is API-compatible and ships the bug fixes + perf improvements that have accumulated over the years (most recently nuclei#5580 quote-string parsing).

This swap unblocks the same migration on the nuclei side (see projectdiscovery/nuclei#7380) — without it, dsl's exported helper types collide with nuclei's import-path swap because go modules can't satisfy two different module paths from the same source.

Changes

  • engine.go, dsl.go, func.go, dsl_test.go, dsl_benchmark_test.go — replace github.com/Knetic/govaluate with github.com/projectdiscovery/govaluate in imports.
  • go.mod / go.sum — drop the Knetic require, add the projectdiscovery fork.

No public-API changes. The govaluate.ExpressionFunction / govaluate.NewEvaluableExpression* types and constructors that callers reach for stay shape-identical.

Tests

go test ./... — all packages still pass.

github.com/Knetic/govaluate has been archived. Switch all import paths
in the source tree and go.mod to the maintained fork at
github.com/projectdiscovery/govaluate (bug fixes + perf improvements,
API-compatible). All tests still pass.
@neo-by-projectdiscovery-dev
Copy link
Copy Markdown

neo-by-projectdiscovery-dev Bot commented May 5, 2026

Neo - PR Security Review

No security issues found

Comment @pdneo help for available commands. · Open in Neo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant