|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project are documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/). |
| 6 | + |
| 7 | +## [5.0.1] - 2026-02-07 |
| 8 | + |
| 9 | +### Added |
| 10 | + |
| 11 | +- **Tests:** New `test/api.test.ts` with coverage for invalid inputs (`set`/`get` with non-string), no-match behavior (`get` returns `null` when no route matches), and edge cases. |
| 12 | + |
| 13 | +--- |
| 14 | + |
| 15 | +## [5.0.0] - 2026-02-07 |
| 16 | + |
| 17 | +Major release: TypeScript migration, modern tooling, and CI updates. |
| 18 | + |
| 19 | +### Added |
| 20 | + |
| 21 | +- **TypeScript:** Library rewritten in TypeScript; source lives in `src/`, built output in `dist/`. Type definitions shipped via `types` in `package.json`. |
| 22 | +- **TypeScript usage:** README and example updated to ESM + `import Parth from 'parth'`. Documented type imports: `ParthOptions`, `ParthResult`. |
| 23 | +- **CI:** GitHub Actions workflow (`.github/workflows/ci.yml`) replacing Travis. Runs `dist`, `lint`, `test`, and `verify:publish` on Node 20, 22, and 24. |
| 24 | +- **Publish verification:** `verify:publish` script and `test/verify-publish/` (pack, install in a consumer project, run smoke test). Runs automatically after `npm test` via `posttest`. |
| 25 | + |
| 26 | +### Changed |
| 27 | + |
| 28 | +- **API surface:** Default export is the `Parth` class (constructor). No behavioral change from v4 for valid usage. |
| 29 | +- **Entry point:** `main` is now `dist/index.js` (compiled from TypeScript). `files` in `package.json` limited to `dist`. |
| 30 | +- **Example:** `example.js` replaced by `example.ts` (ESM, TypeScript). Removed the `-l` listing of internal properties. |
| 31 | +- **Linting:** ESLint flat config (`eslint.config.mjs`). Config files renamed to `.mjs` (e.g. `jest.config.mjs`). |
| 32 | +- **Testing:** Mocha replaced with Jest; tests in `test/**/*.test.ts`. |
| 33 | +- **Engines:** Node.js requirement raised to `>=20` (from `>=14`). CI tests on Node 20, 22, and 24. |
| 34 | +- **CI branch:** Workflow runs only on `main` (no longer `master`/`main`). |
| 35 | + |
| 36 | +### Removed |
| 37 | + |
| 38 | +- **Travis CI:** `.travis.yml` and Travis badge from README. |
| 39 | +- **Legacy JS:** `index.js`, `lib/util.js`, and `.eslintrc` removed in favor of TypeScript and new ESLint config. |
| 40 | +- **Dependency:** `lodash.merge` removed; implementation uses `lodash.clonedeep` only. |
| 41 | +- **README:** “parth properties” section (e.g. `store`, `regex`) replaced by a short TypeScript section; “todo” section removed. |
| 42 | + |
| 43 | +### Fixed |
| 44 | + |
| 45 | +- **package.json:** `engines` field corrected from a string to a proper object (`"node": ">=20"`). |
| 46 | + |
| 47 | +--- |
| 48 | + |
| 49 | +## [4.2.3] and earlier |
| 50 | + |
| 51 | +See git history for changes prior to the v5.0.0 TypeScript migration (e.g. `git log -p` on older tags). |
| 52 | + |
| 53 | +[5.0.1]: https://github.com/stringparser/parth/compare/v5.0.0...v5.0.1 |
| 54 | +[5.0.0]: https://github.com/stringparser/parth/compare/v4.2.3...v5.0.0 |
0 commit comments