Release notes
Release history for the Fabric Discovery Service. The latest release is 1.4.0, fully compatible with the Beckn Protocol v2.0 specification.
Version | Released | Highlights |
|---|---|---|
1.4.0 | 2026-06-29 | Query-combination routing (J/G/T) · discover correctness & result-leak fixes · response parity · v2.0 ACK/NACK alignment · input-validation hardening |
1.3.2 | 2026-06-01 | Final Fabric v2.0-compliant release · ONIX deployment · provider-level offers · migration guide |
1.3.1 | 2026-05-26 | Schema mapping aligned to the Fabric v2.0 Provider schema |
1.3.0 | 2026-05-25 | Fabric v2.0 schema compliance · /beckn API prefix · registry-based callbacks · search ranking |
1.2.0 | 2026-04-28 | Search intelligence · provider offers · FULL/MERGE publish modes · observability |
1.0.0 | 2026-04-07 | First release — discover API, schema validation, Fabric auth, metrics |
Each release entry lists notable changes and any actions required when upgrading.
1.4.0
Released 2026-06-29
Fully compatible with the Beckn Protocol v2.0 specification. Ships in lockstep with CATALG 1.4.0.
A discover-correctness release: full routing for all seven JSONPath / Geo / Text query combinations, a set of cross-catalogue and cross-network result-leak fixes, response parity between search modes, Fabric v2.0 ACK/NACK alignment, and input-validation hardening so malformed requests fail fast instead of crashing silently.
Query Combination Routing (J / G / T)
Discover now routes all seven combinations of JSONPath attribute filtering (J), Geo/spatial search (G), and Text/semantic search (T) correctly, individually or combined:
# | J | G | T | Behavior |
|---|---|---|---|---|
1 | ✓ | Attribute filter only | ||
2 | ✓ | Spatial search only | ||
3 | ✓ | Text search only (keyword or semantic) | ||
4 | ✓ | ✓ | Attribute filter + spatial, combined in a single query | |
5 | ✓ | ✓ | Text + spatial search combined | |
6 | ✓ | ✓ | Text search narrowed by attribute filter | |
7 | ✓ | ✓ | ✓ | Text + spatial search narrowed by attribute filter |
Text-to-attribute chain (cases 6 & 7) — text search resolves matching resources first, then the attribute filter narrows within that set, preserving text-relevance ranking.
Graceful degradation — when text search isn't available in a deployment, J+T falls back to attribute-filter-only, and J+G+T falls back to attribute filter + spatial (the text term is dropped, other filters still apply).
Discover Correctness Fixes
A set of result-accuracy bugs closed:
Cross-catalogue location mixing fixed — the spatial join previously matched on resource ID alone, so two catalogues publishing the same resource ID could return each other's location. Now scoped per catalogue.
Network scoping enforced — discover previously did not filter by the requesting network, so a query on one network could surface catalogues published only to another. Both search paths now apply network scoping consistently.
All provider locations stored — a provider publishing multiple locations under one resource previously had only the last location retained. Every published location is now stored and matched independently in spatial search.
Offer narrowing preserved under spatial search — an attribute filter narrowing which offers apply to a resource previously stopped narrowing once a spatial constraint was also present. Both filters now apply together correctly.
Schema type matching tightened — resources are now matched against the exact combination of schema context and type requested, closing a case where a mismatched context/type pairing could still qualify.
Response Parity Across Search Modes
Text search previously returned a narrower set of fields than attribute/spatial search for the same resource. Brought to parity:
Provider identity is now echoed consistently at the catalogue level across all search modes.
Provider availability, provider attributes, and catalogue active-status are now included in text search results.
The full descriptor field set (including code and media fields) is now returned consistently across all search modes.
Combined text-and-spatial search previously returned empty results in cases where text-only search matched — this is fixed.
Fabric v2.0 ACK/NACK Alignment
Synchronous ACK/NACK responses and HTTP status codes are now fully aligned with the Fabric v2.0 specification:
// ACK { "message": { "status": "ACK", "messageId": "<uuid>" } } // NACK { "message": { "status": "NACK", "messageId": "<uuid>", "error": { "code": "...", "message": "..." } } }
Error fields are code / message (previously errorCode / errorMessage).
Transient downstream failures now return a standard server error status instead of a non-standard one.
A malformed request body now returns a clear 400 instead of a 500.
Input Validation Hardening
Malformed requests now fail fast and synchronously, so a request that cannot be processed no longer silently disappears without any on_discover response:
Missing or malformed authorization now returns 401 (previously 400).
An invalid attribute filter expression is now rejected immediately with 400, instead of failing later during processing.
Non-numeric spatial coordinates are now rejected immediately with 400 across all search paths, instead of being silently coerced on one path and failing unpredictably on another.
An empty text search query is now rejected immediately with 400.
Endpoint Paths
The stale /beckn/ path prefix introduced in 1.3.0 has been dropped — endpoints are now served at their unprefixed paths again (POST /discover, POST /catalog/push, POST /catalog/subscription, POST /catalog/pull). Update any integrations still calling the /beckn/-prefixed paths.
# Before (1.3.x) POST https://your-discovr-host/beckn/discover # After (1.4.0) POST https://your-discovr-host/discover
Part of the Beckn Protocol open infrastructure ecosystem.
1.3.2
Released 2026-06-01
The final Fabric v2.0-compliant release of the 1.3 line. Fully compatible with the Beckn Protocol v2.0 specification.
ONIX Compatible Deployment
Discovr can now be deployed as a ONIX compatible discovery service. When static-callback routing is enabled, on_discover responses are routed through the ONIX caller endpoint, which signs and forwards them to the consumer — Discovr never needs direct connectivity to the consumer.
Search Options
Discovery supports multiple search experiences, selectable per deployment:
Mode | Description |
|---|---|
Standard | Keyword and location-based search (default) |
Semantic | Meaning-based search using vector embeddings |
NLWeb | Delegates queries to an external natural-language search service |
Provider-Level Offers & Offer-Only Catalogues
Provider-level offers — offers can apply to all of a provider's resources without listing individual resource IDs, enabling blanket discounts, seasonal promotions, and cross-resource bundles.
Offer-only catalogues — catalogues containing only offers are fully supported; the associated resources are correctly surfaced in discovery results.
Callbacks & Identity
Registry-based callback resolution — callback URLs are resolved from the network registry, never from the request body, with SSRF validation before dispatch.
End-to-end identity — consumer and provider identity is preserved through the full discovery pipeline.
Publish Modes
MERGE (default) — upserts incoming resources; existing resources not in the incoming set are preserved.
FULL — replaces all resources for a catalogue.
Standardised Errors
Error responses follow the Fabric v2.0 envelope, with a canonical error code and matching human-readable message:
{ "message": { "status": "NACK", "messageId": "...", "error": { "code": "SCHEMA_VALIDATION_ERROR", "message": "context.version must be '2.0.0'; received '1.0'" } } }
Breaking Changes
Before | After | |
|---|---|---|
API base path | /discover, /catalog/push | /beckn/discover, /beckn/catalog/push |
Catalogue field | items[] | resources[] |
Identity in body | bap_id, bpp_id, bapUri, bppUri accepted | Removed — carried in the Fabric auth header only |
Callback URL source | Request body / config | Network registry (or static-callback routing) |
Migration Guide
1. Update your base URL
# Before POST https://your-discovr-host/discover # After POST https://your-discovr-host/beckn/discover
2. Use Fabric v2.0 field names
Use resources / resourceAttributes / resourceIds, and remove legacy identity fields (bap_id, bpp_id, bapUri, bppUri) from request bodies.
Part of the Beckn Protocol open infrastructure ecosystem.
1.3.1
Released 2026-05-26
A refinement release on top of 1.3.0.
Changes
Schema alignment — response models aligned to the Fabric v2.0 Provider schema, ensuring discovery responses match the specification exactly.
Upgrade notes
No action required for consumers already on 1.3.0 using Fabric v2.0 field names.
1.3.0
Released 2026-05-25
Brings the Discovery Service into full alignment with the Beckn Protocol v2.0 specification and introduces a new API path prefix.
Fabric v2.0 Compliance
Request and response bodies follow the Fabric v2.0 field conventions (resources, resourceAttributes, resourceIds).
Identity is carried in the Fabric auth header — legacy identity fields in the body are no longer accepted.
API Path Prefix
All endpoints are now served under /beckn/:
POST /beckn/discover GET /beckn/discover POST /beckn/catalog/push
Update your base URL when upgrading from 1.2.0:
# Before POST https://your-discovr-host/discover # After POST https://your-discovr-host/beckn/discover
Callbacks & Identity
Registry-based callback resolution — on_discover callback URLs are resolved from the network registry, never accepted from the request body.
Identity propagation — consumer and provider identity flow end-to-end through the discovery pipeline.
Search Quality
Improved keyword search ranking and synonym handling for more relevant results.
Upgrade notes
Update integrations to the new /beckn/ base path.
Use Fabric v2.0 field names; remove legacy identity fields from request bodies.
1.2.0
Released 2026-04-28
A major release focused on search intelligence, provider offer discovery, registry integration, observability, and security hardening.
Discovery & Search
Improved relevance — fuzzy search, multi-match boosting, and better ranking for keyword queries.
Schema-aligned search — discovery queries aligned with the catalogue schema for more accurate results.
Catalogue push validation — stronger schema validation on incoming catalogue updates.
Provider Offers & Publish Modes
Provider offer support — surface provider-level offers in discovery results.
Offer-only publish — publish offers independently of resources.
FULL / MERGE publish modes — choose between full replacement and incremental merge when updating catalogues.
Platform
Registry integration — callback resolution backed by the network registry.
Observability — enhanced metrics and structured logging across the Discovery jobs.
Security hardening — tightened authentication and request handling.
1.0.0
Released 2026-04-07
The first release of the Fabric Discovery Service — a real-time discovery engine for finding resources across published catalogues in Fabric-enabled networks.
Highlights
Discover API — search published catalogues by keyword and receive matching resources via the on_discover callback.
Catalogue ingestion with schema validation — incoming catalogue pushes are validated before being indexed.
Fabric authentication — requests are verified using Beckn HTTP Signatures.
Metrics — baseline service metrics across the Discovery jobs for monitoring and operations.
Notes
This release establishes the core publish-and-discover flow that later versions build on.