# Changelog of Bing Keywords Discovery Tool (`searchapi/bing-keywords-discovery-tool`) Actor

- **URL**: https://apify.com/searchapi/bing-keywords-discovery-tool/changelog.md
- **Full Actor documentation**: https://apify.com/searchapi/bing-keywords-discovery-tool.md

## Changelog

### 3.1.0

- Removed the debug input from the public Actor schema and reproducible input.
- Added a dataset audit that checks schema parity, source URL shape, sensitive-key exclusion, and at least 20 populated fields per record.

### \[3.0.1] - 2026-08-29

#### Changed

- Added bounded concurrent expansion fetching and fair per-seed quotas for much faster multi-seed discovery.
- Added stable SHA-256 record IDs, seed positions, explicit Bing source/source-query fields, and a typed 35-field dataset schema.
- Fixed the proxy session ID so Apify Proxy configurations work in cloud runs.
- Added clean successful no-result behavior and recursive omission of absent optional values.
- Pinned runtime dependencies, applied security overrides, removed unused modules, and reached a zero-vulnerability production audit.

#### Verified

- Local primary run produced 100 clean unique records in seconds.
- Two-seed mode produced 30 records split 15/15; question mode produced 30 records; an impossible seed completed with an empty dataset.

### \[3.0.0] - 2026-07-20

#### Added

- Strict validation and normalization for seeds, market, limits, delays, retries, timeouts, proxy configuration, and debug mode.
- Stable Apify/custom proxy support for both Bing endpoints.
- Source-backed `displayText` output from Bing autosuggest results.
- Unit coverage for inputs, payload normalization, HTML parsing, retries, deduplication, expansion planning, limits, and derived records.
- Representative local input fixtures and a per-file dataset audit.

#### Changed

- Refactored endpoint access and record construction into testable modules.
- Merges both endpoint responses before emitting a keyword so provenance and rich attributes remain complete.
- Uses one timestamp consistently in the record and nested metadata.
- Updated Apify/Crawlee runtime dependencies and remediated dependency audit findings.

#### Fixed

- Validates status and content type before reading JSON or autosuggest markup.
- Rejects malformed payloads safely and no longer silently hides total endpoint failure.
- Retries timeouts, HTTP 408/429, and temporary 5xx responses with bounded backoff.
- Declares every emitted dataset field and exposes every field in the full-details view.
- Combines `keyword` and `keywords` instead of discarding the single seed when both are supplied.
- Replaced quadratic result lookup with stable map-based deduplication.

### \[2.0.1] - 2026-06-13

- Verified the dual-endpoint Bing autocomplete implementation with a 100-record representative run.

### \[2.0.0] - 2026-06-12

- Added dual-endpoint extraction, relevance scores, expansion metadata, keyword analysis fields, and rich dataset views.

### \[1.0.0] - 2025-07-01

- Initial release.
