Build Logs

zio/zio-json • 3.8.0-RC4:2025-12-22

Errors

0

Warnings

27

Total Lines

985

1##################################
2Clonning https://github.com/zio/zio-json.git into /build/repo using revision v0.8.0
3##################################
4Note: switching to 'd905472f36553b22bbdce6c3dd00446d0fb13f71'.
5
6You are in 'detached HEAD' state. You can look around, make experimental
7changes and commit them, and you can discard any commits you make in this
8state without impacting any branches by switching back to a branch.
9
10If you want to create a new branch to retain commits you create, you may
11do so (now or later) by using -c with the switch command. Example:
12
13 git switch -c <new-branch-name>
14
15Or undo this operation with:
16
17 git switch -
18
19Turn off this advice by setting config variable advice.detachedHead to false
20
21Would override fixed Scala version: 3.3.7
22----
23Preparing build for 3.8.0-RC4
24Scala binary version found: 3.8
25Implicitly using source version 3.8
26Scala binary version found: 3.8
27Implicitly using source version 3.8
28Would try to apply common scalacOption (best-effort, sbt/mill only):
29Append: ,REQUIRE:-source:3.8
30Remove: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
31
32Try apply source patch:
33Path: project/BuildHelper.scala
34Pattern: val Scala3: String = "3.3.7"
35Replacement: val Scala3: String = "3.8.0-RC4"
36Starting compilation server
37Compiling project (Scala 3.7.3, JVM (17))
38Compiled project (Scala 3.7.3, JVM (17))
39Successfully applied pattern 'val Scala3: String = "3.3.7"' in project/BuildHelper.scala
40----
41Starting build for 3.8.0-RC4
42Execute tests: true
43sbt project found:
44No prepare script found for project zio/zio-json
45##################################
46Scala version: 3.8.0-RC4
47Targets: dev.zio%zio-json dev.zio%zio-json-golden dev.zio%zio-json-interop-http4s dev.zio%zio-json-interop-refined dev.zio%zio-json-yaml
48Project projectConfig: {"projects":{"exclude":[],"overrides":{"zio-json-interop-refined":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/BuildHelper.scala","pattern":"val Scala3: String = \"3.3.7\"","replaceWith":"val Scala3: String = \"<SCALA_VERSION>\""}]}
49##################################
50Using extra scalacOptions: ,REQUIRE:-source:3.8
51Filtering out scalacOptions: ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
52[sbt_options] declare -a sbt_options=()
53[process_args] java_version = '17'
54[copyRt] java9_rt = '/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8/rt.jar'
55# Executing command line:
56java
57-Xmx6g
58-Xss2m
59-XX:+UseG1GC
60-XX:InitialCodeCacheSize=512m
61-XX:ReservedCodeCacheSize=512m
62-Dfile.encoding=UTF8
63-Dcommunitybuild.scala=3.8.0-RC4
64-Dcommunitybuild.project.dependencies.add=
65-Xmx7G
66-Xms4G
67-Xss8M
68-Dsbt.script=/root/.sdkman/candidates/sbt/current/bin/sbt
69-Dscala.ext.dirs=/root/.sbt/1.0/java9-rt-ext-eclipse_adoptium_17_0_8
70-jar
71/root/.sdkman/candidates/sbt/1.11.5/bin/sbt-launch.jar
72"setCrossScalaVersions 3.8.0-RC4"
73"++3.8.0-RC4 -v"
74"mapScalacOptions ",REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s" ",-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e""
75"set every credentials := Nil"
76"excludeLibraryDependency com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}"
77"removeScalacOptionsStartingWith -P:wartremover"
78
79moduleMappings
80"runBuild 3.8.0-RC4 """{"projects":{"exclude":[],"overrides":{"zio-json-interop-refined":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/BuildHelper.scala","pattern":"val Scala3: String = \"3.3.7\"","replaceWith":"val Scala3: String = \"<SCALA_VERSION>\""}]}""" dev.zio%zio-json dev.zio%zio-json-golden dev.zio%zio-json-interop-http4s dev.zio%zio-json-interop-refined dev.zio%zio-json-yaml"
81
82[info] [launcher] getting org.scala-sbt sbt 1.11.7 (this may take some time)...
83[info] welcome to sbt 1.11.7 (Eclipse Adoptium Java 17.0.8)
84[info] loading settings for project repo-build from akka.sbt, plugins.sbt...
85[info] loading project definition from /build/repo/project
86[info] compiling 4 Scala sources to /build/repo/project/target/scala-2.12/sbt-1.0/classes ...
87[info] Non-compiled module 'compiler-bridge_2.12' for Scala 2.12.20. Compiling...
88[info] Compilation completed in 8.765s.
89[info] done compiling
90[info] loading settings for project zioJsonRoot from build.sbt...
91[info] resolving key references (22985 settings) ...
92[info] set current project to zioJsonRoot (in build file:/build/repo/)
93Execute setCrossScalaVersions: 3.8.0-RC4
94OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonNative/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonInteropRefinedNative/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonInteropRefinedJS/crossScalaVersions
97OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonInteropRefinedJVM/crossScalaVersions
98OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonJVM/crossScalaVersions
99OpenCB::Limitting incorrect crossVersions List() -> List(2.13.18) in zioJsonRoot/crossScalaVersions
100OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonInteropHttp4s/crossScalaVersions
101OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonGolden/crossScalaVersions
102OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonYaml/crossScalaVersions
103OpenCB::Changing crossVersion 3.8.0-RC4 -> 3.8.0-RC4 in zioJsonJS/crossScalaVersions
104[info] set current project to zioJsonRoot (in build file:/build/repo/)
105[info] Setting Scala version to 3.8.0-RC4 on 9 projects.
106[info] Switching Scala version on:
107[info] zioJsonJS (2.12.21, 2.13.18, 3.8.0-RC4)
108[info] zioJsonInteropRefinedNative (2.12.21, 2.13.18, 3.8.0-RC4)
109[info] zioJsonInteropHttp4s (2.12.21, 2.13.18, 3.8.0-RC4)
110[info] zioJsonYaml (2.12.21, 2.13.18, 3.8.0-RC4)
111[info] zioJsonInteropRefinedJS (2.12.21, 2.13.18, 3.8.0-RC4)
112[info] zioJsonNative (2.12.21, 2.13.18, 3.8.0-RC4)
113[info] zioJsonGolden (2.12.21, 2.13.18, 3.8.0-RC4)
114[info] zioJsonJVM (2.12.21, 2.13.18, 3.8.0-RC4)
115[info] zioJsonInteropRefinedJVM (2.12.21, 2.13.18, 3.8.0-RC4)
116[info] Excluding projects:
117[info] zioJsonMacrosJVM (2.12.21, 2.13.18)
118[info] docs (2.13.18)
119[info] * zioJsonRoot (2.13.18)
120[info] zioJsonMacrosNative (2.12.21, 2.13.18)
121[info] zioJsonInteropScalaz7xJVM (2.12.21, 2.13.18)
122[info] zioJsonInteropScalaz7xJS (2.12.21, 2.13.18)
123[info] zioJsonInteropScalaz7xNative (2.12.21, 2.13.18)
124[info] zioJsonMacrosJS (2.12.21, 2.13.18)
125[info] Reapplying settings...
126[info] set current project to zioJsonRoot (in build file:/build/repo/)
127Execute mapScalacOptions: ,REQUIRE:-source:3.8,-Wconf:msg=can be rewritten automatically under:s ,-deprecation,-feature,-Xfatal-warnings,-Werror,MATCH:.*-Wconf.*any:e
128[info] Reapplying settings...
129[info] set current project to zioJsonRoot (in build file:/build/repo/)
130[info] Defining Global / credentials, credentials and 15 others.
131[info] The new values will be used by Compile / scalafmtOnly, Global / pgpSelectPassphrase and 156 others.
132[info] Run `last` for details.
133[info] Reapplying settings...
134[info] set current project to zioJsonRoot (in build file:/build/repo/)
135Execute excludeLibraryDependency: com.github.ghik:zerowaste_{scalaVersion} com.olegpy:better-monadic-for_3 org.polyvariant:better-tostring_{scalaVersion} org.wartremover:wartremover_{scalaVersion}
136[info] Reapplying settings...
137OpenCB::Failed to reapply settings in excludeLibraryDependency: Reference to undefined setting:
138
139 Global / allExcludeDependencies from Global / allExcludeDependencies (CommunityBuildPlugin.scala:331)
140 Did you mean zioJsonInteropScalaz7xNative / allExcludeDependencies ?
141 , retry without global scopes
142[info] Reapplying settings...
143[info] set current project to zioJsonRoot (in build file:/build/repo/)
144Execute removeScalacOptionsStartingWith: -P:wartremover
145[info] Reapplying settings...
146[info] set current project to zioJsonRoot (in build file:/build/repo/)
147[success] Total time: 0 s, completed Dec 22, 2025, 6:14:21 PM
148Build config: {"projects":{"exclude":[],"overrides":{"zio-json-interop-refined":{"tests":"disabled"}}},"java":{"version":"17"},"sbt":{"commands":[],"options":[]},"mill":{"options":[]},"tests":"full","migrationVersions":[],"sourcePatches":[{"path":"project/BuildHelper.scala","pattern":"val Scala3: String = \"3.3.7\"","replaceWith":"val Scala3: String = \"<SCALA_VERSION>\""}]}
149Parsed config: Success(ProjectBuildConfig(ProjectsConfig(List(),Map(zio-json-interop-refined -> ProjectOverrides(Some(Disabled)))),Full,List()))
150Starting build...
151Projects: Set(zioJsonInteropHttp4s, zioJsonYaml, zioJsonGolden, zioJsonJVM, zioJsonInteropRefinedJVM)
152Starting build for ProjectRef(file:/build/repo/,zioJsonInteropHttp4s) (zio-json-interop-http4s)... [0/5]
153OpenCB::Exclude Scala3 specific scalacOption `REQUIRE:-source:3.8` in Scala 2.12.20 module Global
154OpenCB::Filter out '-deprecation', matches setting pattern '^-?-deprecation'
155OpenCB::Filter out '-feature', matches setting pattern '^-?-feature'
156Compile scalacOptions: -release:17, -encoding, UTF-8, -unchecked, -language:implicitConversions, -Xignore-scala2-macros, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
157[info] compiling 36 Scala sources to /build/repo/zio-json/jvm/target/scala-3.8.0-RC4/classes ...
158[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/zio-json/shared/src/main/scala-3/zio/json/union_derivation.scala:53:13
159[warn] 53 | case o: Constant if o <:< bound && o.isSingleton =>
160[warn] | ^
161[warn] |the type test for x$1.reflect.Constant cannot be checked at runtime because it refers to an abstract type member or type parameter
162[warn] |
163[warn] | longer explanation available when compiling with `-explain`
164[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/zio-json/shared/src/main/scala/zio/json/ast/JsonCursor.scala:24:32
165[warn] 24 | case JsonCursor.DownField(oldParent: JsonCursor[To, Json.Obj], name) =>
166[warn] | ^
167[warn] |the type test for zio.json.ast.JsonCursor[To, zio.json.ast.Json.Obj] cannot be checked at runtime because its type arguments can't be determined from zio.json.ast.JsonCursor[?, zio.json.ast.Json.Obj]
168[warn] |
169[warn] | longer explanation available when compiling with `-explain`
170[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/zio-json/shared/src/main/scala/zio/json/ast/JsonCursor.scala:27:34
171[warn] 27 | case JsonCursor.DownElement(oldParent: JsonCursor[To, Json.Arr], index) =>
172[warn] | ^
173[warn] |the type test for zio.json.ast.JsonCursor[To, zio.json.ast.Json.Arr] cannot be checked at runtime because its type arguments can't be determined from zio.json.ast.JsonCursor[?, zio.json.ast.Json.Arr]
174[warn] |
175[warn] | longer explanation available when compiling with `-explain`
176[warn] -- [E092] Pattern Match Unchecked Warning: /build/repo/zio-json/shared/src/main/scala/zio/json/ast/JsonCursor.scala:30:33
177[warn] 30 | case JsonCursor.FilterType(oldParent: JsonCursor[To, _], tpe) =>
178[warn] | ^
179[warn] |the type test for zio.json.ast.JsonCursor[To, _] @_ cannot be checked at runtime because its type arguments can't be determined from zio.json.ast.JsonCursor[?, ? <: zio.json.ast.Json]
180[warn] |
181[warn] | longer explanation available when compiling with `-explain`
182[warn] four warnings found
183[info] done compiling
184[info] compiling 6 Scala sources to /build/repo/zio-json-interop-http4s/target/scala-3.8.0-RC4/classes ...
185[info] done compiling
186[info] compiling 1 Scala source to /build/repo/zio-json-interop-http4s/target/scala-3.8.0-RC4/test-classes ...
187[info] done compiling
188+ json instances
189 + jsonEncoderOf
190 + returns an EntityEncoder that can encode for the given effect and type
191 + jsonOf
192 + returns MalformedMessageBodyFailure when message body is not a json
193 + returns MalformedMessageBodyFailure when json is empty
194 + returns MalformedMessageBodyFailure when json is invalid
195 + returns an EntityDecoder that can decode for the given effect and type
1965 tests passed. 0 tests failed. 0 tests ignored.
197
198Executed in 1 s 800 ms
199
200Starting build for ProjectRef(file:/build/repo/,zioJsonYaml) (zio-json-yaml)... [1/5]
201Compile scalacOptions: -release:17, -encoding, UTF-8, -unchecked, -language:implicitConversions, -Xignore-scala2-macros, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
202[info] compiling 4 Scala sources to /build/repo/zio-json-yaml/target/scala-3.8.0-RC4/classes ...
203[info] done compiling
204[info] compiling 2 Scala sources to /build/repo/zio-json-yaml/target/scala-3.8.0-RC4/test-classes ...
205[info] done compiling
206+ YamlDecoderSpec
207 + scalar root
208 + bool root
209 + float root
210 + sequence root
211 + object root
212 + object root, different indentation
213+ YamlEncoderSpec
214 + scalar root
215 + object root
216 + object root with object in a sequence
217 + object root, with extension method
218 + multiline string
219 + multiline string quoted
220 + large number
221 + special characters in string
222 + nonprintable string binary
223 + nonprintable string escape
224 + sequence root
225 + indentation settings
22618 tests passed. 0 tests failed. 0 tests ignored.
227
228Executed in 484 ms
229
230Starting build for ProjectRef(file:/build/repo/,zioJsonInteropRefinedJVM) (zio-json-interop-refined)... [2/5]
231Compile scalacOptions: -release:17, -encoding, UTF-8, -unchecked, -language:implicitConversions, -Xignore-scala2-macros, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
232[info] compiling 2 Scala sources to /build/repo/zio-json-interop-refined/jvm/target/scala-3.8.0-RC4/classes ...
233[info] done compiling
234[info] compiling 1 Scala source to /build/repo/zio-json-interop-refined/jvm/target/scala-3.8.0-RC4/test-classes ...
235[info] done compiling
236Starting build for ProjectRef(file:/build/repo/,zioJsonGolden) (zio-json-golden)... [3/5]
237Compile scalacOptions: -release:17, -encoding, UTF-8, -unchecked, -language:implicitConversions, -Xignore-scala2-macros, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
238[info] compiling 5 Scala sources to /build/repo/zio-json-golden/target/scala-3.8.0-RC4/classes ...
239[info] done compiling
240[info] compiling 1 Scala source to /build/repo/zio-json-golden/target/scala-3.8.0-RC4/test-classes ...
241[info] done compiling
242+ GoldenSpec
243 + golden test for Int
244 + golden test for Int
245 + golden test for SumType
246 + golden test for SumType
247 + golden test for RecordType
248 + golden test for RecordType
249 + golden test for FilteredGenType
2507 tests passed. 0 tests failed. 0 tests ignored.
251
252Executed in 577 ms
253
254Starting build for ProjectRef(file:/build/repo/,zioJsonJVM) (zio-json)... [4/5]
255Compile scalacOptions: -release:17, -encoding, UTF-8, -unchecked, -language:implicitConversions, -Xignore-scala2-macros, -Wconf:msg=can be rewritten automatically under:s, -source:3.8
256[info] compiling 24 Scala sources to /build/repo/zio-json/jvm/target/scala-3.8.0-RC4/test-classes ...
257[warn] there were 6 deprecation warnings; re-run with -deprecation for details
258[warn] one warning found
259[info] done compiling
260+ Encoder
261 + toJson
262 + primitives
263 + boolean
264 + char
265 + int
266 + byte
267 + long
268 + short
269 + double
270 + float
271 + BigInt
272 + BigDecimal
273 + options
274 + eithers
275 + Map, custom keys
276 + collections
277 + java.util.UUID
278 + Map, UUID keys
279 + java.util.Currency
280 + parameterless products
281 + strings
282 + tuples
283 + products
284 + sum encoding with enumValuesAsStrings = true
285 + sum encoding with enumValuesAsStrings = false
286 + sum alternative encoding
287 + exclude fields
288 + aliases
289 + sum encoding
290 + toJsonAST
291 + collections
292 + eithers
293 + options
294 + primitives
295 + numerics
296 + char
297 + boolean
298 + strings
299 + java.util.UUID
300 + parameterless products
301 + tuples
302 + products
303 + sum encoding
304 + sum encoding with hint names
305 + sum alternative encoding
306 + alias
307 + sum alternative encoding with hint names
308+ Carter
309 + simple left
310 + https://github.com/zio/zio-json/issues/209
311 + simple right
312 + case class 1 field
313 + whitespace showing no retract call
314+ FieldEncoder
315 + encodeOrDefault
316 + for a case class
317 + should encode case classes with empty options when withExplicitEmptyCollections is false, even when withExplicitNulls is true
318 + should encode case classes with empty collections when withExplicitEmptyCollections is false
319 + should encode case classes with empty collections when withExplicitEmptyCollections is true
320 + CollectionEncoder
321 + should not encode empty collections when withExplicitEmptyCollections is false
322 + should encode empty collections when withExplicitEmptyCollections is true
323 + OptionEncoder
324 + should use the default encoding None when withExplicitNulls is false
325 + should encode None when withExplicitNulls is true
326+ EncoderVesionSpecific
327 + toJsonAST
328 + collections
329 + toJson
330 + Derives for a product type
331 + IArray
332 + Derives for a sum enum Enumeration type
333 + collections
334 + Derives for a sum enum Enumeration type with enumValuesAsStrings = false
335 + Derives for a sum enum Enumeration type with discriminator
336 + Derives for a sum sealed trait Enumeration type
337 + Derives for a sum ADT type
338 + Derives and encodes for a union of string-based literals
339 + Derives and encodes for a custom map key string-based union type
340+ DecoderVersionSpecific
341 + fromJsonAST
342 + ArraySeq
343 + fromJson
344 + Derives for a sum enum Enumeration type with enumValuesAsStrings = false
345 + Derives for a sum enum Enumeration type
346 + Derives for a product type
347 + ArraySeq
348 + Derives for a sum sealed trait Enumeration type
349 + Derives for a sum sealed trait Enumeration type with enumValuesAsStrings = false
350 + Derives for a sum sealed trait Enumeration type with discriminator
351 + skip JSON encoded in a string value
352 + Derives for a recursive sum ADT type
353 + Derives and decodes for a union of string-based literals
354 + Derives and decodes for a custom map key string-based union type
355+ Encoder
356 + roundtrip
357 + google_maps_api_response
358 + twitter_api_response
359 + che.geo
360 + ZIO Streams integration
361 + encodes into a ZStream of Char
362 + encodes values that yield a result of length > DefaultChunkSize
363 + encodeJsonLinesPipeline
364 + encodeJsonArrayPipeline, empty stream
365 + encodeJsonLinesPipeline handles elements which take up > DefaultChunkSize to encode
366 + encodeJsonArrayPipeline XYZ
367 + helpers in zio.json
368 + writeJsonLines writes JSON lines
369+ Decoder
370 + googleMapsNormal
371 + googleMapsExtra
372 + googleMapsCompact
373 + googleMapsError
374 + excessively nested structures
375 + geojson1
376 + geojson1 alt
377 + googleMapsAst
378 + jawn
379 + bar
380 + bla2
381 + countries.geo
382 + qux1
383 + foo
384 + dkw-sample
385 + qux2
386 + bla25
387 + ugh10k
388 + geojson2
389 + twitter
390 + geojson2 lowlevel
391 + ZIO Streams integration
392 + decodes a stream of chars
393 + combinators
394 + test JsonDecoder.orElse
395 + test hand-coded alternative in `orElse` comment
396 + decodes an encoded stream of bytes
397 + helpers in zio.json
398 + readJsonLines reads from URLs
399 + readJsonLines reads from files
400 + decodeJsonPipeline
401 + Newline delimited
402 + accepts trailing NL
403 + decodes single elements
404 + is interruptible
405 + errors
406 + decodes multiple elements
407 + decodes multiple elements when fed in smaller chunks
408 + Array delimited
409 + handles whitespace leniently
410 + decodes single elements
411 + decodes multiple elements
412 + empty array
413+ SafeNumbers
414 + Byte
415 + ByteNone
416 + invalid (numbers)
417 + valid
418 + invalid (text)
419 + BigInt
420 + valid
421 + invalid edge cases
422 + valid edge cases
423 + invalid (text)
424 + BigInteger
425 + valid
426 + invalid edge cases
427 + valid edge cases
428 + invalid (text)
429 + BigDecimal
430 + invalid edge cases
431 + valid
432 + valid edge cases
433 + invalid (text)
434 + Double
435 + valid
436 + valid (from Int)
437 + valid (from Long)
438 + valid (from BigDecimal)
439 + valid magic doubles
440 + invalid edge cases
441 + valid edge cases
442 + DoubleNone
443 + invalid doubles (text)
444 + Int
445 + valid edge cases
446 + valid
447 + invalid (edge cases)
448 + invalid (out of range)
449 + IntNone
450 + invalid (text)
451 + Long
452 + valid edge cases
453 + invalid (edge cases)
454 + valid
455 + invalid (out of range)
456 + LongNone
457 + invalid (text)
458 + Float
459 + large mantissa
460 + valid
461 + valid (from Int)
462 + valid (from Long)
463 + invalid edge cases
464 + valid edge cases
465 + valid (from Double)
466 + valid (from BigDecimal)
467 + FloatNone
468 + invalid float (text)
469 + Short
470 + ShortNone
471 + valid
472 + invalid (out of range)
473 + invalid (text)
474+ CodecSpec
475+ java.time
476 + Decoder Sad Path
477 + LocalDateTime
478 + LocalDate
479 + Instant
480 + Duration
481 + LocalTime
482 + MonthDay
483 + OffsetDateTime
484 + Encode -> Decode
485 + OffsetTime
486 + control chars
487 + Period
488 + Year
489 + YearMonth
490 + ZonedDateTime
491 + ZoneId
492 + ZoneOffset
493 + Decoder
494 + Instant
495 + Duration
496 + DayOfWeek fromJsonAST
497 + DayOfWeek fromJson
498 + LocalDate
499 + LocalDateTime
500 + LocalTime
501 + Month fromJson
502 + Month fromJsonAST
503 + MonthDay
504 + OffsetDateTime
505 + OffsetTime
506 + Period
507 + Year
508 + YearMonth
509 + ZonedDateTime
510 + ZoneId
511 + ZoneOffset
512 + carriage return
513 + Encoder
514 + DayOfWeek toJson
515 + Duration toJsonAST
516 + Duration toJson
517 + DayOfWeek toJsonAST
518 + Instant toJson
519 + Instant toJsonAST
520 + LocalDate toJson
521 + LocalDate toJsonAST
522 + LocalDateTime toJson
523 + LocalDateTime toJsonAST
524 + LocalTime toJson
525 + LocalTime toJsonAST
526 + Month toJson
527 + Month toJsonAST
528 + MonthDay toJson
529 + MonthDay toJsonAST
530 + OffsetDateTime toJson
531 + OffsetDateTime toJsonAST
532 + OffsetTime toJson
533 + OffsetTime toJsonAST
534 + Period toJson
535 + Period toJsonAST
536 + Year toJson
537 + Year toJsonAST
538 + YearMonth toJson
539 + YearMonth toJsonAST
540 + ZonedDateTime toJson
541 + ZonedDateTime toJsonAST
542 + ZoneId toJson
543 + ZoneId toJsonAST
544 + ZoneOffset toJson
545 + ZoneOffset toJsonAST
546 + form feed
547 + backspace
548 + newline
549 + escape
550 + tab
551 + quote
552 + Decoding
553 + empty
554 + eithers
555 + java.util.Currency
556 + primitives
557 + parameterless products
558 + sum encoding
559 + no extra fields
560 + sum encoding with hint names
561 + sum alternative encoding
562 + sum alternative encoding with hint names
563 + unicode
564 + key transformation
565 + Seq
566 + SortedSet
567 + Vector
568 + HashSet
569 + Map
570 + Set
571 + ListMap
572 + key transformation - except native
573 + zio.Chunk
574 + Codec regressions
575 + option in recursive structure
576+ JsonTestSuite
577 - passes all tests - ignored: 1
578+ GeneratorSpec
579 + generates case classes from JSON strings
580 + unify types
581 + unify missing keys to Option
582 + unify Long and Int to Long
583 + unify nulls and present keys to Option
584 + unify double and int to double
585 + parse types
586 + parses LocalDate and LocalDateTime and ZonedDateTime
587 + simple object
588 + nested objects
589+ CodecVersionSpecific
590 + ArraySeq
591 + Derives for a sum type
592 + Derives for a product type
593 + Custom codec for union of standard types using an internal API
594 + Derives and encodes for a union of string-based literals
595+ AnnotationsCodecSpec
596 + explicit empty collections
597 + should fill in missing empty collections and write empty collections
598 + for an array
599 + for a seq
600 + for a linear seq
601 + for an indexed seq
602 + for a list
603 + for a tree set
604 + for a list set
605 + for a vector
606 + for a hash set
607 + for a sorted set
608 + for a chunk
609 + for a map
610 + for a set
611 + for a hash map
612 + for a mutable map
613 + for a sorted map
614 + for a list map
615 + should not write empty collections and fail missing empty collections
616 + for an array
617 + for a seq
618 + for a chunk
619 + for an indexed seq
620 + for a linear seq
621 + for a list set
622 + for a treeSet
623 + for a list
624 + for a vector
625 + for a set
626 + for a hash set
627 + for a sorted set
628 + for a map
629 + for a hashMap
630 + for a mutable map
631 + for a sorted map
632 + for a list map
633 + annotations overrides AST
634 + should override field name mapping
635 + use explicit null values
636 + should prevent extra fields
637 + should specify discriminator
638 + do not write empty collections
639 + annotations overrides
640 + should override field name mapping
641 + should specify discriminator
642 + should override sum type mapping
643 + should prevent extra fields
644 + use explicit null values
645 + do not write empty collections
646+ Decoder
647+ Json
648 + hashCode
649 + objects with the same elements regardless of order have the same hashCode
650 + fromJsonAST
651 + byte
652 + char
653 + equals
654 + string
655 + boolean
656 + short
657 + int
658 + long
659 + float
660 + equality fails for different objects of different sizes
661 + double
662 + equality fails for different objects of the same size with different keys
663 + BigDecimal
664 + object order does not matter for equality
665 + java.math.BigDecimal
666 + mismatched Json subtypes
667 + BigInteger
668 + BigInt
669 + eithers
670 + delete
671 + nested
672 + parameterless products
673 + no extra fields
674 + failure
675 + preserve error path
676 + errors are consistent with direct decoding
677 + default field value
678 + product with more than 64 fields
679 + aliases
680 + sum encoding
681 + sum alternative encoding
682 + dynamic default value
683 + ListSet
684 + Seq
685 + success
686 + scalar
687 + failure
688 + success
689 + foldUp
690 + folds the structure bottom-up (starting at the leaves)
691 + foldDown
692 + folds the structure top-down (starting at the root)
693 + apply
694 + (Chunk.empty)
695 + ()
696 + Bool()
697 + Num()
698 + Obj()
699 + arrays with the same elements in a different order will not have the same hashCode
700 + arrays with the same elements in the same order will have the same hashCode
701 + relocate
702 + nested
703 + IndexedSeq
704 + LinearSeq
705 + TreeSet
706 + Set
707 + Vector
708 + SortedSet
709 + HashSet
710 + Map
711 + zio.Chunk
712 + zio.NonEmptyChunk
713 + SortedMap
714 + ListMap
715 + Map, custom keys
716 + java.util.UUID
717 + fromJson
718 + string
719 + byte
720 + boolean
721 + char
722 + short
723 + int
724 + long
725 + float
726 + double
727 + BigDecimal
728 + java.math.BigDecimal
729 + BigInteger
730 + BigInt
731 + collections
732 + eithers
733 + tuples
734 + tuples - ast
735 + parameterless products
736 + typical
737 + no extra fields
738 + aliases
739 + aliases - alias collides with field name
740 + aliases - alias collides with another alias
741 + aliases - double alias
742 + option
743 + option - fromJsonAST
744 + default field value
745 + sum encoding
746 + sum encoding with enumValuesAsStrings = true
747 + sum encoding with enumValuesAsStrings = false
748 + sum encoding with hint names
749 + sum alternative encoding
750 + sum alternative encoding with hint names
751 + dynamic default value
752 + Option: .map on derived JsonDecoder with missing value
753 + Seq
754 + Vector
755 + SortedSet
756 + HashSet
757 + Set
758 + Map
759 + Map with unicode keys
760 + Map with Int keys
761 + Map with Long keys
762 + Map with UUID keys
763 + zio.Chunk
764 + zio.NonEmptyChunk
765 + zio.NonEmptyChunk failure
766 + java.util.UUID
767 + java.util.Currency
768 + java.time.Duration
769 + java.time.ZonedDateTime
770 + bothWith
771 + bothWith - ast
772 + option custom codec
773 + sum with more than 64 cases
774 + sum with duplicated case names
775 + unicode
776 + success
777 + failure - to
778 + failure - from
779 + get
780 + downField
781 + downElement
782 + filterType
783 + >>>, object
784 + >>>, array, filterType
785 + >>>, combination of some methods of JsonCursor (second operand of >>> is complex)
786 + >>>, identity
787 + >>>, array, filterType (second operand of >>> is complex)
788 + intersect
789 + object + object
790 + object, deep
791 + array
792 + array - duplicates
793 + scalar
794 + transformAt
795 + scalar
796 + success
797 + failure
798 + nested
799 + success
800 + failure
801 + merge
802 + object + object
803 + object, deep
804 + array
805 + scalar
806+ StringMatrix
807 + basic positive succeeds
808 + trivial
809 + exact match is a substring
810 + positive succeeds
811 + first resolves to field index
812 + negative fails
813 + substring fails
814 + alias trivial
815 + alias exact match is a substring
816 + alias negative fails
817 + alias substring fails
818 + alias positive succeeds
819 + alias first resolves to aliased field index
820+ ConfigurableDeriveCodecSpec
821 + override AST defaults
822 + use explicit null values
823 + should prevent extra fields
824 + should specify discriminator
825 + should override field name mapping
826 - fail on decoding missing explicit nulls - ignored: 1
827 + do not write empty collections
828 + override defaults
829 + should prevent extra fields
830 + should override sum type mapping
831 + should specify discriminator
832 + should override field name mapping
833 + use explicit null values
834 + do not write empty collections
835 + decode missing empty collections with defaults
836 + AST defaults
837 + do not write nulls by default
838 + should allow extra fields by default
839 + should not use discriminator by default
840 + should not map field names by default
841 + write empty collections by default
842 + fail on decoding missing empty collections by default
843 + defaults
844 + should not map field names by default
845 + do not write nulls by default
846 + should allow extra fields by default
847 + should not use discriminator by default
848 + do not fail on missing null values
849 + write empty collections by default
850 + fail on decoding missing empty collections by default
851 + explicit empty collections
852 + should fill in missing empty collections and write empty collections
853 + for an array
854 + for a seq
855 + for a chunk
856 + for an indexed seq
857 + for a linear seq
858 + for a list set
859 + for a tree set
860 + for a list
861 + for a vector
862 + for a set
863 + for a hash set
864 + for a sorted set
865 + for a map
866 + for a hash map
867 + for a mutable map
868 + for a sorted map
869 + for a list map
870 + for a transform collection
871 + for a transformOrFail collection
872 + should not write empty collections and fail missing empty collections
873 + for an array
874 + for a seq
875 + for a chunk
876 + for an indexed seq
877 + for a linear seq
878 + for a list set
879 + for a treeSet
880 + for a list
881 + for a vector
882 + for a set
883 + for a hash set
884 + for a sorted set
885 + for a map
886 + for a hashMap
887 + for a mutable map
888 + for a sorted map
889 + for a list map
890 + for a transform collection
891 + for a transformOrFail collection
892+ RoundTrip
893 + booleans
894 + bytes
895 + ints
896 + shorts
897 + longs
898 + bigInts
899 + AST
900 + doubles
901 + bigDecimals
902 + floats
903 + java.time
904 + DayOfWeek
905 + Duration
906 + Instant
907 + LocalDate
908 + Month
909 + MonthDay
910 + LocalTime
911 + LocalDateTime
912 + OffsetTime
913 + OffsetDateTime
914 + Year
915 + ZoneId
916 + ZoneOffset
917 + YearMonth
918 + Period
919 + ZonedDateTime
920567 tests passed. 0 tests failed. 2 tests ignored.
921
922Executed in 26 s 681 ms
923
924
925************************
926Build summary:
927[{
928 "module": "zio-json-interop-http4s",
929 "compile": {"status": "ok", "tookMs": 28579, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
930 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
931 "test-compile": {"status": "ok", "tookMs": 2260, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
932 "test": {"status": "ok", "tookMs": 2866, "passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5, "byFramework": [{"framework": "unknown", "stats": {"passed": 5, "failed": 0, "ignored": 0, "skipped": 0, "total": 5}}]},
933 "publish": {"status": "skipped", "tookMs": 0},
934 "metadata": {
935 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
936}
937},{
938 "module": "zio-json-yaml",
939 "compile": {"status": "ok", "tookMs": 1131, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
940 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
941 "test-compile": {"status": "ok", "tookMs": 2128, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
942 "test": {"status": "ok", "tookMs": 1164, "passed": 18, "failed": 0, "ignored": 0, "skipped": 0, "total": 18, "byFramework": [{"framework": "unknown", "stats": {"passed": 18, "failed": 0, "ignored": 0, "skipped": 0, "total": 18}}]},
943 "publish": {"status": "skipped", "tookMs": 0},
944 "metadata": {
945 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
946}
947},{
948 "module": "zio-json-interop-refined",
949 "compile": {"status": "ok", "tookMs": 628, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
950 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
951 "test-compile": {"status": "skipped", "tookMs": 0, "warnings": 0, "errors": 0},
952 "test": {"status": "skipped", "tookMs": 0, "passed": 0, "failed": 0, "ignored": 0, "skipped": 0, "total": 0, "byFramework": []},
953 "publish": {"status": "skipped", "tookMs": 0},
954 "metadata": {
955 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
956}
957},{
958 "module": "zio-json-golden",
959 "compile": {"status": "ok", "tookMs": 1278, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
960 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
961 "test-compile": {"status": "ok", "tookMs": 2246, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
962 "test": {"status": "ok", "tookMs": 1332, "passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7, "byFramework": [{"framework": "unknown", "stats": {"passed": 7, "failed": 0, "ignored": 0, "skipped": 0, "total": 7}}]},
963 "publish": {"status": "skipped", "tookMs": 0},
964 "metadata": {
965 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
966}
967},{
968 "module": "zio-json",
969 "compile": {"status": "ok", "tookMs": 65, "warnings": 4, "errors": 0, "sourceVersion": "3.8"},
970 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
971 "test-compile": {"status": "ok", "tookMs": 42904, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
972 "test": {"status": "ok", "tookMs": 27634, "passed": 567, "failed": 0, "ignored": 2, "skipped": 0, "total": 569, "byFramework": [{"framework": "unknown", "stats": {"passed": 567, "failed": 0, "ignored": 2, "skipped": 0, "total": 569}}]},
973 "publish": {"status": "skipped", "tookMs": 0},
974 "metadata": {
975 "crossScalaVersions": ["2.12.21", "2.13.18", "3.3.7"]
976}
977}]
978************************
979[success] Total time: 164 s (0:02:44.0), completed Dec 22, 2025, 6:17:05 PM
980[0JChecking patch project/plugins.sbt...
981Checking patch project/BuildHelper.scala...
982Checking patch build.sbt...
983Applied patch project/plugins.sbt cleanly.
984Applied patch project/BuildHelper.scala cleanly.
985Applied patch build.sbt cleanly.