Skip to content

Releases: luismpenholato/queryforge-mcp

QueryForge MCP v0.7.1

Choose a tag to compare

@github-actions github-actions released this 12 Jul 12:14
881d335

Added

  • Added official documentation for the QueryForge ecosystem.
  • Added QueryForge Editor installation and usage guidance.
  • Added links between QueryForge MCP and QueryForge Editor.
  • Added ecosystem information to the community and support sections.

Changed

  • Updated the public API description to identify QueryForge Editor as an official consumer.
  • Clarified the relationship between QueryForge Editor and QueryForge MCP/Core.
  • Updated privacy documentation to describe the Editor's local-first integration.
  • Updated the roadmap now that QueryForge Editor is available as a separate project.
  • Updated pinned MCP installation examples to version 0.7.1.

Compatibility

  • Preserved all MCP tools and stdio server behavior.
  • Preserved the public programmatic API and npm package entry points.
  • No query rules or analysis behavior changed.

QueryForge MCP v0.7.0

Choose a tag to compare

@github-actions github-actions released this 11 Jul 17:18
f581368

Added

  • Added a Contributor Covenant code of conduct.
  • Added community links for contributing, security and project support.
  • Added structured GitHub issue forms for bug reports and feature requests.
  • Added a pull request template with validation and QueryForge safety checks.
  • Added private security reporting and project support links to the issue template configuration.
  • Added package validation for an existing npm tarball.
  • Added automatic release tag creation when a new package version reaches main.
  • Added a public programmatic API for editor, CLI and local tooling integrations.
  • Added structured source ranges, diagnostic fingerprints and query fixes.
  • Added post-build validation for compiled JavaScript and TypeScript declarations.
  • Added consumer-oriented TypeScript validation against the published package layout.
  • Added GitHub Sponsors configuration and package funding metadata.
  • Added consumer-oriented API and privacy documentation.
  • Added automated release notes extracted from the matching changelog version.
  • Added npm package tarball attachment to GitHub Releases.

Fixed

  • Fixed the release workflow validating a different tarball from the artifact published to npm.
  • Fixed package validation to inspect the actual archive contents and compiled entry points.
  • Moved automatic tag creation after tests, build, public API validation and npm tarball validation to avoid leaving unreleasable tags after validation failures.
  • Fixed clean CI runs failing because unit tests required dist/public-api.d.ts before the build step.
  • Fixed expected negative release-script tests polluting CI output with error messages.

Changed

  • Updated the package description to reflect both MCP server and TypeScript library usage.
  • Reduced automatic release triggers to package version, lockfile, changelog, MCP server version and release workflow changes.
  • Updated the release workflow to create the version tag, publish npm and create the GitHub Release in a single execution.
  • Updated the release workflow to validate, publish and attach the same npm tarball.
  • Moved compiled declaration validation from Vitest unit tests to post-build API validation.
  • Improved npm package validation and release consistency checks.
  • Updated analysis summaries to use English messages.
  • Improved separation between the analysis core and MCP presentation layer.
  • Updated CI to validate both main and develop.
  • Updated the publishing workflow to publish the exact validated npm tarball.
  • Updated GitHub Releases to use curated changelog content instead of generated notes.

Compatibility

  • Preserved all existing MCP tools and stdio execution behavior.
  • Preserved the existing queryforge-mcp executable and npm package name.

QueryForge MCP v0.6.2

Choose a tag to compare

@github-actions github-actions released this 07 Jun 20:07

Full Changelog: v0.6.1...v0.6.2

QueryForge MCP v0.6.1

Choose a tag to compare

@luismpenholato luismpenholato released this 06 Jun 20:32

QueryForge MCP v0.6.1

This release improves safety and guidance for suggest_index_candidates.

Fixed

  • Index candidate extraction no longer treats derived members like Year, Month, ToString, ToLower, etc. as real table columns
  • Function-on-column queries now produce conditional candidates on base columns instead of invalid indexes like IX_Pedidos_Year_DataPedido
  • Non-sargable filter columns such as ToString().Contains(...) are excluded from automatic composite index keys

Added

  • requiresQueryRewrite and rewriteRequiredReason fields on IndexCandidate
  • postRewriteEvaluation field on IndexCandidateResult
  • Safer warnings and formatter output for rewrite-dependent index candidates
  • Tests for derived-member exclusion, conditional candidates and combined function-on-column + ToString filters

Changed

  • Summary text now distinguishes conditional candidates requiring query rewrite from direct candidates
  • Formatter messaging now separates:
    • direct candidates
    • rewrite-dependent candidates
    • post-rewrite evaluation notes
  • Global warnings now reinforce that creating indexes before query rewrite is usually maintenance cost without gain
  • Covering indexes remain a manual advanced decision

Validation

  • Build passing
  • Test suite passing

QueryForge MCP v0.6.0

Choose a tag to compare

@luismpenholato luismpenholato released this 06 Jun 20:31

QueryForge MCP v0.6.0

This release adds conservative index candidate suggestions for LINQ/EF queries.

Added

  • suggest_index_candidates MCP tool for conservative index candidate analysis
  • IndexCandidateService extracting equality, range and ordering columns from LINQ/EF queries
  • Provider-specific SQL formatting for relational databases:
    • SQL Server
    • PostgreSQL
    • MySQL
    • MariaDB
    • SQLite
    • Oracle
  • Warnings when query smells may prevent effective index usage
  • examples/index-candidate-query.cs contract sample with integration test
  • Tests for index candidate service and markdown formatter

