Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 13 additions & 23 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,36 +7,26 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [0.1.0] - 2026-07-01

Initial public release of VerbaGuard — a framework-independent PHP moderation engine for language-aware text analysis.

### Added

- Matcher v2.2: exact token matching and separator spelled-chain matching
- `TextSegments` internal helper for byte-accurate span segmentation
- Regression test suite for false-positive and false-negative scenarios
- `FOUNDATION.md` project principles document
- GitHub Actions CI (PHP 8.2, 8.3)
- OSS documentation: `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`
- Core `VerbaGuard` API: `analyze`, `contains`, `mask`, `score`
- `TurkishProfile` with seed dictionary and Turkish-specific normalization
- Language-aware normalization pipeline (Unicode NFC, leetspeak, repeated-letter collapse)
- Deterministic matcher v2.2 with exact token matching and separator spelled-chain matching
- `AnalysisResult` and `ProfanityMatch` value objects with byte-accurate UTF-8 spans
- False-positive and false-negative regression test suite (51 tests)
- GitHub Actions CI (PHP 8.2, PHP 8.3)
- OSS documentation and contribution files: `FOUNDATION.md`, `CONTRIBUTING.md`, `SECURITY.md`, `CODE_OF_CONDUCT.md`, `docs/RELEASE.md`
- Issue and pull request templates

### Changed

- Specification updated for Matcher v2.2 (removed compact/substring matching)
- Specification aligned with matcher v2.2 behavior
- README expanded for public release

### Removed

- Compact substring matching path
- Normalized full-string substring search
- Approximate/proportional offset mapping

## [0.1.0] - TBD

Initial public release.

- Core `VerbaGuard` API: `analyze`, `contains`, `mask`, `score`
- `TurkishProfile` with seed dictionary
- Global normalization pipeline (Unicode, leetspeak, repeated letters)
- `AnalysisResult` and `ProfanityMatch` value objects
- Pest test suite

[Unreleased]: https://github.com/aerbilir/VerbaGuard/compare/v0.1.0...HEAD
[0.1.0]: https://github.com/aerbilir/VerbaGuard/releases/tag/v0.1.0
Loading