Skip to content

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

Merged
Mzack9999 merged 1 commit into
projectdiscovery:mainfrom
ChrisJr404:refactor/projectdiscovery-govaluate
May 7, 2026
Merged

refactor: switch from Knetic/govaluate to projectdiscovery fork#305
Mzack9999 merged 1 commit into
projectdiscovery:mainfrom
ChrisJr404:refactor/projectdiscovery-govaluate

Conversation

@ChrisJr404
Copy link
Copy Markdown
Contributor

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

@Mzack9999 Mzack9999 merged commit 5d28fd1 into projectdiscovery:main May 7, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Type: Maintenance Updating phrasing or wording to make things clearer or removing ambiguity.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Replace github.com/Knetic/govaluate with github.com/projectdiscovery/govaluate

2 participants