# Changelog

## Unreleased

<!-- release-notes:start -->
- Added non-throwing schema normalization with structured issue reporting via `normalizeSchema`.
- Added stricter flag grammar rejecting malformed tokens (`--`, whitespace, inline `=`, and explicit `--no-*` entries).
- Added effective boolean negation metadata for boolean long flags and derived `--no-*` parser support.
<!-- release-notes:end -->

## 1.0.5 - 2026-05-31

- Added non-throwing schema normalization with structured issue reporting via `normalizeSchema`.
- Added stricter flag grammar rejecting malformed tokens (`--`, whitespace, inline `=`, and explicit `--no-*` entries).
- Added effective boolean negation metadata for boolean long flags and derived `--no-*` parser support.

## 1.0.4 - 2026-03-03

- Rework README and docs map for faster first-use onboarding (tutorial/how-to/reference/explanation).
- Add runnable `examples/` scripts with deterministic JSON output and `npm run examples:run`.
- Add example doc blocks (goal, prereqs, run command, expected output, safety notes) for all shipped examples.
- Keep parser behavior and public API contracts unchanged.

## 1.0.3 - 2026-02-28

- Enforce workflow hardening gates (immutable action pinning, least-privilege permissions, and dependency review checks).
- Add runtime policy controls (floor/pinned + non-blocking latest staleness checks) and wire CI to one-command truth.
- Add docs policy and ESM-only guard checks to keep API docs/channel quality deterministic for npm/JSR consumers.
- Add security triage policy documentation and CodeQL dual-lane configuration (`security-extended` + non-blocking quality lane).

## 1.0.2 - 2026-01-30

- Enforce schema boolean fields and allowNo/allowEmpty validation.
- Export the JSON Schema subpath and verify it in tests.
- Add fixture-driven contract tests plus additional claim falsification cases.
- Document array default append behavior.

## 1.0.1 - 2026-01-30

- Publish a formal JSON Schema for ParseResult and add JSON-safe conversion helper.
- Add schema validation tests and expanded real-world parsing tests.

## 1.0.0 - 2026-01-30

- Adopt ESM-only packaging and require Node.js >=24.
- Replace ad-hoc flag parsing with a schema-driven API.
- Return structured parse results (`values`, `present`, `issues`, `rest`, `unknown`) instead of sentinel `false`.
- Add explicit issue codes for machine-handling.
- Document deterministic parsing rules and migration steps.
