v4.4.0 Detailed Release Notes
Senzing 4.4.0 resolves more entities, more accurately, with enhanced country-specific address matching, Japanese-Kanji names, new languages, and website matching, plus faster loading and easier deployment.
What’s new in 4.4.0
The headline of 4.4.0 is resolution quality: enhanced country-specific address matching that nearly doubles the match rate on a set of difficult country-specific addresses (with zero regressions), initial Japanese-Kanji person names, new Ukrainian and Persian coverage, website/URL matching, much stronger business-name matching (distinct firms that share a generic phrase no longer over-merge, and a typo inside a long business name still matches), and smarter identifier handling (the new TAX_ID_TYPE attribute stops different kinds of tax identifier blocking a match, and placeholder values are ignored).
Alongside: faster loading, up to ~2× throughput depending on your bottleneck and up to ~6× faster reloading of already-seen data, lighter database load (up to ~45% fewer transactions and about half the rows read), correct UTF-8 on SQL Server and MySQL, a selectable high-concurrency locking strategy, native command-line tools on every platform (no Python runtime) with a smaller deployment footprint, and SDKs unified on one native core.
Matching & Resolution Quality
Resolve more, and more accurately
This is the core of the release. Scores come from Senzing’s regression test data, run on 4.3 and again on 4.4. Cards without a score show the resolution outcome instead.
Enhanced country-specific address matching
Senzing’s country-specific address matching is significantly enhanced for Singapore, Japan, the UK, Canada, and the US, The same real-world address written with different street text, script, or formatting is recognized as a match, nearly doubling the match rate on difficult country-specific addresses. Each card shows a real pair and its measured 4.3 → 4.4 result.
- A
- 1 Bayfront Avenue #01-05, Singapore, 018971
- B
- #01-05/06 Marina Bay Sands, 1 Bayfront Ave, Singapore, 018971
018971) identifies the exact building, so two records at that postal, one written as a street address, one as the building name (“Marina Bay Sands”) with a slightly different unit (#01-05 vs #01-05/06), are recognized as the same place in 4.4, where 4.3 scored them apart. A genuinely different unit at the same building is still kept apart.- A
- 12842 Berlin Turnpike, Lovettsville, VA 20180-2342
- B
- 12842 Route 287, Lovettsville, VA 20180-2342
- A
- 〒150-0002 東京都渋谷区渋谷1丁目1番1号
- B
- 1-1-1 Shibuya, Shibuya-ku, Tokyo 150-0002
1丁目1番1号 ↔ 1-1-1).- A
- 100 Oxford Street, London W1D 1LL
- B
- 100 The West End, London W1D 1LL
- A
- 100 Front Street West, Toronto, ON M5J 2L7
- B
- 100 Harbourfront Centre, Toronto, ON M5J 2L7
Person names and culture
4.4 significantly improves international person-name matching. A new model reliably identifies each name’s culture and applies language-specific rules, unlocking Japanese-Kanji, Persian, and Ukrainian handling that couldn’t be safely turned on before, and strengthening cross-script and abbreviated-name matching.
- A
- 佐藤 (kanji)
- B
- Sato (Latin)
FA محمدرضا ↔ Mohammadrezaa (native script vs an English spelling, misspelled)
UA Григорій ↔ Hryhorii (same name, Cyrillic vs its everyday Latin spelling)
- A
- Mhd Antoun
- B
- Mohamed Antoun
Organization names
4.4 substantially improves organization and business-name matching: coverage of common generic phrases is expanded, a typo inside a long business name no longer breaks the match, abbreviated names match their fuller form, and new Chinese and Burmese organization-name coverage extends matching to more spellings.
- A
- Eastern Regional Community Health Services Foundation Inc
- B
- Western Regional Community Health Services Foundation Inc (same filing address)
- A
- Springfld State U
- B
- Springfield State University
- A
- BAI CHENG SHI
- B
- BAICHENGSHI (spaced vs unspaced pinyin)
- A
- Yangon Kawporayshin (Burmese romanization)
- B
- Rangoon Corporation
Identifiers
- A
- DE118621043 (Germany, VAT / USt-IdNr)
- B
- 27/622/50488 (Germany, Steuernummer)
TAX_ID feature now carries a compared TAX_ID_TYPE attribute, so different types no longer conflict and the records resolve on their other shared data.- A
- National ID = n.a.
- B
- National ID = n.a. (unrelated records)
Websites
- A
- HTTP://Example.com/path
- B
- example.com/path
✕example.com/pricing vs example.com/careers: different pages on the same host stay distinct (0/100)
中国.cn = xn--fiqs8s.cn). Genuinely different hosts, subdomains, and pages stay distinct. Website is corroborating evidence, not a standalone match key.Loading & Performance
Faster loads, lighter database
≈ Reloading records already seen (address-heavy)
- 4.3
- Large and hub entities issue progressively more database reads as the dataset grows, heavy on database I/O even when throughput is stable.
- 4.4
- Substantially reduces datastore reads for large and hub entities. Where database I/O is the bottleneck (common at large scale), that is a major reduction. Off by default; opt in for large datasets.
- 4.3
- All databases used one strategy to coordinate concurrent entity writes; under heavy loading this added latency and long worst-case stalls.
- 4.4
- On PostgreSQL and SQL Server you can opt into a database-native locking strategy, so bulk loads finish faster and far more predictably under heavy concurrency.
Command-line Tools & SDKs
Native tools, one shared core
- 4.3
- Command-line tools were Linux-only and mixed Python and C++, requiring a Python interpreter to run.
- 4.4
- The full tool set is now native and available on Linux, macOS, and Windows, with no Python runtime, so the Linux quickstart no longer requires one. The config tool also absorbs the former configuration-upgrade utility, and a new database tool creates, upgrades, and analyzes the datastore schema across all supported databases and single or clustered datastores, for example, flagging schema drift such as a missing index.
- 4.3
- Some record operations where a record disappeared mid-operation returned a generic engine error.
- 4.4
- They raise the specific not-found type (Python
SzNotFoundError/ JavaSzNotFoundException/ C#NotFound).
| v4.0 - v4.3 | v4.4.0 and later |
|---|---|
sz_dbupgrade |
sz_dbtool upgrade |
sz_configupgrade |
sz_configtool (configuration upgrades folded in) |
Databases & Connectivity
Resilient and correct
utf8mb4), so emoji and rare characters are stored and compared correctly.Platform & Packaging
Smaller, simpler deployment
Reliability & Operations
Steadier in production
- 4.3
- Every connection reported an identical client identity, so diagnosing a lock-holding session needed host/container access.
- 4.4
- Each connection records its real process/thread identity in the database’s session metadata.
Fixed
Corrected in this release
- 4.3
- Records sharing an exclusive
PASSPORTvalue were demoted to Possible Match when a junk passport value was also present. - 4.4
- The junk value is ignored, so the shared exclusive value resolves the records as it should.
Migration & Action Required
Before you upgrade
Deployment and configuration notes for upgrading to 4.4.0 from v4.0.0 through v4.3.x.
- No schema change required when upgrading from any v4 version.
- SQL Server: (see system requirements ) the datastore must use a UTF-8 database collation. On an existing datastore that is a rebuild/reload, not a live toggle, so plan for it in the upgrade window.
- License: confirm your license string is valid: a corrupt value now fails startup instead of silently degrading to the evaluation license.
- Configuration: some improvements are delivered through configuration and take effect only in a configuration that includes them: the
WEBSITEfeature, theTAX_ID_TYPEattribute, and the performance changes for very-common attributes. A new install’s default configuration already includes these; to add them to an existing configuration, contact Senzing Support for the steps. - Installers: if you are coming from 4.2.x or earlier, the Windows
.zipand macOS.dmgwere discontinued in 4.3.0. Install with Homebrew on macOS or Scoop on Windows , and update any scripts that pulled the old formats. - SDK exception handling: engine “record not found” conditions now raise the specific not-found type (
SzNotFoundError/SzNotFoundException/ C#NotFound). Adjust catch logic if you relied on the generic error.
Ready to upgrade
Review the migration checklist above, reprocess where new matching should apply to existing data, and reach out to your Senzing contact with any questions about this release.
If you have any questions, contact Senzing Support. Support is 100% FREE!