# Release Notes

These are the latest changes for Tilores.

## Version 0

### v0.95.0

*released on 2026-09-02*

[!badge variant="success" text="NEW"]
Add `consistencyValues` as a queryable field on entities.

[!badge variant="warning" text="CHANGED"]
Updated internal dependencies. Tilores now requires the minimum golang version
to be `1.27`.

*Affected Components*

* `tilores-cli` v0.40.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-core` v0.78.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-plugin-api` v0.25.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.94.0

*released on 2026-08-27*

[!badge variant="success" text="NEW"]
Preparation for a human/agent-in-the-loop feature coming soon. Currently this is
only available for the local profiles of the Tilores Studio, but will be rolled
out to all instance types with one of the upcoming releases.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.77.0 (upgrade by running `tilores-cli deploy`)
* `tilores-plugin-api` v0.24.0 (internal only, no upgrade via `tilores-cli` needed yet)

### v0.93.0

*released on 2026-08-12*

[!badge variant="success" text="NEW"]
Added a reference list driven version of the
[normalize company transformer](rules/transformer.md#normalize-company-version-2).
Legal forms are now detected from versioned reference lists instead of
compiled-in data, so the forms Tilores recognizes can be extended without
waiting for a release. Detection is scoped per country, and three new output
pins are available: `groupFunction` (the word marking a company's role inside a
group, such as holding or management), `location` and `elfCode` (the ISO 20275
entity legal form code).

[!badge variant="success" text="NEW"]
Company names written in Chinese, Japanese and Korean are now normalized. These
scripts do not separate words, so the legal form previously stayed part of the
company name.

[!badge variant="warning" text="CHANGED"]
A transformer configuration can now declare an implementation version with
`"meta": {"version": 2}`. Existing configurations are unaffected: without a
declared version the previous implementation runs unchanged.

!!!warning Migrating to version 2
Version 2 is driven by reference lists, and the eight that shape the company name
are required. A configuration that declares `"version": 2` without wiring all of
them does not load at all, naming the ones it is missing. See the
[company reference lists](rules/reference-lists.md) for the full set.

Advanced Legal Form Detection is **disabled** by default in version 1 and
**enabled** by default in version 2. A configuration that does not set it
explicitly will therefore start removing legal forms found in the middle of a
name, which changes the resulting company name. Set it explicitly when
migrating if that is not wanted.
!!!

*Affected Components*

* `tilores-core` v0.76.0 (upgrade by running `tilores-cli deploy`)

### v0.92.0

*released on 2026-06-30*

[!badge variant="success" text="NEW"]
Added new normalize country and normalize address transformers.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.75.0 (upgrade by running `tilores-cli deploy`)

### v0.91.0

*released on 2026-06-23*

[!badge variant="success" text="NEW"]
Add `aws-apn-id` default tag to AWS deployments.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-cli` v0.39.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)

### v0.90.2

*released on 2026-06-15*

[!badge variant="danger" text="FIXED"]
Fixed an issue that sometimes caused broken entities after a previously failed
disassemble. Broken entities referenced a wrong entity file that could be fixed
using a simple database update.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.74.1 (upgrade by running `tilores-cli deploy`)

### v0.90.1

*released on 2026-04-16*

[!badge variant="danger" text="FIXED"]
Fixed a bug that under very specific circumstances caused the consistency check
to fail.

*Affected Components*

* `tilores-core` v0.73.3 (upgrade by running `tilores-cli deploy`)

### v0.90.0

*released on 2026-03-09*

[!badge variant="warning" text="CHANGED"]
Upgraded lambda runtime versions to `provided.al2023`.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `terraform-aws-tilores-core` v0.34.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-cognito` v0.6.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-integration` v0.5.0 (upgrade by running `tilores-cli deploy`)
* `func-customer-metrics` v0.6.3 (upgrade by running `tilores-cli deploy`)

### v0.89.2

*released on 2026-02-19*

[!badge variant="danger" text="FIXED"]
Fixed an issue where distinct comparisons were incorrectly matching.

*Affected Components*

* `tilores-core` v0.73.2 (upgrade by running `tilores-cli deploy`)

### v0.89.1

*released on 2026-01-19*

[!badge variant="danger" text="FIXED"]
Fixed an issue that sometimes caused edges to be dropped when deduplication was
active.

*Affected Components*

* `tilores-core` v0.73.1 (upgrade by running `tilores-cli deploy`)
* `tilores-plugin-api` v0.23.0 (internal only, no upgrade via `tilores-cli` needed)

### v0.89.0

*released on 2026-01-06*

[!badge variant="success" text="NEW"]
Extended assembly error logs to include record and entity IDs involved.

*Affected Components*

* `tilores-core` v0.73.0 (upgrade by running `tilores-cli deploy`)

### v0.88.0

*released on 2026-01-05*

[!badge variant="warning" text="CHANGED"]
`jq` dependency has been removed and is no longer required.

*Affected Components*

* `tilores-cli` v0.38.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `terraform-aws-tilores-core` v0.33.2 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.87.0

*released on 2025-12-22*

!!!
This breaking change was removed in `v0.88.0`. We recommend upgrading directly to `v0.88.0` or later 
as it is safe to upgrade and the new features are also available.
!!!

[!badge variant="danger" text="BREAKING"]
`jq` is now required as a deployment prerequisite for the external reference lists feature.

[!badge variant="success" text="NEW"]
[External reference lists](rules/reference-lists.md): Reference lists can now be loaded from external sources (S3 or local files) using the `external` field in configuration. Use format `"filename@latest"` (e.g., `"map-country-code@latest"`).

[!badge variant="success" text="NEW"]
[Predefined reference lists](rules/reference-lists.md#available-predefined-lists): Two reference lists are now available:
- `map-country-code` - Maps country names to ISO 3166-1 alpha-2 codes
- `map-country-language` - Maps country codes to ISO 639-3 language codes

*Affected Components*

* `tilores-core` v0.72.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.32.0 (upgrade by running `tilores-cli deploy`)

### v0.86.0

*released on 2025-12-02*

[!badge variant="success" text="NEW"]
Introduced `totalCount` in search results to indicate the total number of
entities before pagination.

[!badge variant="success" text="NEW"]
Added support for array wildcards in [record insights](api.md#record-insights).

[!badge variant="success" text="NEW"]
Added Asia Pacific (Singapore) `ap-southeast-1` to the [list of supported regions](deployment.md#supported-regions).

*Affected Components*

* `tilores-cli` v0.37.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-core` v0.71.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-plugin-api` v0.22.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-insights` v0.5.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.85.4

*released on 2025-11-28*

[!badge variant="danger" text="FIXED"]
Fixed a logging issue that was causing assembly errors.

*Affected Components*

* `tilores-core` v0.70.4 (upgrade by running `tilores-cli deploy`)

### v0.85.3

*released on 2025-11-26*

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.70.3 (upgrade by running `tilores-cli deploy`)

### v0.85.2

*released on 2025-11-25*

[!badge variant="danger" text="FIXED"]
Fixed a disassemble bug in record updates that could delete entities despite having newer versions.

*Affected Components*

* `tilores-core` v0.70.2 (upgrade by running `tilores-cli deploy`)

### v0.85.1

*released on 2025-11-20*

[!badge variant="danger" text="FIXED"]
Resolved an issue where imprecise timestamps produced incorrect results in
analytic queries.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.70.1 (upgrade by running `tilores-cli deploy`)
* `func-scavenger` v0.4.1 (upgrade by running `tilores-cli deploy`)

### v0.85.0

*released on 2025-11-18*

[!badge variant="success" text="NEW"]
Added a new output to phone normalization transformer that contains the E.164
formatted version of the number.

*Affected Components*

* `tilores-core` v0.70.0 (upgrade by running `tilores-cli deploy`)

### v0.84.0

*released on 2025-11-18*

[!badge variant="success" text="NEW"]
Added support for the `Accept-Encoding: gzip` request header.

[!badge variant="warning" text="CHANGED"]
Updated the HTTP status code from `500` to `400` when a GraphQL response exceeds
the size limit for the API Lambda function.

*Affected Components*

* `tilores-cli` v0.36.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)

