Build Logs

zio/zio-json • 3.8.1-RC1:2026-01-13

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.1-RC1
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.1-RC1"
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.1-RC1
42Execute tests: true
43sbt project found:
44No prepare script found for project zio/zio-json
45##################################
46Scala version: 3.8.1-RC1
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.1-RC1
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.1-RC1"
73"++3.8.1-RC1 -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.1-RC1 """{"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.855s.
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.1-RC1
94OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonNative/crossScalaVersions
95OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonInteropRefinedNative/crossScalaVersions
96OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonInteropRefinedJS/crossScalaVersions
97OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonInteropRefinedJVM/crossScalaVersions
98OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonJVM/crossScalaVersions
99OpenCB::Limitting incorrect crossVersions List() -> List(2.13.18) in zioJsonRoot/crossScalaVersions
100OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonInteropHttp4s/crossScalaVersions
101OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonGolden/crossScalaVersions
102OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonYaml/crossScalaVersions
103OpenCB::Changing crossVersion 3.8.1-RC1 -> 3.8.1-RC1 in zioJsonJS/crossScalaVersions
104[info] set current project to zioJsonRoot (in build file:/build/repo/)
105[info] Setting Scala version to 3.8.1-RC1 on 9 projects.
106[info] Switching Scala version on:
107[info] zioJsonJS (2.12.21, 2.13.18, 3.8.1-RC1)
108[info] zioJsonInteropRefinedNative (2.12.21, 2.13.18, 3.8.1-RC1)
109[info] zioJsonInteropHttp4s (2.12.21, 2.13.18, 3.8.1-RC1)
110[info] zioJsonYaml (2.12.21, 2.13.18, 3.8.1-RC1)
111[info] zioJsonInteropRefinedJS (2.12.21, 2.13.18, 3.8.1-RC1)
112[info] zioJsonNative (2.12.21, 2.13.18, 3.8.1-RC1)
113[info] zioJsonGolden (2.12.21, 2.13.18, 3.8.1-RC1)
114[info] zioJsonJVM (2.12.21, 2.13.18, 3.8.1-RC1)
115[info] zioJsonInteropRefinedJVM (2.12.21, 2.13.18, 3.8.1-RC1)
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 Jan 13, 2026, 7:39:26 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.1-RC1/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.1-RC1/classes ...
185[info] done compiling
186[info] compiling 1 Scala source to /build/repo/zio-json-interop-http4s/target/scala-3.8.1-RC1/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 json is invalid
193 + returns MalformedMessageBodyFailure when json is empty
194 + returns MalformedMessageBodyFailure when message body is not a json
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 613 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.1-RC1/classes ...
203[info] done compiling
204[info] compiling 2 Scala sources to /build/repo/zio-json-yaml/target/scala-3.8.1-RC1/test-classes ...
205[info] done compiling
206+ YamlEncoderSpec
207 + object root
208 + object root, with extension method
209 + scalar root
210 + object root with object in a sequence
211 + multiline string
212 + special characters in string
213 + large number
214 + multiline string quoted
215 + nonprintable string binary
216 + sequence root
217 + indentation settings
218 + nonprintable string escape
219+ YamlDecoderSpec
220 + object root, different indentation
221 + object root
222 + scalar root
223 + bool root
224 + float root
225 + sequence root
22618 tests passed. 0 tests failed. 0 tests ignored.
227
228Executed in 378 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.1-RC1/classes ...
233[info] done compiling
234[info] compiling 1 Scala source to /build/repo/zio-json-interop-refined/jvm/target/scala-3.8.1-RC1/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.1-RC1/classes ...
239[info] done compiling
240[info] compiling 1 Scala source to /build/repo/zio-json-golden/target/scala-3.8.1-RC1/test-classes ...
241[info] done compiling
242+ GoldenSpec
243 + golden test for SumType
244 + golden test for Int
245 + golden test for Int
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 587 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.1-RC1/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+ JsonTestSuite
261 - passes all tests - ignored: 1
262+ Encoder
263 + ZIO Streams integration
264 + encodes into a ZStream of Char
265 + encodes values that yield a result of length > DefaultChunkSize
266 + encodeJsonLinesPipeline handles elements which take up > DefaultChunkSize to encode
267 + encodeJsonArrayPipeline XYZ
268 + encodeJsonArrayPipeline, empty stream
269 + encodeJsonLinesPipeline
270 + helpers in zio.json
271 + writeJsonLines writes JSON lines
272 + roundtrip
273 + google_maps_api_response
274 + che.geo
275 + twitter_api_response
276+ GeneratorSpec
277 + generates case classes from JSON strings
278 + simple object
279 + nested objects
280 + parse types
281 + parses LocalDate and LocalDateTime and ZonedDateTime
282 + unify types
283 + unify double and int to double
284 + unify Long and Int to Long
285 + unify nulls and present keys to Option
286 + unify missing keys to Option
287+ Carter
288 + simple left
289 + https://github.com/zio/zio-json/issues/209
290 + case class 1 field
291 + simple right
292 + whitespace showing no retract call
293+ EncoderVesionSpecific
294 + toJsonAST
295 + collections
296 + toJson
297 + Derives for a product type
298 + IArray
299 + collections
300 + Derives for a sum enum Enumeration type
301 + Derives for a sum enum Enumeration type with discriminator
302 + Derives for a sum enum Enumeration type with enumValuesAsStrings = false
303 + Derives for a sum sealed trait Enumeration type
304 + Derives for a sum ADT type
305 + Derives and encodes for a custom map key string-based union type
306 + Derives and encodes for a union of string-based literals
307+ java.time
308 + Decoder Sad Path
309 + LocalDateTime
310 + LocalDate
311 + Instant
312 + Duration
313 + LocalTime
314 + MonthDay
315 + OffsetDateTime
316 + OffsetTime
317 + Period
318 + Year
319 + YearMonth
320 + ZonedDateTime
321 + ZoneId
322 + ZoneOffset
323 + Decoder
324 + Instant
325 + Duration
326 + DayOfWeek fromJsonAST
327 + DayOfWeek fromJson
328 + LocalDate
329 + LocalDateTime
330 + LocalTime
331 + Month fromJson
332 + Month fromJsonAST
333 + MonthDay
334 + OffsetDateTime
335 + OffsetTime
336 + Period
337 + Year
338 + YearMonth
339 + ZonedDateTime
340 + ZoneId
341 + ZoneOffset
342 + Encoder
343 + DayOfWeek toJson
344 + Duration toJsonAST
345 + Duration toJson
346 + DayOfWeek toJsonAST
347 + Instant toJson
348 + Instant toJsonAST
349 + LocalDate toJson
350 + LocalDate toJsonAST
351 + LocalDateTime toJson
352 + LocalDateTime toJsonAST
353 + LocalTime toJson
354 + LocalTime toJsonAST
355 + Month toJson
356 + Month toJsonAST
357 + MonthDay toJson
358 + MonthDay toJsonAST
359 + OffsetDateTime toJson
360 + OffsetDateTime toJsonAST
361+ SafeNumbers
362 + Byte
363 + ByteNone
364 + invalid (numbers)
365 + valid
366 + invalid (text)
367 + BigInt
368 + valid
369 + invalid (text)
370 + invalid edge cases
371 + valid edge cases
372 + BigDecimal
373 + valid
374 + invalid edge cases
375 + valid edge cases
376 + OffsetTime toJson
377 + invalid (text)
378 + OffsetTime toJsonAST
379 + Int
380 + valid edge cases
381 + Period toJson
382 + Period toJsonAST
383 + Year toJson
384 + Year toJsonAST
385 + YearMonth toJson
386 + YearMonth toJsonAST
387 + ZonedDateTime toJson
388 + ZonedDateTime toJsonAST
389 + ZoneId toJson
390 + ZoneId toJsonAST
391 + valid
392 + invalid (edge cases)
393 + invalid (out of range)
394 + IntNone
395 + invalid (text)
396 + BigInteger
397 + valid
398 + invalid edge cases
399 + valid edge cases
400 + invalid (text)
401 + Long
402 + valid edge cases
403 + invalid (edge cases)
404 + valid
405 + invalid (out of range)
406 + LongNone
407 + ZoneOffset toJson
408 + invalid (text)
409 + ZoneOffset toJsonAST
410 + Short
411 + ShortNone
412 + valid
413 + invalid (out of range)
414 + invalid (text)
415 + Float
416 + large mantissa
417 + valid
418 + valid (from Int)
419 + valid (from Long)
420 + invalid edge cases
421 + valid edge cases
422 + valid (from Double)
423 + valid (from BigDecimal)
424 + FloatNone
425 + invalid float (text)
426 + Double
427 + valid
428 + valid (from Int)
429 + valid (from Long)
430 + valid (from BigDecimal)
431 + valid magic doubles
432 + invalid edge cases
433 + valid edge cases
434 + DoubleNone
435 + invalid doubles (text)
436+ Json
437 + apply
438 + Bool()
439 + (Chunk.empty)
440 + Num()
441 + ()
442 + Obj()
443 + transformAt
444 + scalar
445 + success
446 + failure
447 + nested
448 + success
449 + failure
450 + hashCode
451 + objects with the same elements regardless of order have the same hashCode
452 + foldUp
453 + folds the structure bottom-up (starting at the leaves)
454 + equals
455 + mismatched Json subtypes
456 + object order does not matter for equality
457 + equality fails for different objects of the same size with different keys
458 + equality fails for different objects of different sizes
459 + delete
460 + scalar
461 + success
462 + failure
463 + nested
464 + success
465 + failure
466 + foldDown
467 + folds the structure top-down (starting at the root)
468 + arrays with the same elements in a different order will not have the same hashCode
469 + arrays with the same elements in the same order will have the same hashCode
470 + merge
471 + object + object
472 + object, deep
473 + array
474 + scalar
475 + intersect
476 + object + object
477 + object, deep
478 + array
479 + array - duplicates
480 + scalar
481 + get
482 + downField
483 + downElement
484 + filterType
485 + >>>, object
486 + >>>, array, filterType
487 + >>>, array, filterType (second operand of >>> is complex)
488 + >>>, combination of some methods of JsonCursor (second operand of >>> is complex)
489 + >>>, identity
490 + relocate
491 + nested
492 + success
493 + failure - from
494 + failure - to
495+ ConfigurableDeriveCodecSpec
496 + override AST defaults
497 + use explicit null values
498 + should prevent extra fields
499 + should specify discriminator
500 + should override field name mapping
501 - fail on decoding missing explicit nulls - ignored: 1
502 + do not write empty collections
503+ DecoderVersionSpecific
504 + fromJsonAST
505 + ArraySeq
506 + fromJson
507 + Derives for a sum enum Enumeration type with enumValuesAsStrings = false
508 + Derives for a sum enum Enumeration type
509 + Derives for a product type
510 + ArraySeq
511 + Derives for a sum sealed trait Enumeration type
512 + Derives for a sum sealed trait Enumeration type with enumValuesAsStrings = false
513 + Derives for a sum sealed trait Enumeration type with discriminator
514 + skip JSON encoded in a string value
515 + Derives for a recursive sum ADT type
516 + Derives and decodes for a union of string-based literals
517 + Derives and decodes for a custom map key string-based union type
518 + override defaults
519 + should prevent extra fields
520 + should override sum type mapping
521 + should specify discriminator
522 + should override field name mapping
523 + use explicit null values
524 + do not write empty collections
525 + decode missing empty collections with defaults
526 + AST defaults
527 + do not write nulls by default
528 + should allow extra fields by default
529 + should not use discriminator by default
530 + should not map field names by default
531 + write empty collections by default
532 + fail on decoding missing empty collections by default
533 + defaults
534 + should not map field names by default
535 + do not write nulls by default
536 + should allow extra fields by default
537 + should not use discriminator by default
538 + do not fail on missing null values
539 + write empty collections by default
540 + fail on decoding missing empty collections by default
541 + explicit empty collections
542 + should fill in missing empty collections and write empty collections
543 + for a chunk
544 + for an array
545 + for an indexed seq
546 + for a seq
547 + for a list set
548 + for a list
549 + for a vector
550 + for a set
551 + for a hash set
552 + for a linear seq
553 + for a map
554 + for a tree set
555 + for a sorted set
556 + for a mutable map
557 + for a list map
558 + for a transform collection
559 + for a transformOrFail collection
560 + for a hash map
561 + for a sorted map
562 + should not write empty collections and fail missing empty collections
563 + for an array
564 + for a seq
565 + for an indexed seq
566 + for a chunk
567 + for a treeSet
568 + for a vector
569 + for a set
570 + for a hash set
571 + for a linear seq
572 + for a sorted set
573 + for a list set
574 + for a list
575 + for a hashMap
576 + for a list map
577 + for a transform collection
578 + for a transformOrFail collection
579 + for a map
580 + for a mutable map
581 + for a sorted map
582+ AnnotationsCodecSpec
583 + explicit empty collections
584 + should not write empty collections and fail missing empty collections
585 + for an array
586 + for a seq
587 + for a linear seq
588 + for a treeSet
589 + for a list set
590 + for a chunk
591 + for a vector
592 + for a list
593 + for a set
594 + for an indexed seq
595 + for a sorted set
596 + for a hash set
597 + for a hashMap
598 + for a sorted map
599 + for a map
600 + for a list map
601 + for a mutable map
602 + should fill in missing empty collections and write empty collections
603 + for an array
604 + for a seq
605 + for a chunk
606 + for an indexed seq
607 + for a linear seq
608 + for a list set
609 + for a tree set
610 + for a list
611 + for a vector
612 + for a set
613 + for a hash set
614 + for a sorted set
615 + for a map
616 + for a hash map
617 + for a mutable map
618 + for a sorted map
619 + for a list map
620 + annotations overrides
621 + should override field name mapping
622 + should specify discriminator
623 + should override sum type mapping
624 + should prevent extra fields
625 + use explicit null values
626 + do not write empty collections
627 + annotations overrides AST
628 + should override field name mapping
629 + should specify discriminator
630 + should prevent extra fields
631 + use explicit null values
632 + do not write empty collections
633+ CodecSpec
634 + Codec regressions
635 + option in recursive structure
636 + Encode -> Decode
637 + control chars
638 + form feed
639 + newline
640 + carriage return
641 + tab
642 + backspace
643 + escape
644 + quote
645 + Decoding
646 + eithers
647 + java.util.Currency
648 + primitives
649 + empty
650 + parameterless products
651 + no extra fields
652 + sum encoding
653 + sum encoding with hint names
654 + sum alternative encoding
655 + key transformation - except native
656 + sum alternative encoding with hint names
657 + key transformation
658 + unicode
659 + Seq
660 + Vector
661 + HashSet
662 + SortedSet
663 + Map
664 + zio.Chunk
665 + Set
666 + ListMap
667+ CodecVersionSpecific
668 + ArraySeq
669 + Derives and encodes for a union of string-based literals
670 + Derives for a sum type
671 + Derives for a product type
672 + Custom codec for union of standard types using an internal API
673+ FieldEncoder
674 + encodeOrDefault
675 + for a case class
676 + should encode case classes with empty options when withExplicitEmptyCollections is false, even when withExplicitNulls is true
677 + should encode case classes with empty collections when withExplicitEmptyCollections is false
678 + should encode case classes with empty collections when withExplicitEmptyCollections is true
679 + CollectionEncoder
680 + should not encode empty collections when withExplicitEmptyCollections is false
681 + should encode empty collections when withExplicitEmptyCollections is true
682 + OptionEncoder
683 + should use the default encoding None when withExplicitNulls is false
684 + should encode None when withExplicitNulls is true
685+ StringMatrix
686 + basic positive succeeds
687 + trivial
688 + exact match is a substring
689 + substring fails
690 + first resolves to field index
691 + negative fails
692 + positive succeeds
693 + alias trivial
694 + alias exact match is a substring
695 + alias substring fails
696 + alias first resolves to aliased field index
697 + alias positive succeeds
698 + alias negative fails
699+ Decoder
700 + fromJsonAST
701 + byte
702 + char
703 + string
704 + boolean
705 + short
706 + int
707 + long
708 + float
709 + double
710 + BigDecimal
711 + java.math.BigDecimal
712 + BigInteger
713 + eithers
714 + parameterless products
715 + no extra fields
716 + BigInt
717 + preserve error path
718 + errors are consistent with direct decoding
719 + default field value
720 + aliases
721 + sum encoding
722 + dynamic default value
723 + IndexedSeq
724 + LinearSeq
725 + ListSet
726 + sum alternative encoding
727 + TreeSet
728 + Seq
729 + SortedSet
730 + Set
731 + Map
732 + SortedMap
733 + ListMap
734 + Map, custom keys
735 + zio.Chunk
736 + zio.NonEmptyChunk
737 + Vector
738 + HashSet
739 + java.util.UUID
740 + product with more than 64 fields
741 + fromJson
742 + string
743 + byte
744 + boolean
745 + char
746 + short
747 + long
748 + float
749 + int
750 + double
751 + BigDecimal
752 + java.math.BigDecimal
753 + BigInteger
754 + BigInt
755 + tuples
756 + collections
757 + eithers
758 + typical
759 + parameterless products
760 + no extra fields
761 + aliases
762 + aliases - alias collides with another alias
763 + aliases - double alias
764 + option
765 + option - fromJsonAST
766 + default field value
767 + sum encoding
768 + aliases - alias collides with field name
769 + sum encoding with enumValuesAsStrings = true
770 + sum encoding with hint names
771 + sum alternative encoding
772 + sum alternative encoding with hint names
773 + sum encoding with enumValuesAsStrings = false
774 + sum with duplicated case names
775 + unicode
776 + Option: .map on derived JsonDecoder with missing value
777 + Seq
778 + Vector
779 + SortedSet
780 + HashSet
781 + Set
782 + Map
783 + Map with unicode keys
784 + Map with Int keys
785 + Map with Long keys
786 + Map with UUID keys
787 + zio.Chunk
788 + tuples - ast
789 + zio.NonEmptyChunk failure
790 + java.util.UUID
791 + java.util.Currency
792 + java.time.Duration
793 + zio.NonEmptyChunk
794 + java.time.ZonedDateTime
795 + bothWith
796 + bothWith - ast
797 + option custom codec
798 + dynamic default value
799 + sum with more than 64 cases
800+ Decoder
801 + googleMapsNormal
802 + googleMapsCompact
803 + excessively nested structures
804 + googleMapsError
805 + googleMapsExtra
806 + googleMapsAst
807 + geojson1
808 + twitter
809 + geojson1 alt
810 + geojson2
811 + geojson2 lowlevel
812 + ZIO Streams integration
813 + decodes a stream of chars
814 + combinators
815 + test JsonDecoder.orElse
816 + test hand-coded alternative in `orElse` comment
817 + decodes an encoded stream of bytes
818 + helpers in zio.json
819 + readJsonLines reads from URLs
820 + readJsonLines reads from files
821 + decodeJsonPipeline
822 + Array delimited
823 + handles whitespace leniently
824 + decodes single elements
825 + decodes multiple elements
826 + empty array
827 + Newline delimited
828 + decodes multiple elements when fed in smaller chunks
829 + errors
830 + is interruptible
831 + accepts trailing NL
832 + decodes multiple elements
833 + decodes single elements
834 + jawn
835 + bar
836 + bla2
837 + dkw-sample
838 + countries.geo
839 + qux1
840 + foo
841 + qux2
842 + bla25
843 + ugh10k
844+ Encoder
845 + toJson
846 + strings
847 + BigDecimal
848 + BigInt
849 + options
850 + eithers
851 + collections
852 + primitives
853 + short
854 + byte
855 + char
856 + boolean
857 + int
858 + long
859 + float
860 + double
861 + java.util.Currency
862 + parameterless products
863 + tuples
864 + products
865 + sum encoding
866 + sum encoding with enumValuesAsStrings = true
867 + sum encoding with enumValuesAsStrings = false
868 + sum alternative encoding
869 + exclude fields
870 + aliases
871 + Map, custom keys
872 + Map, UUID keys
873 + java.util.UUID
874 + toJsonAST
875 + collections
876 + eithers
877 + options
878 + primitives
879 + numerics
880 + char
881 + boolean
882 + strings
883 + tuples
884 + java.util.UUID
885 + parameterless products
886 + products
887 + sum encoding with hint names
888 + sum alternative encoding
889 + alias
890 + sum encoding
891 + sum alternative encoding with hint names
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 + LocalDateTime
907 + Month
908 + MonthDay
909 + Instant
910 + LocalDate
911 + OffsetDateTime
912 + Year
913 + LocalTime
914 + Period
915 + OffsetTime
916 + YearMonth
917 + ZoneId
918 + ZoneOffset
919 + ZonedDateTime
920567 tests passed. 0 tests failed. 2 tests ignored.
921
922Executed in 26 s 76 ms
923
924
925************************
926Build summary:
927[{
928 "module": "zio-json-interop-http4s",
929 "compile": {"status": "ok", "tookMs": 25211, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
930 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
931 "test-compile": {"status": "ok", "tookMs": 2197, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
932 "test": {"status": "ok", "tookMs": 2632, "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": 1089, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
940 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
941 "test-compile": {"status": "ok", "tookMs": 1960, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
942 "test": {"status": "ok", "tookMs": 985, "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": 500, "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": 1017, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
960 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
961 "test-compile": {"status": "ok", "tookMs": 2248, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
962 "test": {"status": "ok", "tookMs": 1224, "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": 67, "warnings": 4, "errors": 0, "sourceVersion": "3.8"},
970 "doc": {"status": "skipped", "tookMs": 0, "files": 0, "totalSizeKb": 0},
971 "test-compile": {"status": "ok", "tookMs": 42461, "warnings": 0, "errors": 0, "sourceVersion": "3.8"},
972 "test": {"status": "ok", "tookMs": 26997, "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: 114 s (0:01:54.0), completed Jan 13, 2026, 7:41:20 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.