# Changelog

All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 1.0.1

### Patch Changes

-   Add lodash-es to lodash jest module mapping for ESM compatibility

## [1.0.0] - 2024-12-19

### Added

-   Initial release of `@theorchard/sentry-scrubber`
-   `SentryScrubber` class for removing sensitive information from Sentry events
-   `createSentryScrubber` factory function for easy instantiation
-   Case-insensitive field matching for sensitive data detection
-   Recursive data scrubbing for nested objects and arrays
-   JSON string scrubbing within text content (e.g., error messages)
-   Configurable scrub marker and maximum depth settings
-   Circular reference handling to prevent infinite loops
-   Comprehensive test suite with 100% coverage
-   TypeScript support with full type definitions
-   ESM and CommonJS build outputs
-   Detailed README with usage examples and API documentation

### Features

-   **Sensitive Field Detection**: Configurable list of field names to scrub (case-insensitive)
-   **Deep Object Processing**: Recursively processes nested objects and arrays
-   **Text Content Scrubbing**: Detects and scrubs JSON strings within text fields
-   **Performance Optimized**: Configurable depth limiting to prevent performance issues
-   **Error Resilient**: Graceful handling of malformed JSON and circular references
-   **Flexible Configuration**: Custom scrub markers and processing depth
-   **Sentry Integration**: Ready-to-use `beforeSend` handler for Sentry configuration
