Releases: haroya01/query-audit
Releases · haroya01/query-audit
Release list
v0.4.0
v0.3.2
0.3.2 (2026-05-21)
Bug Fixes
v0.3.1
0.3.1 (2026-05-19)
Bug Fixes
- core: exclude temp/staging tables from RepeatedSingleInsertDetector (#129) (#135) (4018a23)
- core: make CountInsteadOfExistsDetector opt-in (#126) (#138) (31aaf6c)
- core: make isQuerySuppressed literal- and word-boundary aware (#124) (#140) (908b081)
- core: mask string literals before SELECT * detection (#145) (b926522)
- core: resolve schema-qualified table names against unqualified metadata (#128) (#136) (b1d8543)
- core: suppress DistinctMisuse rule when query contains a JOIN (#127) (#137) (8fbcafb)
- core: suppress ImplicitTypeConversion on known-numeric _code columns (#125) (#139) (f409bce)
- core: unquote backtick/double-quoted table tokens in alias resolution (#82) (304ccf1)
- junit5: detach QueryInterceptor from shared ProxyDataSource in afterAll (#146) (6ec2f25)
- spring-boot-starter: add query-audit.wrap-data-source escape hatch (#134) (#142) (e71a226)
v0.3.0
0.3.0 (2026-04-22)
Features
- core: add GitHubActionsReporter with auto-activation under GITHUB_ACTIONS (#120) (1eb3b50), closes #85
- detect findById() used only for FK association and suggest getReferenceById() (f04512b)
- detect findById() used only for FK association and suggest getReferenceById() (e4e9fcb)
- exclude @BeforeEach/@AfterEach queries from detection (#35) (265e580)
- exclude @BeforeEach/@AfterEach queries from detection (#35) (322ea0b)
- initial release of (97fb488)
- initial release of QueryAudit (1657773)
- initial release of QueryAudit (2c02bc1)
- reduce unbounded-result-set false positives by return type analysis (4ba0b58)
- reduce unbounded-result-set false positives by return type analysis (a1aeddf)
- route extract/removeSubqueries through JSqlParser (#109) (a92e801)
Bug Fixes
- apply application.yml settings as defaults when @QueryAudit is present (f3958bf)
- apply application.yml settings as defaults when @QueryAudit is present (#53) (4436624)
- core: detector bug cluster — 8 issues, one commit each (#117) (5efb35c), closes #96
- core: SqlParser comma-in-literal and quoted schema-qualified tables (#112) (c0d9df4), closes #102 #103
- exclude COUNT(...) > ? pattern from count-instead-of-exists dete… (3bdfe0d)
- exclude COUNT(...) > ? pattern from count-instead-of-exists detection (b57c562)
- exclude JPA existsBy* queries from limit-without-order-by detection (#34) (6bb644e)
- exclude JPA existsBy* queries from limit-without-order-by detection (#34) (02113c4)
- explicit annotation should override CI detection for autoOpenReport (f744bf8)
- guard against NPE when expression-based index has null columnName (141da5d)
- guard against NPE when expression-based index has null columnName (#31) (af36456)
- handle multi-column WHERE and FETCH FIRST in UnboundedResultSetDetector (#32) (98299cb)
- handle multi-column WHERE conditions in UnboundedResultSetDetector (#32) (41e44e2)
- improve HTML report text selection and checkbox persistence (b083459)
- improve HTML report text selection and checkbox persistence (16e3dc3)
- junit5: call QueryAuditDataSourceStore.clear() in afterAll (#118) (ec707cc), closes #100
- junit5: unregister Hibernate LazyLoadTracker in afterAll (#113) (289f3e8), closes #101
- OrAbuseDetector: suppress false positives when index_merge applies (e19f3ac)
- OrAbuseDetector: suppress false positives when index_merge applies (9d2c12a)
- preserve PSQL double-quoted identifiers in SQL normalization (a680711)
- preserve PSQL double-quoted identifiers in SQL normalization (#52) (5eddaab)
- remove undefined DOUBLE_QUOTED reference (a52a279)
- resolve merge conflict in (b95e617)
- resolve merge conflict in (56e2075)
- resolve merge conflict in IndexMetadataCollector.java (419e9f6)
- resolve merge conflicts with origin/main (01ba48a)
- resolve merge conflicts with origin/main (2c0e33c)
- resolve merge conflicts with origin/main (786df23)
- split N_PLUS_ONE into separate issue types for SQL-level and Hib… (45fc0d1)
- split N_PLUS_ONE into separate issue types for SQL-level and Hibernate-level detectors (b6b63a5)
- split N_PLUS_ONE into separate issue types for SQL-level and Hibernate-level detectors (188df2b)
- spring-boot-starter: rename bean methods to queryAudit prefix (#114) (0391189), closes #104
- support composite unique index in unbounded-result-set detection (#33) (973fb06)
- use (b2dfdf0)
- use DB-only index metadata when provider is available (#43) (f7304e1)
- use DB-only index metadata when provider is available (#43) (5baaa94)
- write HTML report once after all test classes complete (#41) (b1adeb0)
- write HTML report once after all test classes complete (#41) (4ad3382)
v0.2.0
0.2.0 (2026-04-15)
Features
- detect findById() used only for FK association and suggest getReferenceById() (f04512b)
- detect findById() used only for FK association and suggest getReferenceById() (e4e9fcb)
- exclude @BeforeEach/@AfterEach queries from detection (#35) (265e580)
- exclude @BeforeEach/@AfterEach queries from detection (#35) (322ea0b)
- reduce unbounded-result-set false positives by return type analysis (4ba0b58)
- reduce unbounded-result-set false positives by return type analysis (a1aeddf)
Bug Fixes
- apply application.yml settings as defaults when @QueryAudit is present (f3958bf)
- apply application.yml settings as defaults when @QueryAudit is present (#53) (4436624)
- exclude COUNT(...) > ? pattern from count-instead-of-exists dete… (3bdfe0d)
- exclude COUNT(...) > ? pattern from count-instead-of-exists detection (b57c562)
- exclude JPA existsBy* queries from limit-without-order-by detection (#34) (6bb644e)
- exclude JPA existsBy* queries from limit-without-order-by detection (#34) (02113c4)
- explicit annotation should override CI detection for autoOpenReport (f744bf8)
- guard against NPE when expression-based index has null columnName (141da5d)
- guard against NPE when expression-based index has null columnName (#31) (af36456)
- handle multi-column WHERE and FETCH FIRST in UnboundedResultSetDetector (#32) (98299cb)
- handle multi-column WHERE conditions in UnboundedResultSetDetector (#32) (41e44e2)
- improve HTML report text selection and checkbox persistence (b083459)
- improve HTML report text selection and checkbox persistence (16e3dc3)
- OrAbuseDetector: suppress false positives when index_merge applies (e19f3ac)
- OrAbuseDetector: suppress false positives when index_merge applies (9d2c12a)
- preserve PSQL double-quoted identifiers in SQL normalization (a680711)
- preserve PSQL double-quoted identifiers in SQL normalization (#52) (5eddaab)
- remove undefined DOUBLE_QUOTED reference (a52a279)
- resolve merge conflict in (b95e617)
- resolve merge conflict in (56e2075)
- resolve merge conflict in IndexMetadataCollector.java (419e9f6)
- resolve merge conflicts with origin/main (01ba48a)
- resolve merge conflicts with origin/main (2c0e33c)
- resolve merge conflicts with origin/main (786df23)
- split N_PLUS_ONE into separate issue types for SQL-level and Hib… (45fc0d1)
- split N_PLUS_ONE into separate issue types for SQL-level and Hibernate-level detectors (b6b63a5)
- split N_PLUS_ONE into separate issue types for SQL-level and Hibernate-level detectors (188df2b)
- support composite unique index in unbounded-result-set detection (#33) (973fb06)
- use (b2dfdf0)
- use DB-only index metadata when provider is available (#43) (f7304e1)
- use DB-only index metadata when provider is available (#43) (5baaa94)
- write HTML report once after all test classes complete (#41) (b1adeb0)
- write HTML report once after all test classes complete (#41) (4ad3382)