Skip to content

Update dependencies (Kotlin 2.3.20)#617

Draft
Au6ojlut wants to merge 1 commit into
kotlin-orm:masterfrom
Au6ojlut:master
Draft

Update dependencies (Kotlin 2.3.20)#617
Au6ojlut wants to merge 1 commit into
kotlin-orm:masterfrom
Au6ojlut:master

Conversation

@Au6ojlut
Copy link
Copy Markdown

Summary

Update core dependencies to align with Kotlin 2.1+ requirements. Current versions are not compatible with newer Kotlin releases.

Dependency updates

  • Kotlin: 1.9.23 → 2.3.20
  • KSP: 1.9.23-1.0.20 → 2.3.7
  • KotlinPoet KSP: 1.11.0 → 2.3.0
  • Ktlint: 0.50.0 → 1.8.0
  • Dokka: 1.9.20 → 2.2.0
  • Moditect: 1.0.0.RC1 → 1.3.0.Final
  • kotlin-compile-testing: 1.5.0 → dev.zacsweers.kctfork:ksp:0.12.1 (KSP2-compatible fork)
  • Jackson: 2.12.3 → 2.21.2

Context

Thanks for maintaining this project.

This is an initial commit toward a future 5.0.0 release. The version bump is not only due to Kotlin compatibility, but also upcoming structural and functional changes.

Planned changes (follow-up PRs)

  • Expand KSP-based logic:

    • BuilderConstructorFunctionGenerator

    Example:

      Employee { 
                  id = 1
                  name = "vince"  
                  job = "engineer"
                  hireDate = LocalDate.of(2023, 1, 1)
              }
    • simple ConstructorFunctionGenerator

      Example:

        Employee(1, "vince", "engineer", LocalDate.of(2023, 1, 1)
    • Move Undefined with Unsafe usage to separate module. PseudoConstructorFunctionGenerator remains available but requires this new module. Compile time error will occur if the module is not present on the classpath.

      "The '$UNDEFINED_MODULE' module is required to generate entity pseudo-constructor and copy " +
      "functions, but it was not found in the project classpath. " +
      "Please add it to your project dependencies:\n" +
      "  Gradle: implementation(\"org.ktorm:$UNDEFINED_MODULE:VERSION\")\n" +
      "  Maven:  <dependency>\n" +
      "            <groupId>org.ktorm</groupId>\n" +
      "            <artifactId>$UNDEFINED_MODULE</artifactId>\n" +
      "            <version>VERSION</version>\n" +
      "          </dependency>"

  • Enable KSP-only usage (no reflection, no unsafe APIs). The entity proxy will be moved to a separate module, allowing users to choose between the KSP-based implementation and the proxy-based implementation.

Notes

This PR is intentionally limited to dependency alignment as a baseline for further work.
Additional changes will follow in subsequent commits/PRs.

Please do not release a new version based on this commit yet. More breaking and structural changes are planned before 5.0.0 is finalized.

- Kotlin: 1.9.23 -> 2.3.20
- KSP: 1.9.23-1.0.20 -> 2.3.7
- Kotlinpoet KSP: 1.11.0-> 2.3.0
- Ktlint: 0.50.0 -> 1.8.0
- Dokka: 1.9.20 -> 2.2.0
- Moditect: 1.0.0.RC1 -> 1.3.0.Final
- com.github.tschuchortdev:kotlin-compile-testing:1.5.0 -> dev.zacsweers.kctfork:ksp:0.12.1 (fork with KSP2 support)
- Jackson: 2.12.3 -> 2.21.2

Build snapshot version
@Au6ojlut Au6ojlut marked this pull request as draft May 22, 2026 13:59
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.

1 participant