Changelog
Release history and version updates for eslint-plugin-pg
Live from GitHub
This changelog is fetched directly from CHANGELOG.md on GitHub and cached for 2 hours.
[1.4.3] - 2026-02-08
1.4.7
Patch Changes
- #252
d67e395Thanks @ofri-peretz! - Fix Codecov badge showing "unknown" — switch from flag to component URL format
1.4.6
Patch Changes
- #225
34ff5a8Thanks @ofri-peretz! - CI-only: pin all coverage thresholds at 100% (integration target, merges last).
1.4.5
Patch Changes
-
#213
391dbe6Thanks @ofri-peretz! - Align every security rule'smeta.docs.cvssto the CVSS its finding actually emits. The emitted machine-readable message sources itsCVSS:xfromCWE_MAPPINGviaformatLLMMessage→enrichFromCWE, but the staticmeta.docs.cvssdocumentation field had drifted on 45 rules across these 7 plugins — e.g.no-hardcoded-credentialsdocumented9.5while emittingCVSS:9.8(the value the published article and SARIF/LLM consumers already read).This corrects the documentation metadata only — no emitted finding changes. Locked by
security-cvss-docs-consistency.lock.test.ts(cross-plugin: every security rule'smeta.docs.cvssmust equal the CVSS it emits), theno-hardcoded-credentialsrule lock (real ESLintLinteremission), and a devkitenrichFromCWEcontract test pinningCWE-798 → 9.8.Follow-up (not in scope): 50 security rules document a CVSS that never appears in any emitted message (their messages carry no CWE), and several rules emit the generic CWE score where a rule-specific score may be warranted — both change emitted output and are separate decisions.
1.4.4
Patch Changes
-
#143
213cde1Thanks @ofri-peretz! - fix(no-missing-null-checks): eliminate 53 false positives via three new narrowing patternsRules that were recognized as null guards are now correctly identified as safe:
- Truthy if guard —
if (obj) { obj.prop }— direct truthy check proves non-null. Also covers chains:if (response)protectsresponse.data.items. - Short-circuit AND —
obj && obj.prop— right side of&&only runs when left is truthy. - Ternary consequent —
obj ? obj.prop : fallback— truthy test guards the consequent.
Also: bumped
beforeAlltimeout to 30 seconds in 7 compatibility test files (__compatibility__/*.spec.ts). Native-addon packages routinely exceed the previous 10-second default on a cold ESM load. - Truthy if guard —
-
Updated dependencies [
736a5fe]:- @interlace/eslint-devkit@1.4.1
Bug Fixes
- align codecov component IDs with full package names (2831b968)
- resolve all benchmark FN/FP across security rules (45ffb791)
Documentation
- fix changelog header format across all packages (c3a15082)
❤️ Thank You
- Ofri Peretz
[1.4.2] - 2026-02-06
Bug Fixes
- align codecov component names and update docs components (0a59a86c)
❤️ Thank You
- Ofri Peretz
[1.4.1] - 2026-02-02
This was a version bump only for eslint-plugin-pg to align it with other projects, there were no code changes.
Changelog
All notable changes to eslint-plugin-pg will be documented in this file.
[0.0.1] - 2024-12-20
Added
- Initial release with 13 rules for PostgreSQL security and best practices
Security Rules (6)
no-unsafe-query- Prevents SQL injection via string interpolationno-insecure-ssl- Prevents disabling SSL certificate validationno-hardcoded-credentials- Prevents hardcoded passwords in configno-unsafe-search-path- Prevents dynamic search_path hijackingno-unsafe-copy-from- Prevents COPY FROM file path exposureno-transaction-on-pool- Prevents transaction commands on pool
Resource Management Rules (3)
no-missing-client-release- Ensures pool clients are releasedprevent-double-release- Prevents double client.release()no-floating-query- Ensures query promises are handled
Quality & Performance Rules (4)
check-query-params- Validates parameter count matches placeholdersno-select-all- Discourages SELECT *prefer-pool-query- Suggests pool.query() for simple queriesno-batch-insert-loop- Prevents N+1 mutation queries
Presets
recommended- Balanced security and quality settingsstrict- All rules as errors
Documentation
- Full documentation for all 13 rules
- AGENTS.md for AI assistant integration
- Benchmark folder for capability demonstration
View on GitHub →
Building secure JavaScript with Interlace? Star the repo to get new rules and CWE coverage as we ship them — or follow the AI-code-security benchmarks behind them.