# Changelog

## 2.0.2

### Patch Changes

- [`5d08205`](https://github.com/MyPrototypeWhat/npx-scope-finder/commit/5d08205fd297e828fe8402fbc2d9d195419580cf) Thanks [@MyPrototypeWhat](https://github.com/MyPrototypeWhat)! - ### Added
  - Integrated `@changesets/cli` for automated version management and changelog generation
  - Added `@changesets/changelog-github` for GitHub-linked changelog entries (PR & author references)
  - Added GitHub Actions release workflow using `changesets/action` for automated npm publish and GitHub Releases
  - Added `release` and `changeset` scripts to `package.json`


## [2.0.0] - 2026-03-13

### Breaking Changes

- `original` field is no longer populated by default. Use `includeOriginal: true` option to include full package metadata.

### Added

- ESM + CJS dual format output via `tsdown` (replaces `tsc` + `terser`)
- Search pagination (`size=250`, configurable `maxPages`) — large scopes no longer truncated at 20 results
- `/latest` endpoint for package metadata — fetches only the latest version instead of all versions (KB vs MB)
- Concurrency control via `p-limit` (`concurrency` option, default 10)
- Exponential backoff retry with `2^attempt` delay multiplier
- HTTP 429 handling with `Retry-After` header support
- `logger` option to replace hardcoded `console.error` (default: silent)
- `includeOriginal` option to opt-in to full package metadata
- `maxPages` option to control search pagination depth (default 5, up to 1250 packages)
- Exported `LatestVersionInfo` and `Logger` types
- Switched test framework from Mocha to Vitest

### Changed

- Package output format: `dist/index.mjs` (ESM) + `dist/index.cjs` (CJS) with corresponding `.d.mts` / `.d.cts`
- `package.json` now includes `"type": "module"` and `exports` field

### Removed

- Removed `console.error` calls — errors are now routed through the optional `logger`
- Removed `terser` and `ts-node` dev dependencies

## [1.3.0] - 2024-03-18

### Added

- Enhanced type definitions based on official npm Registry API documentation
- Added links to official npm documentation for better TypeScript integration

### Changed

- Improved project structure with separate type definitions in `types.ts`
- Updated TypeScript target to ES2020 to support `Promise.allSettled`

### Removed

- Removed code comments from compiled output for smaller bundle size
- Removed unused type definitions (`PackageSuccessResult`, `PackageErrorResult`, `PackageResult`) to reduce bundle size and improve code clarity

### Optimized

- Added code minification using terser for optimized package size
- Exported all TypeScript interfaces and types for better developer experience

## [1.2.0] - 2024-03-15

### Added

- Added concurrent requests for improved performance
- Implemented `Promise.allSettled` for fault-tolerant package fetching
- Added original package data in the `original` property

### Removed

- Removed format utilities for a more streamlined API

## [1.1.0] - 2024-03-15

### Added

- Added browser support with cross-platform compatibility
- Added comprehensive retry tests
- Added improved error handling

### Changed

- Replaced npm-registry-fetch with native fetch API
- Improved retry mechanism with better error handling

### Removed

- Reduced package size by removing external dependencies

## [1.0.0] - 2024-03-14

### Added

- Initial release
- Support for finding executable (npx-compatible) packages in a specific npm scope
- Basic retry mechanism for network resilience
- TypeScript support with type definitions
