Skip to content

Upgrade to Scala 3.3.7#5

Merged
guizmaii merged 4 commits intomasterfrom
scala_3
Apr 13, 2026
Merged

Upgrade to Scala 3.3.7#5
guizmaii merged 4 commits intomasterfrom
scala_3

Conversation

@guizmaii
Copy link
Copy Markdown
Collaborator

@guizmaii guizmaii commented Apr 13, 2026

Summary

  • Upgrade from Scala 2.13.18 to Scala 3.3.7 LTS
  • Rewrite Cell as a Scala 3 enum
  • Replace all implicit vals/defs with given instances and using clauses
  • Replace implicit conversions with given Conversion[A, B]
  • Modernize syntax: wildcard imports (*), remove deprecated private[this]
  • Remove Scala 3-incompatible scalafix rules (RemoveUnused, LeakingImplicitClassVal, NoAutoTupling)

Test plan

  • sbt compile passes
  • All 5 tests pass (sbt test)
  • scalafmtCheck passes
  • CI passes on Java 17, 21, 25

Copilot AI review requested due to automatic review settings April 13, 2026 09:58
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Upgrades the build and codebase from Scala 2.x to Scala 3.3.7 LTS, modernizing language features (enums/givens/import syntax) and refreshing sbt/plugins/CI to match the newer toolchain.

Changes:

  • Upgrade build to Scala 3.3.7 + sbt 1.12.7; refresh plugins and add BuildHelper settings.
  • Migrate core code to Scala 3 syntax (enum Cell, given/using, wildcard imports) and update tests accordingly.
  • Replace Travis with GitHub Actions CI/release automation and add dependency update automation (Dependabot + Scala Steward).

Reviewed changes

Copilot reviewed 18 out of 20 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
version.sbt Removes explicit build version definition.
README.md Removes legacy CI/codecov badges.
project/plugins.sbt Updates sbt plugins for modern Scala/sbt toolchain.
project/BuildHelper.scala Adds shared build settings (Java target, scalac/tpolecat options, no-doc).
project/build.properties Upgrades sbt version.
core/src/test/scala/.../ConcurrentConstantMemoryExcelSpec.scala Migrates tests to ScalaTest 3.2 style + Scala 3 conversions.
core/src/main/scala/.../utils/KantanExtension.scala Ports implicit encoder to Scala 3 given; tweaks array handling.
core/src/main/scala/.../ConcurrentConstantMemoryExcel.scala Scala 3 migration, including Cell as enum and given instances.
build.sbt Reworks build definition for Scala 3 + new publishing/formatting/scalafix setup.
.travis.yml Removes Travis CI config.
.scalafmt.conf Replaces minimal config with Scala 3-aware scalafmt configuration.
.scalafix.conf Adds Scala 3-friendly scalafix rule set.
.jvmopts Adds JVM/SBT runtime options (incl. JDK 25-related flags).
.gitignore Adds .bsp ignore.
.github/workflows/scala-steward.yml Adds scheduled Scala Steward automation.
.github/workflows/release.yml Adds release publishing workflow.
.github/workflows/draft.yml Adds Release Drafter workflow.
.github/workflows/ci.yaml Adds CI matrix for Java 17/21/25 + formatting job.
.github/release-drafter.yml Adds release drafter configuration.
.github/dependabot.yml Adds Dependabot updates for GitHub Actions.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

timeout-minutes: 45
runs-on: ubuntu-latest
name: Scala Steward
steps:
- Change scalaVersion from 2.13.18 to 3.3.7
- Rewrite Cell as a Scala 3 enum
- Replace implicit vals/defs with given instances
- Replace implicit conversions with given Conversion
- Update wildcard imports from _ to * syntax
- Replace deprecated private[this] with private
- Remove @nowarn annotations on case classes (no longer needed in Scala 3)
- Add @unchecked to irrefutable pattern match
- Remove Scala 3-incompatible scalafix rules (RemoveUnused, LeakingImplicitClassVal, NoAutoTupling)
- Remove semanticdbVersion override (built-in in Scala 3)
disable-releaser on PR events to prevent invalid target_commitish error.
Also fix branch name from main to master.
Remove pull_request trigger that caused invalid target_commitish errors.
@guizmaii guizmaii merged commit c8c97a4 into master Apr 13, 2026
4 checks passed
@guizmaii guizmaii deleted the scala_3 branch April 13, 2026 10:09
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