{"entries":[{"slug":"2026-06-04-ideal-postcodes-cli","id":"ideal-postcodes-cli","date":"2026-06-04","title":"Ideal Postcodes CLI","category":"feature","tags":["cli","developer-tools","cleanse","automation"],"breaking":false,"description":"Introducing idpc, the Ideal Postcodes command line interface. Manage your account, clean address data, and validate emails and phone numbers from the terminal. Built for humans and agents.","summaryHtml":"<p>Introducing <code>idpc</code>, the Ideal Postcodes command line interface. Manage your account, clean address data, and validate emails and phone numbers from the terminal. Built for humans and agents.</p>\n<p>In agent mode, the CLI will non-interactively emit JSON to stdout and signal failure through exit codes.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Key management</strong>: Check balances, usage, lookup logs, and allowed-URL configurations for your API keys</li>\n<li><strong>Address cleansing</strong>: <code>idpc cleanse</code> matches messy addresses against authoritative data, taking a single query, a file, or stdin, with CSV output for batches</li>\n<li><strong>Find and resolve</strong>: <code>idpc find</code> returns address suggestions for a partial query; pipe a suggestion ID into <code>idpc resolve</code> for the full record</li>\n<li><strong>Email and phone validation</strong>: <code>idpc email</code> and <code>idpc phone</code> mirror the cleanse workflow, with <code>--carrier</code> lookups for phone numbers</li>\n<li><strong>Diagnostics</strong>: <code>idpc doctor</code> verifies connectivity and reports whether your key is actually usable, explaining limits or restrictions when it is not</li>\n</ul>\n<p>Install with <code>npm install -g @ideal-postcodes/cli</code>. Available on <a href=\"https://www.npmjs.com/package/@ideal-postcodes/cli\">npm</a>.</p>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-06-04-ideal-postcodes-cli"},{"slug":"2026-06-01-postcodesio-19","id":"postcodesio-19","date":"2026-06-01","title":"Postcodes.io 19 Adds Welsh Parliament and Expanded Scottish Data","category":"data","tags":["postcodesio","open-source","scotland","wales","performance"],"breaking":false,"description":"Postcodes.io 19 is out, adding Senedd Cymru constituency fields, a far richer Scottish Postcode Directory, and faster bulk lookups.","summaryHtml":"<p><a href=\"https://postcodes.io\">Postcodes.io</a> 19 is out, adding Senedd Cymru constituency fields, a far richer Scottish Postcode Directory, and faster bulk lookups.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Welsh Parliament data</strong>: Postcode lookups now return official Senedd Cymru constituency fields, with schemas and documentation updated to match</li>\n<li><strong>Expanded Scottish coverage</strong>: The Scottish Postcode Directory endpoint grows from three fields to over 50 distinct data fields and 20+ administrative codes, including the Scottish Index of Multiple Deprivation, data zones (2001 and 2011), and historical Census Output Areas (1991, 2001, 2011)</li>\n<li><strong>Simpler data layer</strong>: The database is flattened and denormalised into three master tables: <code>onspd</code>, <code>spd</code>, and <code>osopennames</code></li>\n<li><strong>Faster bulk operations</strong>: Bulk postcode and reverse-geocoding requests are batched into single SQL queries, with Postgres tuned for read-only workloads using <code>pg_prewarm</code> and partial indexes</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-06-01-postcodesio-19"},{"slug":"2026-05-17-reseller-dashboard","id":"reseller-dashboard","date":"2026-05-17","title":"Reseller Dashboard","category":"feature","tags":["dashboard","resellers","licensees","billing"],"breaking":false,"description":"Reseller organisations now have a dedicated dashboard that summarises their licensees, active client count, and usage costs for any billing period. Track the accounts you manage and reconcile usage without exporting raw logs by hand.","summaryHtml":"<p>Reseller organisations now have a dedicated dashboard that summarises their licensees, active client count, and usage costs for any billing period. Track the accounts you manage and reconcile usage without exporting raw logs by hand.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Account overview</strong>: See your licensees, active client count, and usage costs at a glance for the selected period</li>\n<li><strong>Customer breakdown</strong>: A per-licensee table shows each client's address and API key, with sortable numeric columns and CSV export</li>\n<li><strong>Period picker and deep-links</strong>: Choose any billing period and jump straight to a licensee's keys and dates</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-05-17-reseller-dashboard"},{"slug":"2026-05-09-agent-skills","id":"agent-skills","date":"2026-05-09","title":"Agent Skills for Claude Code, Cursor, and Codex","category":"docs","tags":["ai","skills","developer-tools","integration"],"breaking":false,"description":"Integrate Ideal Postcodes from inside your AI coding agent. The new ideal-postcodes/skills plugin teaches Claude Code, Cursor, and Codex how to wire up our widgets, API, and CLI correctly the first time. Install with npx skills add ideal-postcodes/skills.","summaryHtml":"<p>Integrate Ideal Postcodes from inside your AI coding agent. The new <a href=\"https://github.com/ideal-postcodes/skills\">ideal-postcodes/skills</a> plugin teaches Claude Code, Cursor, and Codex how to wire up our widgets, API, and CLI correctly the first time. Install with <code>npx skills add ideal-postcodes/skills</code>.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Address Finder</strong>: Set up the autocomplete widget (<code>@ideal-postcodes/address-finder</code>), from install to populated form fields</li>\n<li><strong>Postcode Lookup</strong>: Postcode in, address dropdown out (<code>@ideal-postcodes/postcode-lookup</code>)</li>\n<li><strong>API integration</strong>: Authentication, <code>/postcodes</code>, <code>/addresses</code>, <code>/udprn</code>, and <code>/autocomplete</code>, client libraries, and error handling</li>\n<li><strong>CLI</strong>: Manage keys, cleanse addresses, and resolve partial queries from the terminal with the <code>idpc</code> CLI</li>\n<li><strong>Built for agents</strong>: Each skill carries quickstarts, critical gotchas, and reference material, cutting the back-and-forth of getting a working integration</li>\n</ul>\n<p>The repo is public; issues and pull requests are welcome.</p>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-05-09-agent-skills"},{"slug":"2026-04-23-dynamics-365-business-central","id":"dynamics-365-business-central","date":"2026-04-23","title":"Postcode Lookup for Microsoft Dynamics 365 Business Central","category":"feature","tags":["dynamics-365","business-central","integration","postcode-lookup"],"breaking":false,"description":"Ideal Postcodes is now the address validation provider built into Microsoft Dynamics 365 Business Central. From Release 28, the extension ships by default to all UK and Republic of Ireland Business Central users, replacing the discontinued getAddress.io service.","summaryHtml":"<p>Ideal Postcodes is now the address validation provider built into Microsoft Dynamics 365 Business Central. From Release 28, the extension ships by default to all UK and Republic of Ireland Business Central users, replacing the discontinued getAddress.io service.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Native postcode lookup</strong>: Fast UK postcode search inside the existing Business Central interface, with fuzzy matching for unrecognised postcodes</li>\n<li><strong>Automatic field population</strong>: Selected addresses fill the address fields in the correct format across customer records, quotes, and orders</li>\n<li><strong>Royal Mail PAF data</strong>: Backed by the Postcode Address File, covering over 30 million delivery points and 1.8 million postcodes</li>\n<li><strong>Simple activation</strong>: Add your Ideal Postcodes API key in Business Central's Service Connections settings; no additional software required</li>\n<li><strong>Rollout window</strong>: New customers receive version 28.0 automatically; existing customers can schedule the update any time before 31 August 2026</li>\n</ul>\n<p>See <a href=\"https://learn.microsoft.com/en-us/dynamics365/business-central/localfunctionality/unitedkingdom/ui-extensions-setup-idealpostcodes-service\">Microsoft's setup guide</a> to get started.</p>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-04-23-dynamics-365-business-central"},{"slug":"2026-04-20-woocommerce-block-checkout","id":"woocommerce-block-checkout","date":"2026-04-20","title":"WooCommerce 4: Block Checkout Support","category":"feature","tags":["woocommerce","integration","checkout","validation"],"breaking":false,"description":"WooCommerce 4 is the new major release of our WooCommerce plugin, adding support for the block-based checkout. The postcode lookup is rebuilt as an isolated web component so it no longer interferes with checkout form validation. Requires WooCommerce 8 or above; legacy shortcode checkout is no longer supported.","summaryHtml":"<p>WooCommerce 4 is the new major release of our WooCommerce plugin, adding support for the block-based checkout. The postcode lookup is rebuilt as an isolated web component so it no longer interferes with checkout form validation. Requires WooCommerce 8 or above; legacy shortcode checkout is no longer supported.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Block checkout</strong>: Postcode Lookup and Address Autocomplete work natively in the block-based checkout</li>\n<li><strong>Isolated web component</strong>: The rebuilt postcode lookup no longer blocks order submission by clashing with form validation</li>\n<li><strong>Country-aware validation</strong>: A new toggle switches off address validation automatically when the customer selects an unsupported country</li>\n<li><strong>Dedicated Address Finder field</strong>: Optionally render the address search in its own field</li>\n<li><strong>JSON configuration overrides</strong>: Fine-tune Postcode Lookup and Address Autocomplete behaviour directly from the Advanced settings tab</li>\n<li><strong>Validation controls</strong>: Address line one character limit (default 40), transliteration of accented characters to ASCII, ASCII-only input, automatic company name population, and PO Box blocking</li>\n</ul>\n<p>Find the settings under WooCommerce > Settings > Integration > UK Address Postcode Validation. Full setup in the <a href=\"https://docs.ideal-postcodes.co.uk/docs/integrations/woocommerce\">WooCommerce integration docs</a>.</p>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-04-20-woocommerce-block-checkout"},{"slug":"2026-04-08-postcode-lookup-singapore-ireland-netherlands","id":"postcode-lookup-singapore-ireland-netherlands","date":"2026-04-08","title":"Postcode Lookup for Singapore, Ireland and Netherlands","category":"feature","tags":["postcode-lookup","singapore","ireland","netherlands","here"],"breaking":false,"description":"Postcode lookup is now available for Singapore, Ireland (HERE) and the Netherlands. Resolve a postcode to its set of addresses in three more markets without falling back to an autocomplete flow.","summaryHtml":"<p>Postcode lookup is now available for Singapore, Ireland (HERE) and the Netherlands. Resolve a postcode to its set of addresses in three more markets without falling back to an autocomplete flow.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Singapore</strong>: Postcode-to-address resolution across the SGP dataset</li>\n<li><strong>Ireland</strong>: Eircode-style postcode lookups against the HERE Ireland dataset</li>\n<li><strong>Netherlands</strong>: Postcode lookup over Dutch address data</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-04-08-postcode-lookup-singapore-ireland-netherlands"},{"slug":"2026-04-01-passkey-authentication","id":"passkey-authentication","date":"2026-04-01","title":"Passkey Sign-In for Dashboard Accounts","category":"feature","tags":["dashboard","security","authentication","passkeys"],"breaking":false,"description":"Sign in to your Ideal Postcodes account with a passkey. Use Touch ID, Face ID, Windows Hello or a hardware security key in place of a password. Phishing-resistant by design and faster on every return visit.","summaryHtml":"<p>Sign in to your Ideal Postcodes account with a passkey. Use Touch ID, Face ID, Windows Hello or a hardware security key in place of a password. Phishing-resistant by design and faster on every return visit.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Register from settings</strong>: Add one or more passkeys to your account from the security settings</li>\n<li><strong>WebAuthn standard</strong>: Works with platform authenticators (Touch ID, Face ID, Windows Hello) and roaming keys (YubiKey and similar)</li>\n<li><strong>Coexists with passwords</strong>: Keep your existing password as a fallback while adopting passkeys at your own pace</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-04-01-passkey-authentication"},{"slug":"2026-03-25-cytora-partnership","id":"cytora-partnership","date":"2026-03-25","title":"Partnership with Cytora for Commercial Insurance Risk Processing","category":"feature","tags":["partnership","insurance","uprn","geocoding"],"breaking":false,"description":"Ideal Postcodes address validation is now embedded in Cytora, the digital risk processing platform used by commercial insurers worldwide. Underwriters get verified, building-level location data at the point of risk ingestion, without extra steps or manual checking.","summaryHtml":"<p>Ideal Postcodes address validation is now embedded in <a href=\"https://www.cytora.com/\">Cytora</a>, the digital risk processing platform used by commercial insurers worldwide. Underwriters get verified, building-level location data at the point of risk ingestion, without extra steps or manual checking.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Unique Property Reference Numbers</strong>: Every risk is pinned to a UPRN, identifying the individual building and eliminating location ambiguity</li>\n<li><strong>Rooftop geocodes</strong>: Building-level latitude and longitude rather than street or postcode approximations, sharpening risk selection and pricing for location-specific hazards</li>\n<li><strong>Fuzzy matching</strong>: Common address errors are caught and corrected automatically during ingestion, standardising records for accumulation management and faster claims handling</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-03-25-cytora-partnership"},{"slug":"2026-02-20-organisations-and-roles","id":"organisations-and-roles","date":"2026-02-20","title":"Organizations and Role-Based Access","category":"feature","tags":["dashboard","organizations","access-control","billing"],"breaking":true,"description":"Accounts now belong to an organization. Multiple users can collaborate on the same set of API keys and billing, with role-based permissions controlling what each member can do. Every existing user has been migrated into a single-member organization automatically.","summaryHtml":"<p>Accounts now belong to an organization. Multiple users can collaborate on the same set of API keys and billing, with role-based permissions controlling what each member can do. Every existing user has been migrated into a single-member organization automatically.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Shared workspace</strong>: API keys, purchases, invoices and agreements live under the organization, not an individual user</li>\n<li><strong>Roles</strong>: Owners, admins and developers see scoped controls in the dashboard</li>\n<li><strong>Invitations</strong>: Add teammates by email and manage pending invitations from the dashboard</li>\n<li><strong>Billing &#x26; invoices</strong>: Centralized at the organization level, with the existing tokens and balance preserved</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-02-20-organisations-and-roles"},{"slug":"2026-02-13-llm-ready-documentation","id":"llm-ready-documentation","date":"2026-02-13","title":"Documentation for LLMs","category":"docs","tags":["ai","llm","documentation","developer-tools"],"breaking":false,"description":"Our documentation now works with and through AI: an interactive assistant answers questions inside the docs, and LLMs can consume the docs directly via a site-wide context file and per-page markdown export.","summaryHtml":"<p>Our documentation now works with and through AI: an interactive assistant answers questions inside the docs, and LLMs can consume the docs directly via a site-wide context file and per-page markdown export.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Ask AI</strong>: An interactive assistant built into the documentation search answers natural-language questions with responses grounded in the docs, helping you find the right endpoint and integrate faster</li>\n<li><strong>llms.txt context file</strong>: The complete API and integration context is published at <a href=\"https://docs.ideal-postcodes.co.uk/llms.txt\">docs.ideal-postcodes.co.uk/llms.txt</a> for direct LLM consumption</li>\n<li><strong>Markdown export</strong>: Append <code>.md</code> to any documentation URL to get the page as clean markdown, for example <a href=\"https://docs.ideal-postcodes.co.uk/docs/integrations/woocommerce.md\">docs.ideal-postcodes.co.uk/docs/integrations/woocommerce.md</a></li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-02-13-llm-ready-documentation"},{"slug":"2026-01-21-datasets-parameter","id":"datasets-parameter","date":"2026-01-21","title":"Restrict Searches to Specific Datasets with datasets=","category":"api","tags":["api","search","filtering","datasets"],"breaking":false,"description":"A new datasets= query parameter restricts address searches to specific datasets within a country. Where multiple datasets cover the same territory, pick exactly the source you want rather than searching across all of them.","summaryHtml":"<p>A new <code>datasets=</code> query parameter restricts address searches to specific datasets within a country. Where multiple datasets cover the same territory, pick exactly the source you want rather than searching across all of them.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Targeted searches</strong>: Limit results to one dataset when several are available for a country, for example <code>datasets=nyb</code> to search Royal Mail Not Yet Built addresses only</li>\n<li><strong>Predictable results</strong>: Responses come from your chosen source without mixing datasets</li>\n<li><strong>Per-request control</strong>: Apply the filter on individual API requests for granular control</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-01-21-datasets-parameter"},{"slug":"2026-01-14-austria-bev-dataset","id":"austria-bev-dataset","date":"2026-01-14","title":"Austria Coverage with the Official BEV Adressregister","category":"data","tags":["austria","data","coverage"],"breaking":false,"description":"Austrian address searches now run on the BEV Adressregister, the official address register maintained by Austria's Bundesamt für Eich- und Vermessungswesen. Authoritative, localised address data across the country.","summaryHtml":"<p>Austrian address searches now run on the BEV Adressregister, the official address register maintained by Austria's Bundesamt für Eich- und Vermessungswesen. Authoritative, localised address data across the country.</p>\n<h2>Details</h2>\n<ul>\n<li><strong>Official source</strong>: The Adressregister is Austria's government-maintained address register, giving standardised coverage nationwide</li>\n<li><strong>Localised formatting</strong>: Addresses are parsed and formatted to Austrian conventions</li>\n</ul>\n","hasMore":false,"url":"https://ideal-postcodes.co.uk/changelog/2026-01-14-austria-bev-dataset"}]}