Skip to content

v0.4.0-beta

Latest

Choose a tag to compare

@rrobetti rrobetti released this 13 Mar 19:44
· 19 commits to main since this release

What's Changed

  • Feat/ojp 74 by @labg94 in #177
  • Implement Connection Pool Abstraction with Apache Commons DBCP provider by @Copilot in #151
  • XA pool implementation: Complete SPI, CommonsPool2XAProvider, Phase 1 full integration, unified configuration, and comprehensive documentation by @Copilot in #192
  • Fix XA transaction failure with Spring Boot + Narayana - Session sanitization and flag routing by @Copilot in #194
  • Implement unified connection model for XA and non-XA with SessionTracker, separated pool configuration, dynamic pool rebalancing, and dual-condition session lifecycle by @Copilot in #195
  • Implement pool disable capability for Non-XA and XA connections by @Copilot in #197
  • Add drop-in external libraries folder for proprietary JDBC drivers and libraries by @Copilot in #198
  • Complete Implementation: Moving open source JDBC drivers to ojp-libs directory by @Copilot in #200
  • Fix SLF4J conflict with Spring Boot and add configurable Logback settings by @Copilot in #213
  • Fix transaction isolation state pollution in all connection pools with READ_COMMITTED default by @Copilot in #212
  • Refactor StatementServiceImpl: Implement connect() method using Action pattern by @Copilot in #214
  • Add comprehensive SPI implementation guide and ADR for Java developers by @Copilot in #199
  • Analysis: Do not replace Apache Commons Pool 2 with Agroal for XA connection pooling by @Copilot in #236
  • Implement housekeeping features (leak detection, max lifetime, diagnostics) for XA connection pool by @Copilot in #238
  • SQL enhancer engine using Apache Calcite - Integration, Validation, Caching with XXHash, and Documentation by @Copilot in #237
  • Remove XXHash from SQL Enhancer Engine cache, use original SQL as keys by @Copilot in #241
  • Complete Implementation: Query optimization and rewriting in SQL Enhancer Engine with configuration support by @Copilot in #242
  • Implement dynamic database schema loader for SQL query optimization by @Copilot in #243
  • Add Meterian security scan as separate workflow by @Copilot in #246
  • Upgrade protobuf-java to 3.25.8 to fix CVE-2024-7254 by @Copilot in #247
  • Fix security vulnerabilities in Netty, lz4, and Apache Commons Lang3 dependencies by @Copilot in #249
  • Fix CVE-2025-11226, CVE-2025-58057, CVE-2025-67735, CVE-2025-58056, CVE-2025-55163 by @Copilot in #248
  • Fix CVE-2025-67735 and CVE-2025-48924 by centralizing dependency management by @Copilot in #250
  • Upgrade dependencies to latest stable versions by @Copilot in #251
  • Update Java dependencies to latest compatible versions by @Copilot in #252
  • Add Apache Calcite query complexity analysis for slow query segregation by @Copilot in #255
  • Implements #229 - Refactor XA transaction handling by introducing XaForgetAction class by @felipestanzani in #256
  • Transform Partners section to table with descriptions and links by @Copilot in #244
  • Upgrade protobuf-java from 4.33.3 to 4.33.4 by @Copilot in #257
  • Add percentile latencies, max latency, throughput, and JVM metrics to PostgreSQL stress tests by @Copilot in #259
  • Add second OJP server with SQL enhancer to postgres-test CI workflow by @Copilot in #253
  • Remove redundant JDBC driver registration from StatementServiceImpl by @Copilot in #258
  • Implement missing SQL enhancer configuration properties and automatic dialect translation by @Copilot in #260
  • Specify singleton pattern requirement for StatementService actions with updated Action interface by @Copilot in #265
  • Convert XaForgetAction to singleton and document pattern for all Action types by @Copilot in #266
  • Document download-drivers.sh requirement before running integration tests by @Copilot in #269
  • Implements many issue refactors - Refactor xaSetTransactionTimeout, xaGetTransactionTimeout, xaIsSameRM and readLob by @felipestanzani in #261
  • Refactor callResource() to use Action pattern by @matheusandre1 in #272
  • Refactor rollbackTransaction() to use Action pattern by @matheusandre1 in #270
  • Refactor terminateSession() to use Action pattern by @matheusandre1 in #271
  • Refactor commitTransaction() to use Action pattern by @matheusandre1 in #267
  • Add ojp-testcontainers module for integration testing by @Copilot in #274
  • Add Maven Central publishing support to ojp-testcontainers module by @Copilot in #276
  • Address unanswered PR #210 review comments by @Copilot in #277
  • Refactor xaStart() to use Action pattern by @matheusandre1 in #278
  • Closes Issue 233 - Refactor StatementServiceImpl to utilize Action pattern for LOB creation by @felipestanzani in #279
  • Resolve 15 review comments: clarify technical accuracy and remove overstated claims by @Copilot in #282
  • Implement automatic session cleanup for abandoned connections by @Copilot in #284
  • Resolve Chapter 9 review comments: Fix technical inaccuracies in multinode deployment documentation by @Copilot in #287
  • Update eBook chapters with 27+ commits from main branch (f9cc34905c75a6) by @Copilot in #286
  • Resolve all 25 review comments in chapter 10 (XA Transactions) by @Copilot in #290
  • Remove incorrect property name ojp.xa.pooling.enabled from documentation by @Copilot in #291
  • Document ojp.xa.connection.pool.enabled in chapter 10 by @Copilot in #293
  • Use virtual threads for XA pool housekeeping (Java 21+) by @Copilot in #289
  • Add SQL pattern detection for session affinity (temporary tables, session variables) by @Copilot in #285
  • Set OJP Server minimum Java version to 21 by @Copilot in #294
  • Add server-side SSL certificate path resolution via URL placeholders with security validation by @Copilot in #296
  • Document SSL/TLS certificate path placeholders in Chapter 11 by @Copilot in #299
  • Update Chapter 11 to use SSL Certificate Path Placeholders consistently by @Copilot in #300
  • Enforce IP whitelisting with audit logging at gRPC layer by @Copilot in #297
  • Add environment-specific properties file loading with ojp-{env}.properties convention by @Copilot in #298
  • Document environment-aware properties configuration in ebook Chapter 5 by @Copilot in #304
  • Add mTLS support for OJP JDBC driver and server communication by @Copilot in #303
  • Address chapter 11 review comments - Fix references, update mTLS documentation, and improve diagrams by @Copilot in #301
  • Redirect documentation from programmatic to declarative environment configuration by @Copilot in #305
  • Address Chapter 11 review comments - Clarify security architecture and implementation status by @Copilot in #307
  • Document Apache Commons Pool 2 XA provider and XAConnectionPoolProvider SPI in Chapter 12 by @Copilot in #312
  • Upgrade logback to 1.5.25 to address CVE-2026-1225 by @Copilot in #313
  • Remove unimplemented and misplaced sections from Pool Provider SPI chapter by @Copilot in #314
  • Remove undocumented multinode coordination metrics from telemetry chapter by @Copilot in #315
  • Fix incorrect max_rows documentation in protocol chapter by @Copilot in #317
  • Move Troubleshooting chapter to appendix, renumber chapters 16-23 by @Copilot in #319
  • Correct technical inaccuracies in Chapter 15 development setup documentation by @Copilot in #321
  • Issue 268: Test Cleanup by @jenspapenhagen in #325
  • Add Chapter 2a: OJP JDBC Driver as Smart Load Balancer vs Traditional Database Proxies by @Copilot in #322
  • Fix gRPC channel resource leak in server failover by @Copilot in #326
  • Add retry logic for connection-level failures in multinode integration tests and fix session invalidation race condition by @Copilot in #320
  • Update CONTRIBUTING.md to enhance clarity by @felipestanzani in #327
  • Remove public modifiers from JUnit 5 test methods by @Copilot in #328
  • Complete OJP E-Book: All 24 chapters with comprehensive documentation (1,043KB) + ALL Critical Gaps RESOLVED + XA Architecture Fully Integrated + StatefulSet Helm Deployment + Research-Backed Pool Sizing by @Copilot in #210
  • Add version tracking to configuration documentation by @Copilot in #330
  • Fix SQL Enhancer - Register Comprehensive Calcite Optimization Rules by @Copilot in #332
  • [WIP] Fix incorrect SQL generation for PostgreSQL dialect in Calcite by @Copilot in #334
  • Updates DB2 installation instructions according to the official DB2 documentation by @felipestanzani in #333
  • Document JDBC driver requirement for v0.4.0-beta (JAR and Docker) by @Copilot in #335
  • Document SQL enhancer type system limitations, add experimental warnings, and improve test observability by @Copilot in #336
  • Sonar Warning Cleanup in Testclasses by @jenspapenhagen in #329
  • Add PostgreSQL integration test for SQL enhancer with schema loading and optimization fixes by @Copilot in #245
  • Refactor SQL enhancer: separate validation from optimization with async support by @Copilot in #288
  • Fix intermittent test failures from ExecutorService leak, XA pool race condition, and deadlock by @Copilot in #339
  • Run multinode integration tests 5x for timing confidence via matrix strategy by @Copilot in #340
  • Fix error classification logic in multinode integration tests by @Copilot in #341
  • Update documentation: JDBC drivers use ojp-libs, not pom.xml dependencies by @Copilot in #346
  • Add java.time temporal type support with JDBC driver hang protection by @Copilot in #345
  • Use setObject with java.time types in temporal integration tests by @Copilot in #351
  • Document JVM parameter configuration for Docker deployments by @Copilot in #355
  • Document required JVM parameters for IDE integration tests by @Copilot in #354
  • Fix timezone-dependent test failures in Docker across multiple database tests by @Copilot in #353
  • Implements Issue 215: Extract StartTransactionAction and refactor StatementServiceImpl by @felipestanzani in #360
  • Disable slow query segregation by default by @Copilot in #365
  • Add project roadmap by @Copilot in #366
  • Circuit Breaker: implement per-datasource isolation via Registry pattern by @youzh00 in #337
  • feat: OpenTelemetry distributed tracing with Zipkin/OTLP support (disabled by default) by @Copilot in #364
  • docs: update ebook to reflect implemented distributed tracing by @Copilot in #367
  • Add OpenTelemetry metrics to connection pools with standardized naming and separate gRPC and pool metrics controls by @Copilot in #318
  • Force jackson-core to 2.18.6 to fix async parser DoS (CVSS 8) by @Copilot in #369
  • chore: upgrade Java library dependencies to latest patch/minor releases by @Copilot in #370
  • Emit SQL execution time, connection queue depth, and connection wait time via OpenTelemetry by @Copilot in #368
  • Fix premature server health marking causing excess failures in MultinodeIntegrationTest by @Copilot in #371
  • Remove stale Dockerfile.proprietary and update docs to reflect ojp-libs volume-mount driver loading by @Copilot in #372
  • Fix race condition in XA pool resize preventing pool expansion after node failure by @Copilot in #373
  • Refactor StatementServiceImpl and CallResourceAction; introduce ResultSetHelper and FetchNextRowsAction by @felipestanzani in #362
  • Remove ojp.datasource.name as a user-configurable property by @Copilot in #376
  • feat: Spring Boot starter module for zero-config OJP autoconfiguration by @Copilot in #374
  • feat: bridge named-pool settings ({poolName}.ojp.*) from Spring Environment to JVM system properties by @Copilot in #377
  • Support named datasource URLs in Spring Boot starter auto-configuration by @Copilot in #378
  • Add OJP Champions section with Jether Rodrigues as inaugural champion by @Copilot in #381
  • Implements Issue 220: Extract ExecuteUpdate logic into dedicated Action class by @felipestanzani in #384

New Contributors

Full Changelog: v0.3.1-beta...v0.4.0-beta