Skip to content

Cut new release 3.3.3#1434

Merged
vikrantpuppala merged 3 commits intomainfrom
release/3.3.3
Apr 29, 2026
Merged

Cut new release 3.3.3#1434
vikrantpuppala merged 3 commits intomainfrom
release/3.3.3

Conversation

@vikrantpuppala
Copy link
Copy Markdown
Collaborator

Summary

Recovers from the broken 3.3.2 Maven Central release (#1431) by cutting 3.3.3 with the source-side fix from #1432.

3.3.2 published a POM that declared an unresolvable transitive dependency on com.databricks:databricks-jdbc-core:3.3.2 (an internal coordinate that is not published to Maven Central). Downstream consumers bumping to 3.3.2 saw Could not find artifact com.databricks:databricks-jdbc-core:jar:3.3.2. Yanking from Maven Central is not possible, so 3.3.3 is the recovery release.

Changes

  • Version bump 3.3.2 → 3.3.3 across all POMs, the DRIVER_VERSION constant in DriverUtil, and assertion strings in DriverUtilTest, DatabricksDatabaseMetaDataTest, DatabricksDriverFeatureFlagsContextTest.
  • Move NEXT_CHANGELOG.md entries into CHANGELOG.md under [v3.3.3]. Reset NEXT_CHANGELOG.md to empty template.
  • Flip development/.release-freeze.json from freeze: truefreeze: false.
  • Update install snippet in README.md.

Validation

The post-#1432 release artifacts have been pre-validated end-to-end via a staging dry-run:

  1. Tagged v3.3.3-rc1 off the same commit pool as this release.
  2. Ran the peco-databricks-jdbc workflow with staging-only=true (USER_MANAGED upload to Sonatype Central Portal).
  3. Sonatype validated the bundle on attempt 2 — full validators (signatures, checksums, POM completeness, namespace ownership, file naming) all green.
  4. Inspected the staged POMs:
    • Uber POM: 0 dependencies, no <parent>, all required Maven Central metadata present. Byte-shape-equivalent to the working 3.3.1 POM.
    • Thin POM: 57 runtime deps, no databricks-jdbc-core, no databricks-jdbc-parent references. Same shape as published 3.3.1 thin.
  5. Staged the bundle into a local file repo and verified mvn dependency:resolve of com.databricks:databricks-jdbc:3.3.3-rc1 succeeds — exactly the resolution that fails for 3.3.2.
  6. Built a probe project that imports the staged uber jar, loaded the driver via JDK ServiceLoader, opened a real connection to the dogfood workspace, and round-tripped a SELECT query. Output:
    Driver class: com.databricks.client.jdbc.Driver
    Driver version: 3.3
    DriverVersion: 3.3.3-rc1
    Row: one=1 msg=hello
    PROBE_OK
    
  7. Dropped the rc1 deployment in the Central Portal (deployment ID a83f922f-9750-4a14-b697-a6005a6fc858) — never reached repo1.maven.org.

After merge

  1. Tag v3.3.3 on this commit.
  2. Run peco-databricks-jdbc workflow off main of databricks/secure-public-registry-releases-eng with ref=v3.3.3, dry-run=false, staging-only=false.
  3. Confirm 3.3.3 lands on Maven Central and resolves cleanly.

Test plan

  • All version strings bumped in lockstep (verified by git grep "3\.3\.2" returning only CHANGELOG hits).
  • Local build of jdbc-core + assembly-uber succeeds with the bumped version.
  • assembly-uber/.flattened-pom.xml confirmed to have 0 <dependencies> after build.
  • End-to-end rc1 validation as described above.
  • Post-merge: live publish run on Maven Central.

This pull request and its description were written by Isaac.

Recovers from the broken 3.3.2 release on Maven Central (#1431). PR #1432
fixed the source-side cause; this PR carries that fix to consumers via a
new release.

Changes:
  - Bump version 3.3.2 → 3.3.3 across all POMs, DriverUtil, and version
    assertions in tests.
  - Move NEXT_CHANGELOG entries into CHANGELOG under v3.3.3.
  - Reset NEXT_CHANGELOG to empty template.
  - Flip release freeze off (was on for 3.3.2).
  - Bump README install snippet.

Validation:
  - Built locally and verified assembly-uber/.flattened-pom.xml has zero
    <dependencies> and no <parent> — same shape as the working 3.3.1 POM.
  - End-to-end staging dry-run via v3.3.3-rc1: peco-databricks-jdbc workflow
    ran in staging-only mode, Sonatype validated the bundle on attempt 2,
    deployment a83f922f-9750-4a14-b697-a6005a6fc858 dropped after validation.
  - Live JDBC probe against the staged rc1 bundle resolved via Maven, loaded
    the driver, connected to dogfood, and round-tripped a SELECT — PROBE_OK.

Co-authored-by: Isaac
Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
Missed in the version bump pass — DATABASE_PATCH_VERSION (used by
DatabaseMetaData.getDatabaseProductVersion) is a separate constant
from DRIVER_VERSION. Caught by a coverage-job test failure on #1434:

  DatabricksDatabaseMetaDataTest.testGetDatabaseProductVersion:831
    expected: <3.3.3> but was: <3.3.2>

Co-authored-by: Isaac
Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
3.3.2's published Maven Central POM is unresolvable (#1431). 3.3.3
recovers from this. Annotates the v3.3.2 heading with the same
"DEPRECATED, Use vX.Y.Z instead" pattern used for prior unusable
releases (v3.0.4, v3.0.1, v1.0.11-oss, v1.0.10-oss).

Co-authored-by: Isaac
Signed-off-by: Vikrant Puppala <vikrant.puppala@databricks.com>
@vikrantpuppala vikrantpuppala enabled auto-merge (squash) April 29, 2026 09:13
@vikrantpuppala vikrantpuppala merged commit e93ca8d into main Apr 29, 2026
15 checks passed
@vikrantpuppala vikrantpuppala deleted the release/3.3.3 branch April 29, 2026 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants