# Changelog

Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
adhering to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## [1.2.0] — True tiered subpath exports

### Added

Four entry points. Each subpath ships *only* the data its name promises — no transitive includes.

| Subpath | Ships | Use case |
|---|---|---|
| `./divisions` | 8 divisions | Where-do-you-ship-to landing pill |
| `./districts` | 64 districts (no DIVISIONS) | District dropdown after division has been picked elsewhere |
| `./areas` | 2836 areas + single-tier helpers (`searchAreas`, `convertProviderId`) | Area search / provider mapping without paying for division+district data |
| `.` (root) | Everything + cross-tier helpers (`resolveArea`, `getStats`) + default export | Kitchen sink — same as 1.1.0 |

Consumers compose: a cascading dropdown imports all three subpaths. A storefront landing imports only `/divisions`.

### Changed (internal)

`searchAreas` and `convertProviderId` moved from `./utils.js` to `./areas.js` (they only need area data, not division/district lookups). No public API change — they're still exported from root `.` and from `./areas`.

`resolveArea` and `getStats` stay in `./utils.js`. They legitimately need all three datasets and are only re-exported from root `.`.

### Migration

None. Root `.` behavior is identical to 1.1.0. The new subpaths are purely additive.

## [1.1.0]

### Added

- **`@classytic/bd-areas/pathao` subpath** — Pathao-native dataset
  (landmark-level zones). Separate export because Pathao's taxonomy is finer
  than the unified thana-level `Area` shape and merging them loses
  information. Ships `PathaoCity`, `PathaoZone`, `PathaoArea` types plus
  auto-generated `cities` / `zones` datasets refreshed by
  `scripts/snapshot-pathao-merchant.mjs` (offline, publish-time only — no
  runtime API calls).
- `LICENSE` file (MIT — already declared in `package.json#license`, now
  shipped with the tarball).

### Changed

- Fixed `repository.url`, `bugs.url`, and `homepage` to point at the new
  `github.com/classytic/bd-areas` repo (the package moved out of
  `classytic/bd-logistics`).
- `files` now includes `CHANGELOG.md` and `LICENSE`.
- Added `publishConfig.access: "public"` to guard against accidental
  private-scope publishes.

## [1.0.0]

Initial release. 8 divisions, 64 districts, 2836+ thana-level areas for
Bangladesh. Multi-provider aware (RedX-aligned unified shape). Zero
runtime dependencies. ESM-only. Node ≥ 20.

### Surface

- `divisions`, `districts`, `areas` datasets
- Lookup helpers in `utils.ts` (division → districts → areas cascading)
- Public types in `types.ts` (`Division`, `District`, `Area`)