Safety

  • QueryForge does not inspect real database schema, existing indexes or execution plans
  • Every suggestion is an index candidate requiring manual review
  • Cosmos DB, MongoDB and In-Memory providers do not receive relational SQL output

QueryForge MCP v0.5.0

Choose a tag to compare

@luismpenholato luismpenholato released this 06 Jun 19:47

QueryForge MCP v0.5.0

This release adds structural query smell detection for LINQ/EF performance analysis.

Added

  • N_PLUS_ONE_QUERY_IN_LOOP
  • MULTIPLE_ROUND_TRIPS_IN_LOOP
  • CARTESIAN_PRODUCT_QUERY
  • CORRELATED_SUBQUERY_IN_PROJECTION
  • IMPLICIT_CONVERSION_IN_FILTER
  • DUPLICATED_PREDICATE
  • FULL_ENTITY_MATERIALIZATION

Improved

  • Batch risk scoring now includes structural smell bonuses.
  • Added combo bonuses for high-risk combinations.
  • Added structural query smell example contract.
  • Expanded test coverage to 114 tests.

Why it matters

QueryForge can now distinguish between simple EF improvements and deeper query shape problems such as N+1 queries, cartesian products, correlated subqueries and unnecessary full entity materialization.

Validation

  • 114 tests passing
  • Build passing

QueryForge MCP v0.4.0

Choose a tag to compare

@luismpenholato luismpenholato released this 06 Jun 19:34

QueryForge MCP v0.4.0

This release adds batch query analysis for reviewing multiple C# files or snippets at once.

Added

  • analyze_query_batch MCP tool
  • Batch query analysis service
  • Risk scoring by file
  • Top risky files ranking
  • Batch analysis markdown formatter
  • Tests for batch analysis and formatter

Behavior

  • Does not read files from disk
  • The MCP client provides { path, content }[]
  • Ranks files using severity and high-impact smell bonuses
  • Prioritizes non-sargable filters and premature materialization over basic read-only suggestions

Validation

  • 99 tests passing
  • Build passing

Notes

QueryForge remains conservative and heuristic. It does not connect to databases, execute SQL, modify files automatically or replace execution plan validation.

QueryForge MCP v0.3.2

Choose a tag to compare

@luismpenholato luismpenholato released this 06 Jun 19:09

QueryForge MCP v0.3.2

This release improves suggest_ef_rewrite so it behaves as a conservative EF rewrite advisor instead of echoing the original code when unsafe smells are detected.

Added

  • Safe rewrite guidance for advanced LINQ/EF performance smells
  • Partial rewrite mode
  • Structured rewrite plan output
  • Conceptual guidance for DateTime range filters
  • Guidance for unsafe ToString().Contains(...) filters
  • Tests for EF rewrite guidance scenarios

Improved

  • MISSING_AS_NO_TRACKING can be applied as a safe fix
  • COUNT_GREATER_THAN_ZERO can be rewritten to Any / AnyAsync
  • Unsafe smells now return manual review guidance instead of silent/no-op output

Safety

QueryForge does not automatically rewrite business-sensitive filters such as:

  • Date/time member filters like .Year and .Month
  • ToString() inside query filters
  • Contains over converted values
  • String transformations inside Where
  • Client-side methods inside query predicates
  • Large ordered result sets

Validation

  • 91 tests passing
  • Build passing

QueryForge MCP v0.3.1

Choose a tag to compare

@luismpenholato luismpenholato released this 06 Jun 19:02

QueryForge MCP v0.3.1

This release fixes DateTime member detection inside complex LINQ Where filters.

Fixed

  • Fixed false negatives in FUNCTION_ON_COLUMN_FILTER
  • Improved Where body extraction using balanced parentheses
  • Date/time members are now detected inside multiline predicates and nested expressions
  • Added contract example for function-on-column queries

Improved

  • Report output now highlights possible non-sargable filters
  • Added tests for complex Where predicates using:
    • .Year
    • .Month
    • new[] { ... }.Contains(...)
    • .ToString()!.Contains(...)

Validation

  • 85 tests passing
  • Build passing

Notes

QueryForge remains heuristic and does not execute SQL or inspect execution plans. This fix improves detection coverage for common EF/LINQ patterns that may translate to functions on database columns.

QueryForge MCP v0.3.0

Choose a tag to compare

@luismpenholato luismpenholato released this 06 Jun 18:54

QueryForge MCP v0.3.0

This release introduces advanced LINQ/EF performance analysis focused on real-world query issues such as non-sargable filters, premature materialization, heavy pagination and risky query translation patterns.

Added

  • 15 new performance rules
  • Advanced sargability checks
  • Materialization-before-filter/order/pagination detection
  • Client-side method detection inside Where
  • Large Take and large ordered result detection
  • Multiple OrderBy detection
  • Multiple include warning
  • Redundant month filter detection
  • Enriched QuerySmell contract with:
    • category
    • whyItMatters
    • rewritePlan
    • safeAutoFix

Improved

  • analyze_query markdown output now includes category, impact explanation, rewrite plan and auto-fix safety.
  • Added advanced LINQ example contract.
  • Expanded tests to 75 passing tests.

Notes

QueryForge remains conservative:

  • It does not connect to databases
  • It does not execute SQL
  • It does not modify files automatically
  • It does not replace execution plan analysis
  • Some detections are heuristic and may produce false positives or false negatives in complex code