From 106a9c55b346aea3db256e296d5e33f82cc9bbb7 Mon Sep 17 00:00:00 2001 From: Michal Pawlik Date: Fri, 29 Aug 2025 14:59:02 +0200 Subject: [PATCH 1/7] Update Scala Native to 0.5.x --- build.sbt | 8 ++++---- project/Dependencies.scala | 18 +++++++++--------- project/plugins.sbt | 2 +- 3 files changed, 14 insertions(+), 14 deletions(-) diff --git a/build.sbt b/build.sbt index f6dab94716..f8994785c4 100644 --- a/build.sbt +++ b/build.sbt @@ -173,13 +173,13 @@ val weaverDeps = Def.setting { val munitDeps = Def.setting { if (virtualAxes.value.contains(VirtualAxis.native)) { Seq( - Dependencies.MunitMilestone.core.value % Test, - Dependencies.MunitMilestone.scalacheck.value % Test + Dependencies.MunitV1.core.value % Test, + Dependencies.MunitV1.scalacheck.value % Test ) } else { Seq( - Dependencies.Munit.core.value % Test, - Dependencies.Munit.scalacheck.value % Test + Dependencies.MunitV1.core.value % Test, + Dependencies.MunitV1.scalacheck.value % Test ) } } diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 4773f93b4a..028f81ba2c 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -5,7 +5,7 @@ object Dependencies { val collectionsCompat = Def.setting( - "org.scala-lang.modules" %%% "scala-collection-compat" % "2.11.0" + "org.scala-lang.modules" %%% "scala-collection-compat" % "2.13.0" ) val Jsoniter = new { @@ -46,7 +46,7 @@ object Dependencies { val Cats = new { val core: Def.Initialize[ModuleID] = - Def.setting("org.typelevel" %%% "cats-core" % "2.11.0") + Def.setting("org.typelevel" %%% "cats-core" % "2.13.0") } val Monocle = new { @@ -55,7 +55,7 @@ object Dependencies { } object Circe { - val circeVersion = "0.14.8" + val circeVersion = "0.14.14" val core = Def.setting("io.circe" %%% "circe-core" % circeVersion) val parser = Def.setting("io.circe" %%% "circe-parser" % circeVersion) val generic = Def.setting("io.circe" %%% "circe-generic" % circeVersion) @@ -69,7 +69,7 @@ object Dependencies { Def.setting("com.monovore" %%% "decline-effect" % declineVersion) } object Fs2 { - val fs2Version = "3.12.0" + val fs2Version = "3.13.0-M6" val core: Def.Initialize[ModuleID] = Def.setting("co.fs2" %%% "fs2-core" % fs2Version) @@ -96,12 +96,12 @@ object Dependencies { } object Pprint { - val pprintVersion = "0.8.1" + val pprintVersion = "0.9.3" val core = Def.setting("com.lihaoyi" %%% "pprint" % pprintVersion) } val CatsEffect3: Def.Initialize[ModuleID] = - Def.setting("org.typelevel" %%% "cats-effect" % "3.6.0") + Def.setting("org.typelevel" %%% "cats-effect" % "3.7.0-RC1") object Http4s { val http4sVersion = "0.23.30" @@ -122,7 +122,7 @@ object Dependencies { object Weaver { - val weaverVersion = "0.9.0" + val weaverVersion = "0.10-c027a6c-SNAPSHOT" val cats: Def.Initialize[ModuleID] = Def.setting("org.typelevel" %%% "weaver-cats" % weaverVersion) @@ -141,13 +141,13 @@ object Dependencies { } object Munit extends MunitCross("0.7.29") object MunitMilestone extends MunitCross("1.0.0-M6") - object MunitV1 extends MunitCross("1.0.0") { + object MunitV1 extends MunitCross("1.1.0") { val diff: Def.Initialize[ModuleID] = Def.setting("org.scalameta" %%% "munit-diff" % munitVersion) } val Scalacheck = new { - val scalacheckVersion = "1.17.1" + val scalacheckVersion = "1.18.1" val scalacheck = Def.setting("org.scalacheck" %%% "scalacheck" % scalacheckVersion) } diff --git a/project/plugins.sbt b/project/plugins.sbt index 92589b2280..bdcc92d878 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -11,7 +11,7 @@ addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.13.1" addSbtPlugin("com.eed3si9n" % "sbt-projectmatrix" % "0.11.0") addSbtPlugin("pl.project13.scala" % "sbt-jmh" % "0.4.7") addSbtPlugin("de.heikoseeberger" % "sbt-header" % "5.10.0") -addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.4.17") +addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.5.8") addSbtPlugin("com.github.sbt" % "sbt-git" % "2.1.0") addSbtPlugin("com.typesafe" % "sbt-mima-plugin" % "1.1.4") addSbtPlugin("ch.epfl.scala" % "sbt-bloop" % "2.0.13") From 6741758f0a4ef70adfbf7dea9344c8a439fb6b34 Mon Sep 17 00:00:00 2001 From: Michal Pawlik Date: Tue, 2 Sep 2025 17:01:34 +0200 Subject: [PATCH 2/7] use published weaver snapshot --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 028f81ba2c..dc51457517 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -122,7 +122,7 @@ object Dependencies { object Weaver { - val weaverVersion = "0.10-c027a6c-SNAPSHOT" + val weaverVersion = "0.11-b0644b4-SNAPSHOT" val cats: Def.Initialize[ModuleID] = Def.setting("org.typelevel" %%% "weaver-cats" % weaverVersion) From 14ca350d012dabdb2dd0988649fc17a4e59642b9 Mon Sep 17 00:00:00 2001 From: Michal Pawlik Date: Thu, 11 Sep 2025 13:17:04 +0200 Subject: [PATCH 3/7] use snapshot version of http4s --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index dc51457517..96d405af82 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -104,7 +104,7 @@ object Dependencies { Def.setting("org.typelevel" %%% "cats-effect" % "3.7.0-RC1") object Http4s { - val http4sVersion = "0.23.30" + val http4sVersion = "0.23.30-161-f5b9629-SNAPSHOT" val emberServer: Def.Initialize[ModuleID] = Def.setting("org.http4s" %%% "http4s-ember-server" % http4sVersion) From a5d06691ba525b776fa58927d65dfe091a0197e1 Mon Sep 17 00:00:00 2001 From: Michal Pawlik Date: Thu, 11 Sep 2025 17:02:58 +0200 Subject: [PATCH 4/7] update scalapb and jsoniter, disable xml module --- build.sbt | 47 +++++++++++++++++++++----------------- project/Dependencies.scala | 2 +- project/plugins.sbt | 2 +- 3 files changed, 28 insertions(+), 23 deletions(-) diff --git a/build.sbt b/build.sbt index f8994785c4..44945d8312 100644 --- a/build.sbt +++ b/build.sbt @@ -27,6 +27,11 @@ ThisBuild / resolvers += Resolver.sonatypeCentralSnapshots Global / onChangedBuildSource := ReloadOnSourceChanges +// Silence binary compatibility warnings for test-interface in Scala Native 0.5.x series +// has to include _native suffix due to https://github.com/sbt/sbt/issues/7140 +ThisBuild / libraryDependencySchemes += + "org.scala-native" %% "test-interface_native0.5" % VersionScheme.Always + import Smithy4sBuildPlugin._ val latest2ScalaVersions = List(Scala213, Scala3) @@ -60,7 +65,7 @@ lazy val allModules = Seq( docs, millCodegenPlugin, json, - xml, + // xml, bootstrapped, tests, http4s, @@ -378,7 +383,7 @@ lazy val `aws-http4s` = projectMatrix `aws-kernel`, `http4s-kernel`, json, - xml, + // xml, complianceTests % "test->compile", dynamic % "test->compile", tests % "test->compile", @@ -761,24 +766,24 @@ lazy val json = projectMatrix * Module that contains fs2-data-based XML encoders/decoders for the generated * types. */ -lazy val xml = projectMatrix - .in(file("modules/xml")) - .dependsOn( - core, - bootstrapped % "test->test", - scalacheck % "test -> compile" - ) - .settings( - isMimaEnabled := false, - libraryDependencies ++= Seq( - Dependencies.Fs2Data.xml.value - ) ++ weaverDeps.value, - libraryDependencies ++= munitDeps.value, - Test / fork := virtualAxes.value.contains(VirtualAxis.jvm) - ) - .jvmPlatform(allJvmScalaVersions, jvmDimSettings) - .jsPlatform(allJsScalaVersions, jsDimSettings) - .nativePlatform(allNativeScalaVersions, nativeDimSettings) +// lazy val xml = projectMatrix +// .in(file("modules/xml")) +// .dependsOn( +// core, +// bootstrapped % "test->test", +// scalacheck % "test -> compile" +// ) +// .settings( +// isMimaEnabled := false, +// libraryDependencies ++= Seq( +// Dependencies.Fs2Data.xml.value +// ) ++ weaverDeps.value, +// libraryDependencies ++= munitDeps.value, +// Test / fork := virtualAxes.value.contains(VirtualAxis.jvm) +// ) +// .jvmPlatform(allJvmScalaVersions, jvmDimSettings) +// .jsPlatform(allJsScalaVersions, jsDimSettings) +// .nativePlatform(allNativeScalaVersions, nativeDimSettings) /** * Module that contains protobuf encoders/decoders for the generated @@ -978,7 +983,7 @@ lazy val complianceTests = projectMatrix Dependencies.Http4s.circe.value, Dependencies.Http4s.client.value, Dependencies.Pprint.core.value, - Dependencies.Fs2Data.xml.value + // Dependencies.Fs2Data.xml.value ) ++ weaverDeps.value } ) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 96d405af82..698349e5b9 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -10,7 +10,7 @@ object Dependencies { val Jsoniter = new { val org = "com.github.plokhotnyuk.jsoniter-scala" - val jsoniterScalaVersion = "2.30.2" + val jsoniterScalaVersion = "2.37.10" val core = Def.setting(org %%% "jsoniter-scala-core" % jsoniterScalaVersion) val macros = Def.setting( org %%% "jsoniter-scala-macros" % jsoniterScalaVersion % "compile-internal" diff --git a/project/plugins.sbt b/project/plugins.sbt index bdcc92d878..f4c5b88d65 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -23,7 +23,7 @@ addSbtPlugin("org.polyvariant" % "smithy-trait-codegen-sbt" % "0.2.3") libraryDependencies ++= Seq( "com.lihaoyi" %% "os-lib" % "0.10.7", "com.github.plokhotnyuk.jsoniter-scala" %% "jsoniter-scala-macros" % "2.30.15", - "com.thesamet.scalapb" %% "compilerplugin" % "0.11.15" + "com.thesamet.scalapb" %% "compilerplugin" % "1.0.0-alpha.2" ) addDependencyTreePlugin From c57887f3c86776c9d102be2c2505bd7cd746b144 Mon Sep 17 00:00:00 2001 From: Michal Pawlik Date: Thu, 11 Sep 2025 18:10:21 +0200 Subject: [PATCH 5/7] update decline --- project/Dependencies.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/project/Dependencies.scala b/project/Dependencies.scala index 698349e5b9..ee9e8699c5 100644 --- a/project/Dependencies.scala +++ b/project/Dependencies.scala @@ -62,7 +62,7 @@ object Dependencies { } object Decline { - val declineVersion = "2.4.1" + val declineVersion = "2.5.0" val core = Def.setting("com.monovore" %%% "decline" % declineVersion) val effect = From 47255a44ea0984c699a8f1b805987d06d5354b9f Mon Sep 17 00:00:00 2001 From: Michal Pawlik Date: Fri, 12 Sep 2025 09:43:17 +0200 Subject: [PATCH 6/7] fix cryptoplatform --- .../src-native/smithy4s/aws/CryptoPlatformCompat.scala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/aws-kernel/src-native/smithy4s/aws/CryptoPlatformCompat.scala b/modules/aws-kernel/src-native/smithy4s/aws/CryptoPlatformCompat.scala index 9587104626..5f46926358 100644 --- a/modules/aws-kernel/src-native/smithy4s/aws/CryptoPlatformCompat.scala +++ b/modules/aws-kernel/src-native/smithy4s/aws/CryptoPlatformCompat.scala @@ -38,7 +38,7 @@ trait CryptoPlatformCompat { if ( EVP_Digest( message.atUnsafe(0), - message.length.toULong, + message.length.toSize.toCSize, md.atUnsafe(0), size, EvpMdSha256, @@ -64,7 +64,7 @@ trait CryptoPlatformCompat { key.atUnsafe(0), key.size.toInt, d.atUnsafe(0), - d.length.toULong, + d.length.toSize.toCSize, md.atUnsafe(0), mdLen ) == null From 43c7e948a3b0d4eecbc04091f7c4182e8d4068e9 Mon Sep 17 00:00:00 2001 From: Michal Pawlik Date: Tue, 16 Sep 2025 14:27:34 +0200 Subject: [PATCH 7/7] update protobuf dependency --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index 44945d8312..20b371dd25 100644 --- a/build.sbt +++ b/build.sbt @@ -807,7 +807,7 @@ lazy val protobuf = projectMatrix ) else Seq( - "com.thesamet.scalapb" %%% "protobuf-runtime-scala" % "0.8.14" + "com.thesamet.scalapb" %%% "protobuf-runtime-scala" % "1.0.0-alpha.2" ) }, Test / fork := virtualAxes.value.contains(VirtualAxis.jvm)