NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
Go modules · #2811 by repository stars
Last release today
07 Oct 2026
Release timing varies
gaps range from 8 days to 2 months
Some releases are documented
notes for 32 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
264 releases · first in 2019
Watchman 1.2.0 indexes website contact fields and adds domain matching from listed websites and email hosts.
Watchman 1.2.0 indexes website contact fields and adds domain matching from listed websites and email hosts.
GET /v2/search?website= is indexed and scored as contact evidence (prepared host). A matching website raises the blend and does not force 1.0. Website-only queries no longer scan the full partition. by @adamdecaf in #937GET /v2/search?domain= matches DNS names against listed websites and email hosts. Every label down to eTLD+1 is tried, so domain=mail.suex.io matches a listed suex.io. Public suffixes are ignored. Consumer mail hosts taken from emails are not indexed. A matching domain raises the blend and does not force 1.0. by @adamdecaf in #938website= now score that field.email= or website= can also pick up domain evidence when hosts share an eTLD+1 (consumer mail hosts are skipped).Full Changelog: v1.1.0...v1.2.0
One column per quarter.
Nothing published for this version
Watchman 1.1.0 adds opt-in field-level debug by match threshold, and tighter name preparation for vessels, former names, and legal forms.
Watchman 1.1.0 adds opt-in field-level debug by match threshold, and tighter name preparation for vessels, former names, and legal forms.
GET /v2/search?debug=<float> attaches field-level score pieces only for returned hits at or above that score. debug=true still attaches to every returned hit. Cheap scoring stays on the full candidate set; DebugSimilarity runs after ranking. by @adamdecaf in #927f.k.a., formerly, and (ex-Name) parentheticals as former namesNAME_NUMERAL_CONFLICT_PENALTY_MULTIPLIER, default 0.70)debug=true and debug=0.80 on Using Watchman, the Search Guide, and the compliance briefingFull Changelog: v1.0.2...v1.1.0
Watchman 1.0.2 is the first 1.0 cut with working GitHub release artifacts. v1.0.0 and v1.0.1 did not finish Create Release (no binaries or images).
Watchman 1.0.2 is the first 1.0 cut with working GitHub release artifacts. v1.0.0 and v1.0.1 did not finish Create Release (no binaries or images).
Watchman 1.0 is the v2 sanctions screening engine. Screening is GET /v2/search. Each result is the list record with match (0 to 1) on the same object.
GET /v2/search with type, name, IDs (gov_passport=COUNTRY:NUMBER), dates, and addresses. There is no JSON POST body on that path.ID_CONFLICT_PENALTY_MULTIPLIER, default 0.70).minMatch is policy. 0.80 is the usual production queue (precision ~0.99 on OpenSanctions subject pairs). Default minMatch remains 0 so 0.x callers keep the same page of results unless they pass a cutoff.qwen3-embedding:0.6b via Ollama is the measured pick). MCP is experimental.Using Watchman: https://moov-io.github.io/watchman/using-watchman/
For compliance and risk: https://moov-io.github.io/watchman/methodology/for-compliance/
Keys and Prefixes for hashed blocking by @adamdecaf in #909minMatch=0.80 (OFAC SDN 48603 + passport → 1.0)DIST_GOTAGS is a make variable, not a clean recipe (Docker Hub / OpenShift make clean on Create Release)sudo make for libpostal so data can be written under /usr/local/share on Ubuntuautoreconf)fail-fast: falseFull Changelog: v0.69.0...v1.0.2
This tag did not finish Create Release (libpostal make could not write /usr/local/share/libpostal on Ubuntu). There are no binaries or images for v1.0
This tag did not finish Create Release (libpostal make could not write /usr/local/share/libpostal on Ubuntu). There are no binaries or images for v1.0.1.
Use v1.0.2.
This tag did not finish Create Release (Docker Hub / OpenShift make clean , macOS libpostal). There are no binaries or images for v1.0.0.
This tag did not finish Create Release (Docker Hub / OpenShift make clean, macOS libpostal). There are no binaries or images for v1.0.0.
Use v1.0.2.
Nothing published for this version
High-confidence hits for the usual screening shape stay in the result set. The rest of the page is not identical to v0.68.0. Re-check golden files, mi
High-confidence hits for the usual screening shape stay in the result set. The rest of the page is not identical to v0.68.0. Re-check golden files, minMatch=0 top-N lists, and identifier-only queries.
Limited, ООО, GmbH, …) are not required, so a DBA of Ocean Shipping still matches Ocean Shipping Limited. Tokens with no postings are skipped; typos still scan the type partition. Disjoint tokens fall back to their union.John Smith no longer scores every John and every Smith. Those were one-token overlaps, usually below a typical minMatch of 0.8.limit=10 and minMatch=0, the exact hit stays on top; the other weak fillers from a full partition scan are gone. Crypto and government IDs stay exact. Unknown identifiers still scan the partition.Entity values only for the top-NFull Changelog: v0.68.0...v0.69.0
Nothing published for this version
address: optional deepparse HTTP parser by @adamdecaf in #885
Watchman.Deepparse (Enabled, BaseURL or DEEPPARSE_URL, Model, Timeout)make setup-deepparse starts ghcr.io/graal-research/deepparse:0.11.0 on :8000 via a compose profile (not part of make setup)?address= uses deepparse when enabled; if both Deepparse and PostalPool are on, Deepparse winsFull Changelog: v0.67.0...v0.68.0
search: optional per-request name-matching algorithms by @adamdecaf in #878 and #884
GET /v2/search?algorithm=, MCP search_entities, and Go SearchOpts.Algorithmjaro-winkler / omitted)soundex, soft-bidist, soft-bisim, editex, nsim, nsim-3, double-metaphone, beider-morsesoft-bidist, soft-bisim, editex, nsim, nsim-3) replace only the token pair metric. Phonetic options (soundex, double-metaphone, beider-morse) keep Jaro-Winkler and boost pairs whose encodings matchINGEST_MAX_BODY_BYTESgo/log-injection on /v2/search error logsFull Changelog: v0.66.3...v0.67.0
geocoding: read GEOCODING_API_KEY from environment by @toruiwasa in #867
GEOCODING_API_KEY from environment by @toruiwasa in #867
Geocoding.Provider.APIKey was honoredGEOCODING_API_KEY takes precedence over YAML (same pattern as OPENSANCTIONS_API_KEY)EMBEDDINGS_* from environment by @toruiwasa in #868
EMBEDDINGS_ENABLED, CACHE_SIZE, CROSS_SCRIPT_ONLY, BATCH_SIZE, and INDEX_BUILD_TIMEOUT were documented but ignoredEnabled check, so embeddings can be turned on or off from the environmentmaster:master, which git refuses when master is already checked outgithub.com/openrouterteam/go-sdk v0.7.135 → v0.7.137benchmark-action/github-action-benchmark v1.22.1 → v1.22.2Full Changelog: v0.66.2...v0.66.3
csl_eu: skip rows with a non-numeric EntityLogicalID by @SashaMIT in #861
Atoi of EntityLogicalID stored as 0, so those rows merged into one recordSEARCH_MAX_IN_FLIGHT from environment by @toruiwasa in #862
Search.MaxInFlight was honored (server never calls DefaultConfig())SEARCH_MAX_IN_FLIGHT takes precedence over YAML (same pattern as INITIAL_DATA_DIRECTORY)$TAG expands by @adamdecaf in 328f7c3
windows-latest, so $TAG/$REPO were empty and gh release upload failedgithub.com/openrouterteam/go-sdk v0.7.132 → v0.7.133github.com/modelcontextprotocol/go-sdk v1.7.0 → v1.8.0Full Changelog: v0.66.1...v0.66.2
Nothing published for this version
fix(ci): clear release workflow deprecation warnings by @adamdecaf in #813
ERROR_ON_EMPTY_LIST from environment by @toruiwasa in #858
ErrorOnEmptyList was honoredERROR_ON_EMPTY_LIST takes precedence over YAML (same pattern as INITIAL_DATA_DIRECTORY)go.mod/go.sum by @adamdecaf in #827, #831, #832Full Changelog: v0.66.0...v0.66.1
Nothing published for this version
Nothing published for this version
feat: add Prometheus duration histogram for HTTP API requests by @naemono in #811
watchman_http_request_duration_seconds (HistogramVec by method, route, code) on the existing admin /metrics endpoint/v2/ingest/{fileType}), not the raw request pathfileType on the structured field onlyrelease.yml by commit SHAFull Changelog: v0.65.2...v0.66.0
Nothing published for this version
fix: reduce refresh memory peak after corpus swap by @adamdecaf in #791
latestStats keeps metadata onlyFreeOSMemory so heap returns to single-corpus steady when Update returns (instead of lingering near ~2.5× until a later GC)Full Changelog: v0.65.1...v0.65.2
fix: keep serving data when scheduled refresh fails by @adamdecaf in #787
Full Changelog: v0.65.0...v0.65.1
perf: candidate index, admission control, and hot-path allocation cuts by @adamdecaf in #779
Full Changelog: v0.64.0...v0.65.0
build: Compile for linux/arm64 as well by @elliotcourant in #772
Full Changelog: v0.63.3...v0.64.0
Nothing published for this version
Full Changelog : v0.63.2...v0.63.3
Full Changelog: v0.63.2...v0.63.3
perf: warm up libpostal concurrently with the initial data load by @akamick86 in #763
Full Changelog: v0.63.1...v0.63.2
fix: init libpostal before accepting requests by @adamdecaf in #758
Full Changelog: v0.63.0...v0.63.1
feat(download): watchman ignored download errors by @bpross in #748
Full Changelog: v0.62.0...v0.63.0
The switch to using Senzing's libpostal data increases memory usage to over 3GB. Adjust your deployments accordingly.
The switch to using Senzing's libpostal data increases memory usage to over 3GB. Adjust your deployments accordingly.
Full Changelog: v0.61.1...v0.62.0
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →