Releases: luismpenholato/queryforge-mcp
Release list
QueryForge MCP v0.7.1
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
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.tsbefore 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
mainanddevelop. - 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-mcpexecutable and npm package name.
QueryForge MCP v0.6.2
Full Changelog: v0.6.1...v0.6.2
QueryForge MCP v0.6.1
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
requiresQueryRewriteandrewriteRequiredReasonfields onIndexCandidatepostRewriteEvaluationfield onIndexCandidateResult- Safer warnings and formatter output for rewrite-dependent index candidates
- Tests for derived-member exclusion, conditional candidates and combined function-on-column +
ToStringfilters
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
QueryForge MCP v0.6.0
This release adds conservative index candidate suggestions for LINQ/EF queries.
Added
suggest_index_candidatesMCP tool for conservative index candidate analysisIndexCandidateServiceextracting 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.cscontract 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
QueryForge MCP v0.5.0
This release adds structural query smell detection for LINQ/EF performance analysis.
Added
N_PLUS_ONE_QUERY_IN_LOOPMULTIPLE_ROUND_TRIPS_IN_LOOPCARTESIAN_PRODUCT_QUERYCORRELATED_SUBQUERY_IN_PROJECTIONIMPLICIT_CONVERSION_IN_FILTERDUPLICATED_PREDICATEFULL_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
QueryForge MCP v0.4.0
This release adds batch query analysis for reviewing multiple C# files or snippets at once.
Added
analyze_query_batchMCP 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
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_TRACKINGcan be applied as a safe fixCOUNT_GREATER_THAN_ZEROcan be rewritten toAny/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
.Yearand.Month ToString()inside query filtersContainsover 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
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
Wherebody 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
Wherepredicates using:.Year.Monthnew[] { ... }.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
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
Takeand large ordered result detection - Multiple
OrderBydetection - Multiple include warning
- Redundant month filter detection
- Enriched
QuerySmellcontract with:categorywhyItMattersrewritePlansafeAutoFix
Improved
analyze_querymarkdown 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