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