Roadmap
This page tracks planned improvements to fraft. Items are grouped by area and roughly ordered by impact.
Auth
- [ ] Bearer / JWT auth type
- [ ] HTTP Basic auth support
- [ ] Auth token refresh and retry on 401
- [ ] Dynamic auth value resolution at request time
Transforms
- [ ]
mapstep — apply a transform to every element of an array - [ ]
sortstep — sort arrays by field - [ ]
flatten/unflattensteps - [ ] Conditional transforms — skip a step based on data shape
- [ ] Dot-notation support for nested field access (
user.profile.name) - [ ] Additional
filteroperators — regex,in(array membership), nested paths - [ ] Additional
coerceformats — dates, locales, string templates - [ ] Error recovery in pipelines — fallbacks on step failure
Config & Environment
- [ ] Default values for env vars —
${env.VAR:default} - [ ] Config composition / inheritance — extend a base config
- [ ] Environment-specific config files (
api.dev.yaml,api.prod.yaml) - [ ] Built-in
.envfile loading via dotenv
Reliability
- [ ] Retry logic with configurable backoff (useful for 429 / 5xx)
- [ ] Per-request timeout override at the top level
- [ ] Partial failure mode for
runAll()— continue on individual request errors - [ ] Structured error types (distinguish auth errors, network errors, transform errors)
HTTP & Requests
- [ ] Multipart /
form-datarequest body support - [ ] Request and response interceptor hooks
- [ ] Streaming response support
- [x] Expand
RunOverridesto allow path params (:paramsyntax) — method and transform overrides still pending
Middleware
- [ ] Global middleware — registered middleware runs on every request
- [ ] Middleware execution ordering / priority
- [ ] Ability to update or unregister middleware entries
- [ ] Built-in utility middleware (CSV parsing, pagination handling, etc.)
Performance
- [ ] Parallel execution mode for
runAll() - [ ] Client-side response caching with TTL
- [ ] Request deduplication
Testing & DX
- [ ] Test utilities exported for consumers to test their own configs
- [ ] Config validation CLI (
fraft validate api.yaml) - [ ] Config loader unit tests