Changelog
Changes to the scoring service that a caller can notice: routes, request and response fields,
evaluators, and when an API major starts and ends its retirement. Each entry is dated by the deploy
that shipped it and names the API major it belongs to. Changes inside the
service that no caller sees are not listed. The list starts when the API took its first major, v1.
Callers using semantic-evaluation reach the service through its client, which picks the API major
itself; the SDK's own changelog says which SDK release calls which major. How majors are added and
retired is described under Versions.
Unreleased: API v1
Added
- Each caller has its own caller key, sent as
X-API-Keyas before. The service identifies the caller from it and logscaller=<id>on every request. A pod asks the platform team for its key and sets it where it set the shared key. FieldEqualsacceptsexpected_one_of_field, a dotted path into the item's expected output that holds a list of accepted values; the metric passes when the prediction's field equals any of them. Items without that value are skipped, and a value that is not a non-empty list fails the item with the reason.decision_judgeandcustom_rubricresults carrydetails.latency_ms, the duration of the model call.custom_rubricresults also carrydetails.usagewithinput_tokens,output_tokensand, when reported,reasoning_tokens.
Changed
- Registering or deleting a connection profile, assigning an evaluator backend and listing pending evaluator submissions need the platform-admin caller; a pod key gets HTTP 403. Reading profiles and backend assignments and submitting an evaluator work with any caller key.
POST /v1/score-jobsandGET /v1/score-jobs/{job_id}identify a caller that sends a key. A call without a known key is still accepted and logged. These routes will require a caller key from an enforcement date announced here; send your pod's key now.
Fixed
- A connection profile whose
api_keyis a Key Vault secret URI resolves on the deployed service. The image now installsazure-keyvault-secrets; before, every scoring request using such a profile was rejected with HTTP 400.
2026-11-06: API v1
Deprecated
- The unversioned routes (
/evaluators,/evaluator-backends,/connection-profiles,/score-jobs) are deprecated aliases ofv1. Every response on them carriesDeprecation,Sunset(Thu, 04 Feb 2027) andLinkheaders. They are removed no earlier than 4 February 2027, and only once the request logs show no more calls on them.semantic-evaluation2.5.0 and later call/v1; scripts that call the service directly move to/v1now.
2026-11-05: API v1
Added
- Every route is served under
/v1(for exampleGET /v1/evaluators,POST /v1/score-jobs). Additive changes stay inv1; a breaking change goes into a new major,/v2, which ships together with a newsemantic-evaluationmajor. - The unversioned routes stay available as aliases of
v1, with the same operations and responses. /health,/docs,/redocand/openapi.jsonare not versioned./docslists both mounts.