• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

nshkrdotcom / sinter / fc522c68bd08de89b33c7e3ab06438c1bf2bc2d8 / 1
69%
main: 69%

Build:
DEFAULT BRANCH: main
Ran 28 Dec 2025 05:04AM UTC
Files 11
Run time 0s
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

28 Dec 2025 05:03AM UTC coverage: 65.751% (-3.3%) from 69.1%
fc522c68bd08de89b33c7e3ab06438c1bf2bc2d8.1

push

github

nshkrdotcom
Release v0.1.0: Big-bang refactor for safety, nested schemas, and JSV

This release represents a comprehensive architectural refactor of Sinter
to make it safe for untrusted inputs, expressive for nested schemas, and
compliant with modern JSON Schema standards.

Core Changes
------------

Schema field names are now stored internally as strings by default. This
prevents atom table exhaustion when validating untrusted JSON payloads
while maintaining ergonomic atom-based DSL definitions that normalize
automatically.

Introduced nested object schema support via Schema.object/1 helper and
the {:object, field_specs} type. This enables precise validation of
structured nested data with per-field constraints and accurate JSON
Schema generation.

Replaced ex_json_schema with JSV 0.13.1 for JSON Schema validation.
Added dual-draft support with Draft 2020-12 as default and Draft 7 for
provider-specific schemas (OpenAI, Anthropic).

New Modules
-----------

Sinter.JSON provides encode/decode helpers combining the transform
pipeline with Jason for request/response handling.

Sinter.Transform implements key aliasing, format application, and
sentinel value handling for outbound payloads.

Sinter.NotGiven provides tri-state semantics distinguishing omitted
fields from explicit nil values, mirroring Python SDK patterns.

Bug Fixes
---------

Fixed required/default ordering so defaults apply before required field
checks, allowing required fields with defaults to pass validation.

Fixed validate_many/3 base path ordering which previously reversed
indices due to incorrect list prepending.

Added NimbleOptions validation for constraint values to reject invalid
option types like min_length: "10" at schema definition time.

Provider JSON Schema generation now applies additionalProperties: false
recursively through nested objects, not just at the root level.

New Features
------------

Added built-in format types: :date, :datetime, :uuid, :null, and
{:nullable, type} with ISO... (continued)

622 of 946 relevant lines covered (65.75%)

4321.28 hits per line

Source Files on job fc522c68bd08de89b33c7e3ab06438c1bf2bc2d8.1
  • Tree
  • List 11
  • Changed 6
  • Source Changed 0
  • Coverage Changed 6
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Build 0
  • fc522c68 on github
  • Prev Job for on main (#eca3a0fda44edae444d30a81ddb4fdc8f43e0bf1.1)
  • Next Job for on main (#3a16437c363d845e72f861e5d67fbaa8ad0f7ddd.1)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc