|
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +## [Unreleased] |
| 9 | + |
| 10 | +### Added |
| 11 | + |
| 12 | +- Added `index_phrases` (`bool`) and `index_prefixes` (`IndexPrefixes`) fields to `FieldMapping`. |
| 13 | +- Added `boost` (`double`) field to `FieldMapping`. |
| 14 | +- Added `Target` message (renamed from `OutputTarget`) with `label` and `json` fields for specifying literal per-target mappings. |
| 15 | +- Added error and warning diagnostics. |
| 16 | + |
| 17 | + Any error aborts compilation. |
| 18 | +- Validate field names match conventional naming rules (`W001`). |
| 19 | +- Validate `ignore_above`. |
| 20 | + |
| 21 | + Emit `E001` when the value is less than or equal to zero. |
| 22 | +- Validate `position_increment_gap`. |
| 23 | + |
| 24 | + Emit `E001` for negative values. |
| 25 | +- Validate `index_prefixes.min_chars` and `index_prefixes.max_chars`. |
| 26 | + |
| 27 | + Emit `E001` for negative `min_chars` or `max_chars` outside `0..=20`. |
| 28 | +- Emit `W002` when a `target=` label does not match a known target. |
| 29 | +- Emit `E002` or `E003` when a `target` entry's `json` is not valid JSON or is not a JSON object. |
| 30 | +- Validate plugin parameters (`target=<label>`). |
| 31 | + |
| 32 | + Previously, unknown parameters were silently ignored. Now, they cause a fatal error. |
| 33 | + |
| 34 | +### Changed |
| 35 | + |
| 36 | +- **BREAKING:** Renamed the top-level extension field from `(protosearch.field)` to `(protosearch.mapping)`. Moved field parameters to the `(protosearch.mapping).field` field. |
| 37 | +- **BREAKING:** Replaced the `dynamic`, `index_options`, and `term_vector` string fields with enum types. |
| 38 | +- **BREAKING:** Moved output `name` and `target` to `Mapping`. |
| 39 | +- Print warnings to standard error. Only return fatal errors to `protoc` using `set_error()`. |
| 40 | + |
| 41 | +### Fixed |
| 42 | + |
| 43 | +- Corrected `fielddata` type from `google.protobuf.Value` to `bool`. |
| 44 | +- Corrected `subobjects` type from `string` to `bool`. |
| 45 | + |
| 46 | +[Unreleased]: https://github.com/benwebber/protosearch/compare/v0.1.0...HEAD |
0 commit comments