### v0.83.0

*released on 2025-11-14*

[!badge variant="danger" text="FIXED"]
Fixed an issue that caused the API Lambda function to become unresponsive.

[!badge variant="warning" text="CHANGED"]
Upgraded the Lambda runtime to `provided.al2023`. Although `provided.al2` should
still function, it is no longer officially supported.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-cli` v0.35.4 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `go-plugin` v0.1.2 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-plugin-api` v0.21.1 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-core` v0.69.3 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `terraform-aws-tilores-core` v0.31.0 (upgrade by running `tilores-cli deploy`)

### v0.82.2

*released on 2025-11-06*

[!badge variant="warning" text="CHANGED"]
Introduced a transformation caching layer to improve the performance for large
transformation graphs.

[!badge variant="danger" text="FIXED"]
Fixed an issue which caused very large entity events (>1MB) not to be offloaded
to S3.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.69.2 (upgrade by running `tilores-cli deploy`)

### v0.82.1

*released on 2025-10-30*

[!badge variant="danger" text="FIXED"]
Fixed an issue with the release v0.82.1 which caused the `shingleSize` parameter
in the similarity comparison to be required.

*Affected Components*

* `tilores-core` v0.69.1 (upgrade by running `tilores-cli deploy`)

### v0.82.0

*released on 2025-10-29*

[!badge variant="success" text="NEW"]
Added variation-based indexing for the advanced text matcher, which reduces
the number of indexes created while maintaining high matching recall. The
variations blocking strategy uses phonetic encoding combined with
variation generation to handle common typos, spelling variations, and phonetic
similarities. This feature is available when using a similarity comparer.
See the [matcher documentation](rules/matcher.md#variations) for more details.

*Affected Components*

* `tilores-core` v0.69.0 (upgrade by running `tilores-cli deploy`)

### v0.81.1

*released on 2025-10-21*

[!badge variant="danger" text="FIXED"]
Fixed an issue that could cause deployments to fail if the instance was previously
destroyed while records were still being processed.

*Affected Components*

* `terraform-aws-tilores-core` v0.30.0 (upgrade by running `tilores-cli deploy`)

### v0.81.0

*released on 2025-10-20*

[!badge variant="warning" text="CHANGED"]
Improved the performance when querying entities where the records and edges were
always fetched and now are only fetched if they are also queried or needed for
calculating another value which is queried.

*Affected Components*

* `tilores-core` v0.68.0 (upgrade by running `tilores-cli deploy`)

### v0.80.0

*released on 2025-10-09*

[!badge variant="danger" text="FIXED"]
Fixed an issue where large records were silently ignored during ingestion
instead of returning an API error.

[!badge variant="danger" text="FIXED"]
Fixed an issue where large entity events where silently ignored during assembly.
Entity events larger than 256 KB are now offloaded to S3. A
[smaller event (OFFLOAD)](api.md#offload-event) is sent with a pre-signed URL to
download the full event.

[!badge variant="danger" text="FIXED"]
Fixed an issue in weighted matcher that occurs in some cases where the matcher
threshold is lower than the inner comparer threshold.

*Affected Components*

* `tilores-core` v0.67.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.29.0 (upgrade by running `tilores-cli deploy`)

### v0.79.3

*released on 2025-09-16*

[!badge variant="danger" text="FIXED"]
Fixed a bug in `tilores-cli` where the erase command failed to clear analytics data.

*Affected Components*

* `tilores-cli` v0.35.3 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.79.2

*released on 2025-09-15*

[!badge variant="warning" text="CHANGED"]
Migrated assembly status metrics to the proprietary tilores-core, enabling
easier adjustment in non-standard deployments.

*Affected Components*

* `tilores-cli` v0.35.2 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-plugin-api` v0.21.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-core` v0.66.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.79.1

*released on 2025-09-12*

[!badge variant="warning" text="CHANGED"]
Optimized matching engine performance in specific scenarios.

*Affected Components*

* `tilores-core` v0.65.1 (upgrade by running `tilores-cli deploy`)

### v0.79.0

*released on 2025-09-10*

[!badge variant="warning" text="CHANGED"]
Adjusted the hit score calculation to better reflect the relevance of the
resulting entities.

[!badge variant="danger" text="FIXED"]
Fixed an issue with paging that caused random order of the paged results.

[!badge variant="success" text="NEW"]
Added new [search sorting options](api.md#query-search), allowing users to
switch between default entity ID order and hit score order.

[!badge variant="warning" text="CHANGED"]
Improved the performance when querying entities where the consistency score
was always calculated (if configured) and now is only calculated if 
its also queried.

*Affected Components*

* `tilores-cli` v0.35.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-plugin-api` v0.20.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-core` v0.65.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.78.1

*released on 2025-08-26*

[!badge variant="danger" text="FIXED"]
Fixed a thread-safety issue in an external library used for formatting data
during error logging. This could cause temporary assembly errors, which were
typically resolved automatically by the default retry logic.

*Affected Components*

* `tilores-core` v0.64.1 (upgrade by running `tilores-cli deploy`)

### v0.78.0

*released on 2025-07-24*

[!badge variant="warning" text="CHANGED"]
Optimized the assembly lambda configuration to increase the overall throughput
during frequent entity locking scenarios.

This option currently is only available for use with SQS queues.

!!!danger
Deploying this release during running operation under high load might result in
locked entities not being recognized and the record invalidly being reported as
processed. To deploy during operation, we recommend to manually first enable the
option "Report batch item failures" for the assembly and serial assembly lambda
trigger as shown in the images below.
!!!

![step 1: locate trigger](static/release-0-88-0-trigger.png)

![step 2: edit trigger](static/release-0-88-0-trigger-edit.png)

*Affected Components*

* `tilores-core` v0.64.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.28.0 (upgrade by running `tilores-cli deploy`)

### v0.77.0

*released on 2025-07-18*

[!badge variant="success" text="NEW"]
Added a deployment option to enable a serial raw data queue for frequently
locked entities. If enabled frequently locked entities will automatically be
detected and migrated from the raw data queue into the serial raw data queue.
Within that new queue records will be processed one after another without
concurrency, resulting in an overall better performance on the standard raw data
queue. Please refer to the
[terraform documentation](https://registry.terraform.io/modules/tilotech/tilores-core/aws/latest?tab=inputs)
for details.

[!badge variant="success" text="NEW"]
Added a deployment option to enable GZIP compression on entity files. GZIP
compression was originally introduces in [release v0.35.0](#v0350). Please refer
to the
[terraform documentation](https://registry.terraform.io/modules/tilotech/tilores-core/aws/latest?tab=inputs)
for details.

*Affected Components*

* `tilores-core` v0.63.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.27.1 (upgrade by running `tilores-cli deploy`)

### v0.76.0

*released on 2025-07-14*

[!badge variant="success" text="NEW"]
Introduced a new option during joining strings in the transformation steps that
requires certain inputs to be non-empty.

*Affected Components*

* `tilores-core` v0.62.0 (upgrade by running `tilores-cli deploy`)

### v0.75.1

*released on 2025-07-09*

[!badge variant="danger" text="FIXED"]
Fixed an issue in an external library's qgram similarity calculation that, under
certain conditions, caused hit scores to exceed 1.0.

*Affected Components*

* `tilores-core` v0.61.1 (upgrade by running `tilores-cli deploy`)

### v0.75.0

*released on 2025-07-04*

[!badge variant="success" text="NEW"]
Introduced a new [advanced ID list matcher](rules/matcher.md#advanced-id-list-matching).

[!badge variant="success" text="NEW"]
Introduced a new [consistency feature](rules/consistency.md) specifically to
ensure consistency among various ID types within a single entity. Please note,
that this feature is in an early stage and might not perform well under all
circumstances.

*Affected Components*

* `tilores-core` v0.61.0 (upgrade by running `tilores-cli deploy`)
* `tilores-plugin-api` v0.19.0 (upgrade by running `tilores-cli deploy`)

### v0.74.1

*released on 2025-06-26*

[!badge variant="danger" text="FIXED"]
Fixed an issue where sometimes snapshots were not included in the analytics
module, leading to incomplete or wrong query results.

*Affected Components*

* `func-scavenger` v0.4.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.26.0 (upgrade by running `tilores-cli deploy`)

### v0.74.0

*released on 2025-06-20*

[!badge variant="success" text="NEW"]
Now it is possible to [query the assembly (ingestion) status](api.md#assembly-status) on the API.
The status shows current state "READY" or "IN_PROGRESS", and it also
shows the estimated time remaining (in minutes) given that there wont
be any new records ingested.

!!!danger
In case custom changes were made to certain files in your tilores project,
a backup file is created when running `tilores-cli upgrade`. For example
if `deployment/tilores/main.tf` was changed, then a `deployment/tilores/main.tf.bak`
is created as the old version, please check the backup file and migrate the
changes to the new file.
!!!

*Affected Components*

* `tilores-cli` v0.34.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `terraform-aws-tilores-core` v0.25.0 (upgrade by running `tilores-cli deploy`)

### v0.73.1

*released on 2025-06-18*

[!badge variant="danger" text="FIXED"]
Fixed an issue with the partition creation of the new analytics module.

*Affected Components*

* `tilores-core` v0.60.2 (upgrade by running `tilores-cli deploy`)

### v0.73.0

*released on 2025-06-17*

[!badge variant="success" text="NEW"]
It is now possible to enable the new [analytics module](api.md#advanced-analytics)
for large scale batch analysis of the entities and records stored in Tilores.

*Affected Components*

* `tilores-core` v0.60.1 (upgrade by running `tilores-cli deploy`)
* `func-scavenger` v0.3.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.24.0 (upgrade by running `tilores-cli deploy`)

### v0.72.0

*released on 2025-06-04*

[!badge variant="success" text="NEW"]
It is now possible to persist the transformation output into the record
by assigning a target field on transformation [output](rules/transformer.md#output).

*Affected Components*

* `tilores-core` v0.59.1 (upgrade by running `tilores-cli deploy`)

### v0.71.4

*released on 2025-06-02*

[!badge variant="warning" text="CHANGED"]
Improved memory consumption of internal graph data structures during the assembly process.

*Affected Components*

* `tilores-core` v0.58.4 (upgrade by running `tilores-cli deploy`)

### v0.71.3

*released on 2025-05-09*

[!badge variant="danger" text="FIXED"]
Fixed an internal issue where splitting an entity would result in storing some of the resulting entities in the
compressed version introduced in release v0.71.0. This only affected the data layer, but not the functionality
experienced on the user side.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.58.3 (upgrade by running `tilores-cli deploy`)

### v0.71.2

*released on 2025-05-06*

[!badge variant="danger" text="FIXED"]
Fixed another issue where a huge index size could block all assembly requests that was not covered in the previous fix.

*Affected Components*

* `tilores-core` v0.58.2 (upgrade by running `tilores-cli deploy`)

### v0.71.1

*released on 2025-05-05*

[!badge variant="danger" text="FIXED"]
Fixed an issue where a huge index size could block all assembly requests.

*Affected Components*

* `tilores-core` v0.58.1 (upgrade by running `tilores-cli deploy`)

### v0.71.0

*released on 2025-05-02*

[!badge variant="warning" text="CHANGED"]
It is now possible to store more than 20,000 edges per entity without it being marked as faulty. Internally Tilores now
uses a graph compression algorithm that stores the edges in an optimized way for large entities. Entities that were
previously marked as faulty will now be queryable again and will automatically switch to the compressed storage once
records are added.

Please note, that due to the different way of storing these entities, it might be necessary to adjust some of the
Athena queries to get the correct number of records, edges or related information.

*Affected Components*

* `tilores-core` v0.58.0 (upgrade by running `tilores-cli deploy`)

### v0.70.0

*released on 2025-04-02*

[!badge variant="success" text="NEW"]
Added an option to [choose the rule set](api.md#query-search) while searching.

*Affected Components*

* `tilores-cli` v0.33.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-plugin-api` v0.18.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-core` v0.57.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.69.1

*released on 2025-03-27*

[!badge variant="danger" text="FIXED"]
Fixed an index issue in a private indexing strategy. No production customers
were affected.

*Affected Components*

* `tilores-core` v0.56.3 (upgrade by running `tilores-cli deploy`)

### v0.69.0

*released on 2025-03-17*

[!badge variant="warning" text="CHANGED"]
Added warnings in the assemble logs for large indexes.

*Affected Components*

* `tilores-core` v0.56.2 (upgrade by running `tilores-cli deploy`)

### v0.68.1

*released on 2025-03-14*

[!badge variant="danger" text="FIXED"]
Fixed an issue with language being required in the normalize name transformer
that was introduced in [release v0.68.0](#v0680)

*Affected Components*

* `tilores-core` v0.56.1 (upgrade by running `tilores-cli deploy`)

### v0.68.0

*released on 2025-03-13*

[!badge variant="success" text="NEW"]
Introduced the new [normalize name transformer](rules/transformer.md#normalize-name).

*Affected Components*

* `tilores-core` v0.56.0 (upgrade by running `tilores-cli deploy`)

### v0.67.1

*released on 2025-03-11*

[!badge variant="danger" text="FIXED"]
Fix missing detection of multiple emails in the normalize email transformer that
was introduced in [release v0.66.0](#v0660).

*Affected Components*

* `tilores-core` v0.55.1 (upgrade by running `tilores-cli deploy`)

### v0.67.0

*released on 2025-03-10*

[!badge variant="warning" text="CHANGED"]
Using the `frequencyDistribution` from the [record insights](api.md#record-insights)
now provides deterministic behavior for equally frequent values.

[!badge variant="warning" text="CHANGED"]
Updated internal dependencies. Tilores now requires the minimum golang version
to be `1.24`.

*Affected Components*

* `tilores-cli` v0.32.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-insights` v0.4.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.66.0

