From e25e7392edfbade71de2cdadf27297ed3330580b Mon Sep 17 00:00:00 2001 From: Georges Lebreton Date: Mon, 27 Jul 2026 16:44:43 +0100 Subject: [PATCH 1/3] spike multimedia atom --- .../src/main/scala/com/gu/contentapi/json/CirceDecoders.scala | 4 ++++ .../src/main/scala/com/gu/contentapi/json/CirceEncoders.scala | 4 ++++ models/src/main/thrift/content/v1.thrift | 2 ++ 3 files changed, 10 insertions(+) diff --git a/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala b/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala index fce68bc..0300923 100644 --- a/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala +++ b/json/src/main/scala/com/gu/contentapi/json/CirceDecoders.scala @@ -203,6 +203,10 @@ object CirceDecoders { implicit val audioAtomDecoder: Decoder[audio.AudioAtom] = deriveDecoder implicit val offPlatformDecoder: Decoder[audio.OffPlatform] = deriveDecoder implicit val emailSignUpAtomDecoder: Decoder[emailsignup.EmailSignUpAtom] = deriveDecoder + implicit val multimediaSlideshowMediaReferenceDecoder: Decoder[multimediaslideshow.MediaReference] = deriveDecoder + implicit val multimediaSlideshowSlideContentDecoder: Decoder[multimediaslideshow.SlideContent] = deriveDecoder + implicit val multimediaSlideshowSlideDecoder: Decoder[multimediaslideshow.Slide] = deriveDecoder + implicit val multimediaSlideshowAtomDecoder: Decoder[multimediaslideshow.MultimediaSlideshowAtom] = deriveDecoder implicit val atomDecoder: Decoder[contentatom.Atom] = deriveDecoder implicit val contentChangeDetailsDecoder: Decoder[contentatom.ContentChangeDetails] = deriveDecoder implicit val changeRecordDecoder: Decoder[contentatom.ChangeRecord] = deriveDecoder diff --git a/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala b/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala index 70e1f65..3cf2c2c 100644 --- a/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala +++ b/json/src/main/scala/com/gu/contentapi/json/CirceEncoders.scala @@ -152,6 +152,10 @@ object CirceEncoders { implicit val audioAtomEncoder: Encoder[audio.AudioAtom] = deriveEncoder implicit val offPlatformEncoder: Encoder[audio.OffPlatform] = deriveEncoder implicit val emailSignUpAtomEncoder: Encoder[emailsignup.EmailSignUpAtom] = deriveEncoder + implicit val multimediaSlideshowMediaReferenceEncoder: Encoder[multimediaslideshow.MediaReference] = deriveEncoder + implicit val multimediaSlideshowSlideContentEncoder: Encoder[multimediaslideshow.SlideContent] = deriveEncoder + implicit val multimediaSlideshowSlideEncoder: Encoder[multimediaslideshow.Slide] = deriveEncoder + implicit val multimediaSlideshowAtomEncoder: Encoder[multimediaslideshow.MultimediaSlideshowAtom] = deriveEncoder implicit val atomEncoder: Encoder[contentatom.Atom] = deriveEncoder implicit val contentChangeDetailsEncoder: Encoder[contentatom.ContentChangeDetails] = deriveEncoder implicit val changeRecordEncoder: Encoder[contentatom.ChangeRecord] = deriveEncoder diff --git a/models/src/main/thrift/content/v1.thrift b/models/src/main/thrift/content/v1.thrift index 203975d..bb75eaf 100644 --- a/models/src/main/thrift/content/v1.thrift +++ b/models/src/main/thrift/content/v1.thrift @@ -1859,6 +1859,8 @@ struct Atoms { 16: optional list audios 17: optional list emailsignups + + 18: optional list multimediaslideshows } struct ContentStats { From 34956554927fb38a438b89d1e9473e8c5b9371fc Mon Sep 17 00:00:00 2001 From: Georges Lebreton Date: Tue, 4 Aug 2026 10:36:38 +0100 Subject: [PATCH 2/3] bump scala version too --- build.sbt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.sbt b/build.sbt index bfdc27e..97778ab 100644 --- a/build.sbt +++ b/build.sbt @@ -24,7 +24,7 @@ val snapshotReleaseSuffix = "-SNAPSHOT" lazy val artifactProductionSettings = Seq( - scalaVersion := "2.13.14", + scalaVersion := "2.13.18", // This old attempt to downgrade scrooge reserved word clashes is now insufficient... https://github.com/twitter/scrooge/issues/259#issuecomment-1900743695 Compile / scroogeDisableStrict := true, // scrooge 21.3.0: Builds are now only supported for Scala 2.12+ From 19761cd3027b747e88cdb78fc0e7e81e3ce7bb0b Mon Sep 17 00:00:00 2001 From: Georges Lebreton Date: Tue, 4 Aug 2026 10:55:48 +0100 Subject: [PATCH 3/3] revert bump to 2.13.18 and use latest preview --- build.sbt | 4 ++-- models/src/main/thrift/content/v1.thrift | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/build.sbt b/build.sbt index 97778ab..c7ff90c 100644 --- a/build.sbt +++ b/build.sbt @@ -5,7 +5,7 @@ import sbtversionpolicy.withsbtrelease.ReleaseVersion // dependency versions val contentEntityVersion = "5.0.0" -val contentAtomVersion = "13.0.0" +val contentAtomVersion = "15.1.0-PREVIEW.glspike-multimedia-atom.2026-09-01T2238.c8b18f89" val storyPackageVersion = "2.2.0" val thriftVersion = "0.24.0" val scroogeVersion = "22.1.0" // update plugins too if this version changes @@ -24,7 +24,7 @@ val snapshotReleaseSuffix = "-SNAPSHOT" lazy val artifactProductionSettings = Seq( - scalaVersion := "2.13.18", + scalaVersion := "2.13.14", // This old attempt to downgrade scrooge reserved word clashes is now insufficient... https://github.com/twitter/scrooge/issues/259#issuecomment-1900743695 Compile / scroogeDisableStrict := true, // scrooge 21.3.0: Builds are now only supported for Scala 2.12+ diff --git a/models/src/main/thrift/content/v1.thrift b/models/src/main/thrift/content/v1.thrift index bb75eaf..99eefd3 100644 --- a/models/src/main/thrift/content/v1.thrift +++ b/models/src/main/thrift/content/v1.thrift @@ -2307,6 +2307,8 @@ struct ItemResponse { 37: optional contentatom.Atom emailsignup 38: optional list deeplyRead + + 39: optional contentatom.Atom multimediaslideshow } struct TagsResponse {