Hello,
I just released a new version for JSV
As mentioned in the previous version thread I wanted to change the functional API used to define schemas, mostly because it was kind of useless for that type of data.
Basically I have deprecated building schemas like this…
object()
|> properties(foo: integer())
|> required(:foo)
…because there were no additional value from that syntax, and only a performance cost.
New helpers are available, there is less of them for now, and they are not composable (not pipeable) but they are more readable given the extra attributes (like `description “foo…”) are always the last argument.
I believe this will lead to simpler code given schemas are static data 99% of the time.
More information in the docs API Changes in JSV 0.9 — jsv v0.9.0
I’m also happy to see that the Vaux library uses JSV for attribute validation in HTML components, which is quite cool!
[0.9.0] - 2025-07-05
Features
- Provide a schema representing normalized validation errors
- Deprecated the schema composition API in favor of presets
Bug Fixes
- Emit a build error with empty oneOf/allOf/anyOf
- Reset errors when using a detached validator
- Ensure casts are applied after all validations
- Revert default normalized error to atoms