# Changelog

## 2026-11-11

- Repository created (`noizu-labs-sdks/elixir-slack`); `noizu_slack` 0.1.0 scaffolded on `develop` (not yet published to Hex).

## 0.1.0

- Initial release: Slack Web API client for Elixir (`Noizu.Slack`), Req + Jason.
- `Noizu.Slack.Client` — token precedence opts → app env → `SLACK_BOT_TOKEN`; token redacted in `inspect/2`.
- `Noizu.Slack.Request` — GET/POST (JSON or form) engine; `ok` envelope decoding; `ok:false` → `%Error{tag: :api}`; bounded retry (3 attempts) honouring `Retry-After` on 429, 5xx/transport retries for GET only; warnings surfaced under `"_meta"`.
- Resources: `Auth`, `Chat`, `Conversations`, `Users`, `Search`, `Reactions`, `Pins`, `Files` (external upload flow).
- `Noizu.Slack.Pagination` — lazy `response_metadata.next_cursor` streams (`*_stream` helpers).
- `Noizu.Slack.Webhook` (incoming webhooks) and `Noizu.Slack.Signature` (v0 HMAC-SHA256, 5-minute replay window).
- `Noizu.Slack.Blocks` — Block Kit builders + limit validation (50 blocks, 3000-char section text truncation).
- `Noizu.Slack.Mrkdwn` — GitHub markdown → Slack mrkdwn, and `to_blocks/2` splitting under section limits.
