Skip to main content

CHANGELOG.md

# Changelog

All notable changes to this project are documented here. The format follows
[Keep a Changelog](https://keepachangelog.com/en/1.1.0/), and the project adheres
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [0.1.0] - 2026-06-15

### Added

- OAuth2 client-credentials authentication (`SudregEx.Auth`) with a cached,
  refresh-on-expiry bearer token (`SudregEx.TokenCache`, 6-hour tokens).
- `SudregEx.Client` configuration carrier (`new/1`) with application-env defaults.
- Core request pipeline (`SudregEx.Request`/`SudregEx.Response`): bearer auth,
  query-param encoding (booleans → `"1"`/`"0"`), response-format selection, and
  `X-*` metadata-header harvesting; typed errors via `SudregEx.Error`.
- `SudregEx.Api` — a function per endpoint for all 39 v3 "javni" endpoints, with
  per-endpoint parameter whitelisting and the `detalji_subjekta` identifier rules.
- Ergonomics: `SudregEx.Api.stream/3` (offset/limit pagination as a `Stream`),
  `SudregEx.Api.latest_snapshot_id/2` (snapshot pinning), `SudregEx.RateLimiter`
  (optional 6/min throttle), and `SudregEx.Format` (MBS/OIB zero-padding,
  timezone-less timestamp parsing).

[0.1.0]: https://gitlab.com/banianitc/sudreg_ex/-/tags/v0.1.0