*released on 2025-03-07*

[!badge variant="success" text="NEW"]
Introduced the new [normalize email transformer](rules/transformer.md#normalize-email).

*Affected Components*

* `tilores-core` v0.55.0 (upgrade by running `tilores-cli deploy`)

### v0.65.0

*released on 2025-03-04*

[!badge variant="danger" text="BREAKING"]
Simplified error handling throughout the transformation steps. Each transformer
will now either return a valid value or an empty value (`null`). Transformers
will no longer return errors. This ensures consistent behavior throughout all
transformation steps and reduces the number of required transformers. As a
consequence, the must exist option was removed from the extract transformer and
moved into the relevant matchers.

This is a breaking change for configurations with disabled must exist option in
the extract transformation. As always, we will support existing customers to
update the configuration accordingly.

*Affected Components*

* `tilores-core` v0.54.0 (upgrade by running `tilores-cli deploy`)

### v0.64.0

*released on 2025-02-11*

[!badge variant="success" text="NEW"]
Introduced a new option `cloudwatch_logs_retention_in_days` to configure the
retention time for CloudWatch logs.

*Affected Components*

* `terraform-aws-tilores-core` v0.23.0 (upgrade by running `tilores-cli deploy`)

### v0.63.0

*released on 2025-01-27*

[!badge variant="success" text="NEW"]
Added scoring for entities and hits to enhance match evaluation. The `score` for
an entity reflects the overall quality of matches within the entity. Meanwhile,
the `hitScore` indicates how closely the match aligns with the provided search
parameters.

*Affected Components*

* `tilores-cli` v0.31.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-core` v0.50.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-plugin-api` v0.17.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.62.1

*released on 2025-01-13*

[!badge variant="warning" text="CHANGED"]
Improved performance of various matching algorithms.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.49.2 (upgrade by running `tilores-cli deploy`)

### v0.62.0

*released on 2024-12-16*

[!badge variant="danger" text="FIXED"]
Very short texts (one character) and empty texts are now properly matched using
similarity comparison such as Cosine.

[!badge variant="success" text="NEW"]
Introduced an option to return an empty text as a token when using the word
tokenizer. The default behavior remains to return no token.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.49.1 (upgrade by running `tilores-cli deploy`)

### v0.61.1

*released on 2024-12-10*

[!badge variant="danger" text="FIXED"]
Added the missing variable `api_access_log_format` which is required to enable api access logs.

*Affected Components*

* `terraform-aws-tilores-core` v0.22.1 (upgrade by running `tilores-cli deploy`)

### v0.61.0

*released on 2024-12-10*

[!badge variant="success" text="NEW"]
Introduced a new option to provide a log group arn where api access logs are stored 
using the variable `api_access_log_destination_arn`.

*Affected Components*

* `terraform-aws-tilores-core` v0.22.0 (upgrade by running `tilores-cli deploy`)

### v0.60.0

*released on 2024-12-02*

[!badge variant="success" text="NEW"]
Introduced a new matcher [empty aware matcher](rules/matcher.md#empty-aware-matcher),
for making another matcher return true in case one or both compared values are empty.

* `tilores-core` v0.49.0 (upgrade by running `tilores-cli deploy`)

### v0.59.3

*released on 2024-10-23*

[!badge variant="warning" text="CHANGED"]
Changed an internal initial buffer size to slightly improve the performance of
assembly requests and reduce garbage collection time. Performance gain is
mostly notable for in-memory uses.

* `tilores-core` v0.47.2 (upgrade by running `tilores-cli deploy`)

### v0.59.2

*released on 2024-09-26*

[!badge variant="danger" text="FIXED"]
Fixed an issue with the lambda bootstrap that caused panics while running the
`submitWithPreview` action.

* `tilores-core` v0.47.1 (upgrade by running `tilores-cli deploy`)

### v0.59.1

*released on 2024-09-25*

[!badge variant="warning" text="CHANGED"]
Upgraded dependencies of the GraphQL service. Due to requirements of some
internal dependencies, the minimal golang version needs to be `1.22.5`, but we
recommend to run with the latest golang version `1.23.x`.

*Affected Components*

* `tilores-cli` v0.30.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)

### v0.59.0

*released on 2024-09-16*

[!badge variant="success" text="NEW"]
Added matching score value between two edges. This is an experimental
feature, that has not yet been added to the API. Existing analytics queries
might need to be adjusted if they are dependent on the edges.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.46.0 (upgrade by running `tilores-cli deploy`)
* `tilores-plugin-api` v0.16.0 (upgrade by running `tilores-cli deploy`)

### v0.58.1

*released on 2024-07-08*

[!badge variant="danger" text="FIXED"]
Fixed invalid automatic blocking in the probabilistic matcher when 8 features
(or multiples of 8) were provided.

*Affected Components*

* `tilores-core` v0.45.1 (upgrade by running `tilores-cli deploy`)

### v0.58.0

*released on 2024-07-04*

[!badge variant="success" text="NEW"]
Introduced a new [probabilistic matcher](rules/matcher.md#probabilistic-matching)
which allows to train a probabilistic model and match based on this model.
Probabilistic matching can be combined with rule based matching.

*Affected Components*

* `tilores-core` v0.45.0 (upgrade by running `tilores-cli deploy`)

### v0.57.0

*released on 2024-06-06*

[!badge variant="success" text="NEW"]
Introduced a new GraphQL mutation [submitWithPreview](api.md#mutation-submitwithpreview) which provides the 
possibility to preview how the entities would look like when/if the provided
records were ingested.

*Affected Components*

* `tilores-cli` v0.29.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)
* `tilores-plugin-api` v0.15.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-core` v0.44.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.56.0

*released on 2024-03-22*

[!badge variant="success" text="NEW"]
Introduced a new option to [provide a terraform variables file](cli.md#deploy)
when using tilores-cli plan, deploy and destroy.

This helps manage different environments.

*Affected Components*

* `tilores-cli` v0.28.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)

### v0.55.2

*released on 2024-02-29*

[!badge variant="danger" text="FIXED"]
Fixed an issue that caused deployments to fail when an older version of Tilores
was already deployed.

*Affected Components*

* `terraform-aws-tilores-core` v0.21.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-cognito` v0.5.0 (upgrade by running `tilores-cli deploy`)

### v0.55.1

*released on 2024-02-28*

[!badge variant="danger" text="FIXED"]
Fixed an incompatibility between go version 1.22.x and an internal dependency.

!!!
When upgrading from a Tilores version before v0.54.0 we recommend to first run
the upgrade with a go version of 1.21.x before upgrading golang. Please contact
us if you have already upgraded golang and are unable to downgrade.
!!!

*Affected Components*

* `tilores-cli` v0.27.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest` and then `tilores-cli upgrade`)

### v0.55.0

*released on 2024-02-19*

[!badge variant="success" text="NEW"]
Introduced a new option to [provide an IP allow list](authentication.md#ip-allow-list)
as an extra layer of protection on Tilores API.

*Affected Components*

* `terraform-aws-tilores-core` v0.20.0 (upgrade by running `tilores-cli deploy`)

### v0.54.0

*released on 2024-01-29*

[!badge variant="success" text="NEW"]
Introduced new consistency score for entities.

*Affected Components*

* `tilores-cli` v0.27.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-plugin-api` v0.14.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-core` v0.43.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.53.0

*released on 2023-11-29*

[!badge variant="success" text="NEW"]
Introduced a new transformer for
[constructing dates from multiple values](rules/transformer.md#make-date).

*Affected Components*

* `tilores-core` v0.41.0 (upgrade by running `tilores-cli deploy`)

### v0.52.1

*released on 2023-11-22*

[!badge variant="danger" text="FIXED"]
Fixed an issue when a rule index is too large to be created within timeout period.

*Affected Components*

* `tilores-core` v0.40.3 (upgrade by running `tilores-cli deploy`)

### v0.52.0

*released on 2023-11-06*

[!badge variant="success" text="NEW"]
Added two new operations to the modify list transformer. Using the sort
operation you can now sort the provided array. And using the extract operation
you can query one or multiple fields from each entry of a list if that entry
contains sub fields.
Before this change, this was only possible using the extract transformer in the
slow and user unfriendly `jq`-like mode.

*Affected Components*

* `tilores-core` v0.40.0 (upgrade by running `tilores-cli deploy`)

### v0.51.0

*released on 2023-10-31*

[!badge variant="success" text="NEW"]
Introduced a new transformer for modifying lists. Currently this transformer
supports the following operations: make unique, slice and verify size.

*Affected Components*

* `tilores-core` v0.39.0 (upgrade by running `tilores-cli deploy`)

### v0.50.0

*released on 2023-10-24*

[!badge variant="success" text="NEW"]
It is now possible to create a hash value for a text during the transformation.

[!badge variant="success" text="NEW"]
It is now possible to match at least N tokens using the advanced text matcher.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.38.0 (upgrade by running `tilores-cli deploy`)

### v0.49.0

*released on 2023-10-24*

[!badge variant="danger" text="BREAKING"]
Changed the structure of the entity events to have a common structure across all
different types of events. Each entity event now includes all record IDs of an
affected entity. This is helpful when another system needs to stay in sync with
the data in Tilores where the data would be updated based on the IDs.

[!badge variant="success" text="NEW"]
It is now possible to use SQS instead of Kinesis as the entity stream by providing
`entity_event_stream_shard_count="0"` and `create_entity_stream=true`.

*Affected Components*

* `tilores-core` v0.37.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.18.0 (upgrade by running `tilores-cli deploy`)

### v0.48.0

*released on 2023-10-17*

[!badge variant="warning" text="CHANGED"]
Added support for non-cloud-based deployments.

*Affected Components*

* `tilores-core` v0.36.0 (upgrade by running `tilores-cli deploy`)

### v0.47.1

*released on 2023-09-28*

[!badge variant="danger" text="FIXED"]
Fixed an issue when updating a record where the new record data does not match
the previous data with any rule.

*Affected Components*

* `tilores-core` v0.35.3 (upgrade by running `tilores-cli deploy`)

### v0.47.0

*released on 2023-09-27*

[!badge variant="success" text="NEW"]
Introduced a new transformer for normalizing phone numbers.

[!badge variant="warning" text="CHANGED"]
Refactored internal code to allow replacement of standard database and storage
services with alternative services.

*Affected Components*

* `tilores-core` v0.35.2 (upgrade by running `tilores-cli deploy`)

### v0.46.2

*released on 2023-09-25*

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.34.2 (upgrade by running `tilores-cli deploy`)
* `func-scavenger` v0.2.1 (upgrade by running `tilores-cli deploy`)
* `tilores-cli` v0.26.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.46.1

*released on 2023-09-18*

[!badge variant="danger" text="FIXED"]
Changed the naming of the execution plan files to prevent S3 errors under high
load (more than 3000 requests per second). It is safe to apply this change any
time.

*Affected Components*

* `tilores-core` v0.34.1 (upgrade by running `tilores-cli deploy`)

### v0.46.0

*released on 2023-09-18*

[!badge variant="warning" text="CHANGED"]
It is now possible to completely deactivate the entity stream when not used.
This reduces costs and slightly increases the performance during the assembly.

[!badge variant="warning" text="CHANGED"]
It is now possible to switch the implementation of the raw data stream from
Kinesis to SQS. SQS is the better choice for most applications with low to
moderate throughput (up to 1000 requests per second) as it completely autoscales
(no need for defining the number of shards up-front) at generally lower costs
(especially in scenarios with unpredictable largely varying loads).

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components*

* `tilores-core` v0.34.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.17.0 (upgrade by running `tilores-cli deploy`)
* `func-customer-metrics` v0.5.0 (upgrade by running `tilores-cli deploy`)

### v0.45.0

*released on 2023-09-08*

[!badge variant="success" text="NEW"]
It is now possible to disable the entity stream by providing 
`entity_event_stream_shard_count="0"`. The stream will not be created.

*Affected Components*

* `tilores-core` v0.33.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.16.0 (upgrade by running `tilores-cli deploy`)

### v0.44.0

*released on 2023-09-07*

[!badge variant="success" text="NEW"]
Introduced a new option for removing common US city names using the convert text
transformer. This enables writing fuzzier rules for less populated areas.

*Affected Components*

* `tilores-core` v0.32.0 (upgrade by running `tilores-cli deploy`)

### v0.43.0

*released on 2023-09-06*

[!badge variant="success" text="NEW"]
Introduced a new option for removing common names using the convert text
transformer. This enables writing fuzzier rules for rare names.

[!badge variant="success" text="NEW"]
Introduced a new comparator to compare using nicknames.

*Affected Components*

* `tilores-core` v0.31.0 (upgrade by running `tilores-cli deploy`)

### v0.42.0

*released on 2023-07-18*

[!badge variant="success" text="NEW"]
It is now possible to update records. This can be used for changing the existing
data, but also for updating the existing links after rules have been changed
(reindexing). This new feature is turned on by default for all instances in
public SaaS, but disabled for all private SaaS instances.

*Affected Components:*

* `tilores-core` v0.29.0 (upgrade by running `tilores-cli deploy`)
* `tilores-plugin-api` v0.12.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.15.0 (upgrade by running `tilores-cli deploy`)

### v0.41.2

*released on 2023-07-13*

[!badge variant="danger" text="FIXED"]
Fixed an issue with [record insights](api.md#record-insights), that prevented the
filter from working properly when the value provided is an integer or a float.

*Affected Components:*

* `tilores-insights` v0.3.1 (upgrade by running `tilores-cli deploy`)

### v0.41.1

*released on 2023-06-29*

[!badge variant="danger" text="FIXED"]
Fixed issues where disassembling unknown records or records that belong to more
than one entity could potentially block the raw data stream.

*Affected Components:*

* `tilores-core` v0.28.1 (upgrade by running `tilores-cli deploy`)

### v0.41.0

*released on 2023-06-29*

[!badge variant="danger" text="BREAKING"]
Changed the disassemble from being a partial synchronous and asynchronous
process to be a fully asynchronous process. As a result it is no longer possible
to receive the resulting entity IDs. However, this is now fully comparable with
the previous behavior of running into an asynchronous invocation. Furthermore,
asynchronous invocations will no longer be indicated by an error and the user no
longer has to take care of the retries.

Previously the asynchronous behavior was internally archived using asynchronous
Lambda invocations, which was limited to a maximum of two automatic retries
before the event ended up in the dead letter queue. Now, the invocation is
performed using the raw data stream, resulting in a more consistent and less
error prone process. This also means that now the assemble lambda takes care of
both assemblies and disassemblies of entities.

*Affected Components:*

* `tilores-cli` v0.25.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-core` v0.28.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `terraform-aws-tilores-core` v0.13.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-plugin-api` v0.11.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.40.0

*released on 2023-06-09*

[!badge variant="success" text="NEW"]
Introduced filter transformer.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components:*

* `tilores-core` v0.27.0 (upgrade by running `tilores-cli deploy`)

### v0.39.0

*released on 2023-06-07*

[!badge variant="success" text="NEW"]
Introduced a new temporal distance matcher.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components:*

* `tilores-core` v0.26.0 (upgrade by running `tilores-cli deploy`)

### v0.38.0

*released on 2023-06-02*

[!badge variant="success" text="NEW"]
Introduced a new comparator that only matches if two tokens are distinct from
each other.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components:*

* `tilores-core` v0.25.0 (upgrade by running `tilores-cli deploy`)

### v0.37.0

*released on 2023-05-25*

[!badge variant="success" text="NEW"]
Introduced a first version of [edge insights](api.md#edge-insights), that provide
statistics and aggregations on an entities edges and duplicates.

*Affected Components:*

* `tilores-cli` v0.24.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-insights` v0.3.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.36.0

*released on 2023-05-10*

[!badge variant="success" text="NEW"]
Added the [What-IF Machine](api.md#what-if-machine), that enables you to see
what would happen if certain records were not present in an entity.

*Affected Components:*

* `tilores-cli` v0.23.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-core` v0.24.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-plugin-api` v0.10.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.35.0

*released on 2023-04-27*

[!badge variant="success" text="NEW"]
Added an experimental feature to compress the entity files in S3 in order to
improve the performance for large entities. It can be turned on any time by
setting the Lambda environment variable `ENTITY_FILE_COMPRESSION` to `gzip` for
the assembly and disassemble functions. Activating this feature will compress
the entity file on the next entity change.

*Affected Components:*

* `tilores-core` v0.23.0 (upgrade by running `tilores-cli deploy`)

### v0.34.1

*released on 2023-04-27*

[!badge variant="danger" text="FIXED"]
Fixed a potential memory race condition when using the jq-like syntax introduced
in release v0.33.0.

[!badge variant="danger" text="FIXED"]
Fixed an issue that was introduced due to the fix in release v0.34.0, causing
execution plans not to be executed when an entity did not exist at all.

*Affected Components:*

* `tilores-core` v0.22.1 (upgrade by running `tilores-cli deploy`)

### v0.34.0

*released on 2023-04-26*

[!badge variant="success" text="NEW"]
Added possibility to define the log level via the Lambda environment variable
`LOG_LEVEL`, which can be one of the following values:
* `trace` (currently unused)
* `debug`
* `info` (default)
* `warn`
* `error`
* `fatal` (currently unused)
* `panic` (currently unused)

[!badge variant="success" text="NEW"]
Added debug log messages to the assembly process.

[!badge variant="danger" text="FIXED"]
Fixed an issue where an already processed execution plan was reprocessed,
potentially leading to data loss if another record was added to the same entity
in the meantime. This only occurred extremely seldom under very specific
conditions (very high parallel load of lots of very similar data).

*Affected Components:*

* `tilores-core` v0.22.0 (upgrade by running `tilores-cli deploy`)

### v0.33.0

*released on 2023-04-20*

[!badge variant="success" text="NEW"]
Added option to extract data from a record using a [jq-like syntax](https://stedolan.github.io/jq/).
When enabling this feature in the extract transformer, the path `.myfield.sub` is
equal to the default `myfield.sub`. Additionally it allows you to write more
complex extractions like e.g. `.myfield.sub | map(.prop)`. Please refer to the
[jq manual](https://stedolan.github.io/jq/manual/) for more details.

[!badge variant="warning" text="CHANGED"]
When the assemble recognizes a locked entity, it will now retry it internally
instead of returning with an error and let the lambda service retry it at a
later point in time. This will make it easier to differentiate actual
errors from locked entities in the metrics.

[!badge variant="danger" text="FIXED"]
Fixed some rare occurring errors in the `tilores-cli` while erasing the instance
data.

*Affected Components:*

* `tilores-cli` v0.22.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-core` v0.21.0 (upgrade by running `tilores-cli deploy`)

### v0.32.0

*released on 2023-04-14*

[!badge variant="success" text="NEW"]
Added a new transformer for generating values for various use cases. The
transformer allows to generate a new static text value, a random number or a
sequential list of numbers.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components:*

* `tilores-core` v0.20.0 (upgrade by running `tilores-cli deploy`)

### v0.31.0

*released on 2023-04-12*

[!badge variant="success" text="NEW"]
Added a new option to the token matcher to include multiple tokens into the same
index. This is helpful for rules where a single token does not have enough
variants, resulting in relatively few often reused indexes, eventually leading
to bad performance.

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components:*

* `tilores-core` v0.19.0 (upgrade by running `tilores-cli deploy`)

### v0.30.0

*released on 2023-04-11*

[!badge variant="success" text="NEW"]
The [custom scalar](schema.md#default-scalars) `Time` now accepts ISO 8601
format as an input, in addition to the previously supported RFC3339Nano format.

!!!
The output format when a field of the type `Time` is queried is always
RFC3339Nano, regardless of the format it was originally added.
!!!

*Affected Components:*

* `tilores-cli` v0.22.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-insights` v0.2.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.29.0

*released on 2023-03-27*

[!badge variant="success" text="NEW"]
It is now possible to query an entity by any of its known record IDs via the
GraphQL API.

[!badge variant="danger" text="BREAKING"]
Removed support for the fake commands (deploy, destroy, run) as announced in
release v0.17.1.

!!!
You need at least go 1.20 or later to be able to upgrade to tilores-cli v0.20.0
!!!

*Affected Components:*

* `tilores-cli` v0.20.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `go-plugin` v0.1.1 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-plugin-api` v0.9.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)
* `tilores-core` v0.18.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.28.0

*released on 2023-03-24*

[!badge variant="success" text="NEW"]
It is now possible to disable indexing of some matchers of a rule to receive
better performance and cost efficiency. This is especially helpful in situations
where many similarity or geo matchers are used in a single rule, leading to a
high amount of index entries.

*Affected Components:*

* `tilores-core` v0.17.0 (upgrade by running `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.27.0

*released on 2023-03-17*

[!badge variant="success" text="NEW"]
Added the following meta data to a record, that can be queried using Athena:
* `submitTimestamp` - timestamp for when a record was submitted via the API
* `assembleTimestamp` - timestamp for when a record was [assembled](rules/index.md)

Both timestamps are stored in the format RFC 3339.

*Affected Components:*

* `tilores-core` v0.16.0 (upgrade by running `tilores-cli deploy`)
* `tilores-plugin-api` v0.8.0 (upgrade by running `tilores-cli deploy`)

### v0.26.3

*released on 2023-03-16*

[!badge variant="warning" text="CHANGED"]
Changed logging to include log levels and format them using JSON for easier
usage with CloudWatch Log Insights.

*Affected Components:*

* `tilores-core` v0.15.4 (upgrade by running `tilores-cli deploy`)

### v0.26.2

*released on 2023-03-15*

[!badge variant="danger" text="FIXED"]
The transformer for extracting values now correctly returns null instead of an
empty string when the extracted values was an empty string. This could have
caused subsequent transformers not to behave correctly.

*Affected Components:*

* `tilores-core` v0.15.3 (upgrade by running `tilores-cli deploy`)

### v0.26.1

*released on 2023-03-14*

[!badge variant="danger" text="FIXED"]
The transformer for extracting values from a previous transformation step now
correctly handles empty paths. That means for an empty path it provides the
incoming data to the next transformer or resolver, but evaluates the "must exist"
and "case sensitive" options.

*Affected Components:*

* `tilores-core` v0.15.2 (upgrade by running `tilores-cli deploy`)

### v0.26.0

*released on 2023-03-13*

[!badge variant="success" text="NEW"]
Introduced [record insights](api.md#record-insights), that provide filtering,
statistics and aggregations on entity records.

[!badge variant="danger" text="BREAKING"]
The [custom scalars](schema.md#default-scalars) `Time`, `Map` and `Any` are now
always provided by Tilores. Customers who have them defined in their GraphQL
schema files need to remove them.

*Affected Components:*

* `tilores-cli` v0.20.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-insights` v0.1.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.25.1

*released on 2023-02-28*

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies.

*Affected Components:*

* `tilores-core` v0.15.1 (upgrade by running `tilores-cli deploy`)

### v0.25.0

*released on 2023-02-21*

[!badge variant="warning" text="CHANGED"]
Switched standard AWS Lambda execution policy to a more restrict custom policy.
This prevents rare cases of CloudWatch log group (re)creation during destroying
a deployment while still ingesting data. This could have lead to situations
where a later deployment might fail as the soon-to-be created log groups are
already present.

[!badge variant="warning" text="CHANGED"]
Added additional outputs to the terraform module for easier customization.
Please refer to the module documentation for the whole list of outputs.

*Affected Components:*

* `terraform-aws-tilores-core` v0.12.0 (upgrade by running `tilores-cli deploy`)

### v0.24.0

*released on 2023-02-02*

[!badge variant="warning" text="CHANGED"]
Upgraded internal dependencies to support golang v1.20.0.

*Affected Components:*

* `tilores-cli` v0.19.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* internal dependencies (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.23.1

*released on 2022-12-02*

[!badge variant="danger" text="FIXED"]
Fixed an issue that was blocking the assemble process when submitting records in
the same request with the same ID. These cases will now be detected and written
into the dead-letter-queue.

*Affected Components:*

* `tilores-core` v0.14.2 (upgrade by running `tilores-cli deploy`)

### v0.23.0

*released on 2022-11-10*

[!badge variant="danger" text="BREAKING"]
Changed the way how the rules can be configured. This introduces some advanced
configuration possibilities and enables us to provide more flexible matching
and preprocessing in the future as well as better UI support for rule
configuration.

Please be aware, that the documentation has not yet been updated everywhere. For
a good example on how to configure the new rules we advise you to look at the
example for the [public walkthrough](publicsaaswalkthrough.md#rules) or simply
contact us.

This is a breaking change. Using the old configuration format in combination
with the new implementation will not work. However, the old configuration can
be converted into the new schema and existing instances will continue to work in
most cases. For those small subtle differences where the data is stored
differently we provided a migration plan for affected customers.

*Affected Components:*

* `tilores-cli` v0.18.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-core` v0.13.0 (upgrade by running `tilores-cli deploy`)

### v0.22.1

*released on 2022-08-26*

[!badge variant="danger" text="FIXED"]
Fixed an issue which caused the `erase` command to fail when using an
external backend configuration and not having terraform initialized.

*Affected Components:*

* `tilores-cli` v0.17.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.22.0

*released on 2022-08-18*

[!badge variant="success" text="NEW"]
The phonetic [noDiacritOrSpecials](rules/phonetic.md#nodiacritorspecials) now
detects and decodes unicodes, such as `\u00f5` and `\\u00f5`.

*Affected Components:*

* `tilores-core` v0.12.0 (upgrade by running `tilores-cli deploy`)

### v0.21.0

*released on 2022-08-01*

[!badge variant="success" text="NEW"]
It is now possible to configure CORS for the API.

To add a CORS configuration edit your `deployment/tilores/main.tf` and add the
following (or parts of it) to your tilores module:

```
cors_configuration = {
  allow_credentials = true
  allow_headers     = ["Content-Type"]
  allow_methods     = ["OPTIONS", "POST"]
  allow_origins     = ["https://example.com"]
  expose_headers    = ["X-Custom-Header"]
  max_age           = 300
}
```

*Affected Components:*

* `terraform-aws-tilores-core` v0.10.0 (upgrade by running `tilores-cli deploy`)

### v0.20.0

*released on 2022-07-29*

[!badge variant="danger" text="BREAKING"]
It is now possible to use the lambda authorizer introduced in v0.19.0 without
creating custom scope resolvers.

*Update 2022-08-01:* This release was previously marked as
[!badge variant="success" text="NEW"]. However, due to using a Terraform feature
that was introduced in Terraform version `v1.2`, this is unfortunately an
unplanned breaking change and requires you to update Terraform accordingly. We
would like to apologize for any inconvenience.

*Affected Components:*

* `tilores-cli` v0.17.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `tilores-directive-oauth-scope` v0.2.0 (upgrade by running `tilores-cli upgrade` and `tilores-cli deploy` after upgrading the `tilores-cli`)

### v0.19.0

*released on 2022-07-28*

[!badge variant="success" text="NEW"]
It is now possible to configure the API authorizer in Terraform core module and
use a lambda authorizer.

[!badge variant="success" text="NEW"]
It is now possible to configure the default API stage in Terraform core module.

*Affected Components:*

* `terraform-aws-tilores-core` v0.9.0 (upgrade by running `tilores-cli deploy`)

### v0.18.1

*released on 2022-06-17*

[!badge variant="danger" text="FIXED"]
Fixed an issue which caused the `destroy` command to fail when using an
external backend configuration in combination with a fresh copy from a SCM.

*Affected Components:*

* `tilores-cli` v0.16.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.18.0

*released on 2022-06-13*

[!badge variant="danger" text="BREAKING"]
Due to API changes the commands [rules-simulate](cli.md#rules-simulate) and [rules-test](cli.md#rules-test)
will only work for v0.16.0 and later versions of tilores-cli.

!!!
You need at least go 1.18 or later to be able to upgrade to tilores-cli v0.16.0
!!!

*Affected Components:*

* `tilores-cli` v0.16.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.17.1

*released on 2022-06-02*

[!badge variant="warning" text="CHANGED"]
Marked the `tilores-cli deploy fake-api` and `tilores-cli destroy fake-api`
commands as deprecated. Both commands will be removed in a future release.

*Affected Components:*

* `tilores-cli` v0.15.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.17.0

*released on 2022-05-25*

[!badge variant="success" text="NEW"]
Introduced the [`tilores-cli plan` command](cli.md#plan), which helps to check
which AWS resources would be affected during a deployment.

*Affected Components:*

* `tilores-cli` v0.15.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.16.1

*released on 2022-05-20*

[!badge variant="danger" text="FIXED"]
Fixed that the CLI command `erase` unexpectedly exited under certain conditions.

*Affected Components:*

* `tilores-cli` v0.14.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.16.0

*released on 2022-05-17*

[!badge variant="success" text="NEW"]
Introduced a new matcher [token overlap](rules/matcher.md#advanced-text-matching),
for recognizing whether the two compared fields have common text tokens.

[!badge variant="success" text="NEW"]
Introduced the [company name and company legal form](rules/transformer.md#normalize-company)
modifiers.

*Affected Components:*

* `tilores-core` v0.11.0 (upgrade by running `tilores-cli deploy`)

### v0.15.0

*released on 2022-04-04*

[!badge variant="success" text="NEW"]
It is now possible to configure the Terraform Cognito module for Web-UIs using
an OAuth code flow.

[!badge variant="success" text="NEW"]
It is now possible to retrieve the relevant values from the Terraform Cognito
module to create a custom domain for the hosted Cognito UI.

Both changes only apply to users who use the default Terraform Cognito module
during their deployment. The full list of parameters and return values can be
found in the
[Terraform Registry](https://registry.terraform.io/modules/tilotech/tilores-cognito/aws/latest).

*Affected Components:*

* `terraform-aws-tilores-cognito` v0.4.0 (upgrade by running `tilores-cli deploy`)

### v0.14.0

*released on 2022-04-01*

[!badge variant="danger" text="BREAKING"]
We wish it would be some kind of an april fools' joke, but it is not: we have
renamed the `*-entites` table into the correct spelling `*-entities`.

[!badge variant="warning" text="CHANGED"]
We upgraded the underlying terraform AWS provider to the latest version.

!!!danger
This release contains breaking changes.
Affected customers were supported with a migration plan to prevent data loss.
Non-production customers can easily upgrade by running:

```
tilores-cli destroy
tilores-cli deploy
```
!!!

*Affected Components:*

* `terraform-aws-tilores-core` v0.8.0
* `terraform-aws-tilores-cognito` v0.3.0
* `terraform-aws-tilores-fake-api` v0.5.0

### v0.13.0

*released on 2022-03-30*

[!badge variant="success" text="NEW"]
It is now possible to get the API ID and the API stage during the deployment.
This enables customers to create a base path mapping for their custom domains
using terraform.

By default the attributes can be referenced as `module.tilores.api_id` and
`module.tilores.api_default_stage_id`.

*Affected Components:*

* `terraform-aws-tilores-core` v0.7.0 (upgrade by running `tilores-cli deploy`)

### v0.12.1

*released on 2022-03-29*

[!badge variant="danger" text="FIXED"]
Fixed the versions of terraform submodules in the core module to prevent a
possibly breaking change.

*Affected Components:*

* `terraform-aws-tilores-core` v0.6.1 (upgrade by running `tilores-cli deploy`)

### v0.12.0

*released on 2022-03-21*

[!badge variant="success" text="NEW"]
Introduced a CloudWatch [Tilores dashboard](monitoring.md#tilores-dashboard)
which shows the most relevant Tilores metrics.

*Affected Components:*

* `func-customer-metrics` v0.2.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.6.0 (upgrade by running `tilores-cli deploy`)

### v0.11.0

*released on 2022-03-18*

[!badge variant="success" text="NEW"]
Introduced the [`tilores-cli erase` command](cli.md#erase), which helps
mainly during development by erasing all data within Tilores without
the need to redeploy.

*Affected Components:*

* `tilores-cli` v0.14.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.10.0

*released on 2022-03-11*

[!badge variant="danger" text="BREAKING"]
Fixed a bug that under certain conditions caused the API to no longer respond,
resulting in temporary or permanent timeouts.

[!badge variant="danger" text="BREAKING"]
Removed the flag `--dispatcher-version` from the `tilores-cli init` command. The
version is now always fixed to prevent breaking the Tilores deployment in the
future.

[!badge variant="success" text="NEW"]
Introduced the [`tilores-cli upgrade` command](cli.md#upgrade), which helps
upgrading Tilores to the latest version and resolves breaking changes
automatically.

!!!danger
This release contains breaking changes. To apply these changes you must follow
these steps.

1. Upgrade to the latest Tilores CLI:
```
go install github.com/tilotech/tilores-cli@latest
```

2. Run the upgrade command:
```
tilores-cli upgrade
```

3. Update your deployment:
```
tilores-cli deploy
```
!!!

*Affected Components:*

* `tilores-cli` v0.13.0
* `tilores-core` v0.10.0
* `tilores-plugin-api` v0.7.0
* `tilores-plugin-fake-dispatcher` v0.6.0
* `go-plugin` v0.1.0

### v0.9.2

*released on 2022-03-03*

[!badge variant="success" text="NEW"]
It is now possible to [change access token validity duration](deployment.md#access-token-validity-duration).

*Affected Components:*

* `terraform-aws-tilores-cognito` v0.2.0 (upgrade by running `tilores-cli deploy`)

### v0.9.1

*released on 2022-02-14*

[!badge variant="danger" text="FIXED"]
Avoid possibility of sending the same usage metrics more than once.

*Affected Components:*

* `terraform-aws-tilores-core` v0.5.1 (upgrade by running `tilores-cli deploy`)

### v0.9.0

*released on 2022-02-11*

[!badge variant="success" text="NEW"]
Introduced a modifier for [normalizing spaces](rules/transformer.md#normalize-white-spaces).

[!badge variant="success" text="NEW"]
Introduced a modifier for [removing spaces](rules/transformer.md#remove-spaces).

[!badge variant="warning" text="CHANGED"]
Added modifier support for the following [matchers](rules/matcher.md):
`complete`, `exactXorEmpty`, `fieldEquality`, `similarity` and `token`

*Affected Components:*

* `tilores-core` v0.9.0 (upgrade by running `tilores-cli deploy`)

### v0.8.3

*released on 2022-02-11*

[!badge variant="success" text="NEW"]
Usage metrics are now sent to `api.tilotech.io`. A GraphQL introspection query can be
done to check which usage metrics are sent.

[!badge variant="warning" text="CHANGED"]
Terraform AWS provider is now fixed to major version 3 to avoid breaking changes.

*Affected Components:*

* `func-customer-metrics` v0.1.1 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-core` v0.5.0 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-cognito` v0.1.2 (upgrade by running `tilores-cli deploy`)
* `terraform-aws-tilores-fake-api` v0.4.1 (only if the fake api is deployed, upgrade by running `tilores-cli deploy fake-api`)

### v0.8.2

*released on 2022-02-08*

[!badge variant="success" text="NEW"]
Added US East (Ohio) `us-east-2` to the [list of supported regions](deployment.md#supported-regions).

*Affected Components:*

no components are affected by this release

### v0.8.1

*released on 2022-02-04*

[!badge variant="danger" text="FIXED"]
Fixed issue that sometimes lambda fails accessing kinesis due to a wrong region
setting.

*Affected Components:*

* `tilores-core` v0.8.1 (upgrade by running `tilores-cli deploy`)

### v0.8.0

*released on 2022-02-02*

[!badge variant="success" text="NEW"]
Introduced a new matcher for [text similarity](rules/matcher.md),
that provides many standard similarity algorithms.

[!badge variant="success" text="NEW"]
You can now use the `split` function in field expressions.

[!badge variant="danger" text="FIXED"]
Fixed deployment to regions other than `eu-west-1`.
[List of supported regions](deployment.md#supported-regions).

*Affected Components:*

* `tilores-core` v0.8.0 (upgrade by running `tilores-cli deploy`)
* `tilores-cli` v0.12.2 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)
* `terraform-aws-tilores-core` v0.4.1 (upgrade by running `tilores-cli deploy`)

### v0.7.0

*released on 2022-02-01*

[!badge variant="success" text="NEW"]
Improved the field expressions used in matchers.
You can now use complex expressions.

*Affected Components:*

* `tilores-core` v0.7.0 (upgrade by running `tilores-cli deploy`)

### v0.6.1

*released on 2022-01-31*

[!badge variant="warning" text="CHANGED"]
Added [curl examples for mutations and queries](authentication.md#receiving-access-token)
in the documentation.

[!badge variant="warning" text="CHANGED"]
Added warning, that usage from [Windows is currently unsupported](quickstart.md#prerequisites).

[!badge variant="warning" text="CHANGED"]
Added `git` to the required [deploy dependencies](deployment.md#prerequisites).

[!badge variant="danger" text="FIXED"]
Fixed a bug which caused the `tilores-cli deploy` command to sometimes exit with
an error message about missing dependencies - despite them being available.

*Affected Components:*

* `tilores-cli` v0.12.1 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.6.0

*released on 2022-01-28*

[!badge variant="success" text="NEW"]
It is now possible to deploy multiple instances from the same Tilores project. This can be either in the same 
AWS account or in different ones, e.g. for production and development environments.
[Check out how it's done](deployment.md#deploy-multiple-instances).

[!badge variant="warning" text="CHANGED"]
Improved the output when running `tilores-cli rules test` to indicate if all tests are passing or no tests were
provided.

*Affected Components:*

* `tilores-cli` v0.12.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.5.0

*released on 2022-01-26*

[!badge variant="success" text="NEW"]
Introduced a new `tilores-cli` command, [rules test](cli.md#rules-test).

*Affected Components:*

* `tilores-cli` v0.11.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.4.0

*released on 2022-01-25*

[!badge variant="success" text="NEW"]
Introduced a new `tilores-cli` command, [rules simulate](cli.md#rules-simulate).

*Affected Components:*

* `tilores-cli` v0.10.0 (upgrade by running `go install github.com/tilotech/tilores-cli@latest`)

### v0.3.0

*released on 2022-01-25*

[!badge variant="success" text="NEW"]
Introduced the [metaphone phonetic](rules/phonetic.md#metaphone).

[!badge variant="success" text="NEW"]
Introduced the [soundex phonetic](rules/phonetic.md#soundex).

*Affected Components:*

* `tilores-core` v0.6.0 (upgrade by running `tilores-cli deploy`)

### v0.2.0

*released on 2022-01-25*

[!badge variant="success" text="NEW"]
Introduced a new matcher for
[geographical coordinates and distance matching](rules/matcher.md#geographical-distance).

*Affected Components:*

* `tilores-core` v0.5.0 (upgrade by running `tilores-cli deploy`)

### v0.1.0

*released on 2022-01-12*

[!badge variant="success" text="NEW"]
This is the first official beta release of Tilores. We recommend you to go
through the [getting started guide](quickstart.md) to get an idea what Tilores
is all about.

*Affected Components:*

* `tilores-core` v0.4.0
* `tilores-cli` v0.9.0
* `tilores-plugin-api` v0.6.0
* `terraform-aws-tilores-core` v0.4.0
* `terraform-aws-tilores-cognito` v0.1.1
* `tilores-directive-oauth-scope` v0.1.0
* `func-scavenger` v0.2.0
