Skip to content

Releases: haroya01/query-audit

v0.4.0

Choose a tag to compare

@haroya01 haroya01 released this 07 Jul 01:10
b5da511

0.4.0 (2026-07-07)

Features

  • junit5: add @ExpectQueries type-separated query budget annotation (#160) (6125be8)

v0.3.2

Choose a tag to compare

@haroya01 haroya01 released this 21 May 12:54
897a7e4

0.3.2 (2026-05-21)

Bug Fixes

  • core: wrap ProxyDataSource in NonClosingDataSource to avoid Spring destroy cascade (#153) (#154) (8ae293a)
  • mysql: lower-case map key when populating IndexMetadata (#148) (#156) (595a1a7)
  • postgresql: scope CARDINALITY_QUERY and INDEX_QUERY to current_schema() (#147) (#155) (fdda030)

v0.3.1

Choose a tag to compare

@haroya01 haroya01 released this 19 May 03:01
ee56252

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

Choose a tag to compare

@haroya01 haroya01 released this 22 Apr 05:35
b3b6246

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

Choose a tag to compare

@haroya01 haroya01 released this 15 Apr 17:53

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)

v0.1.0

Choose a tag to compare

@haroya01 haroya01 released this 25 Mar 18:34

Initial release of QueryAudit. Published to Maven
Central.