Changelog¶
Diese Seite führt die veröffentlichten Versionen der beiden öffentlichen Pakete und den Stand der Abkündigungen.
| Paket | Inhalt | Aktuell |
|---|---|---|
Zedal.Sdk |
Das .NET SDK | 1.3.0 |
Zedal.GrpcApis |
Die generierten gRPC-/Protobuf-Typen. Kommt transitiv mit dem SDK, kann für eigene gRPC-Clients auch direkt referenziert werden | 1.3.0 |
Beide folgen Semantic Versioning (MAJOR.MINOR.PATCH) und werden als Paar veröffentlicht: Das SDK-Paket referenziert eine feste Zedal.GrpcApis-Version. Pre-Releases tragen ein Suffix (1.1.0-diwass-preview-9); ohne --prerelease löst NuGet sie nicht auf.
Abkündigungen sind in der REST-Referenz nicht als deprecated markiert
In der laufenden OpenAPI-Referenz trägt keine der 131 Operationen das Flag deprecated — obwohl der Proto-Vertrag abgekündigte Elemente führt, darunter eine ganze Operation. Nur CompanyDocumentApi/GetDocument ist am Zusatz „(deprecated)“ im Titel und am Beschreibungstext erkennbar. Wer den Abkündigungsstand aus der Referenzoberfläche ablesen will, findet sonst nichts.
Maßgeblich ist deshalb der Abschnitt Abgekündigt auf dieser Seite.
Veröffentlichte Versionen¶
Stabile Versionen, Datum des jeweiligen Releases:
| Version | Datum | Zedal.Sdk |
Zedal.GrpcApis |
|---|---|---|---|
| 1.3.0 | 2026-10-22 | ja | ja |
| 1.2.0 | 2026-07-21 | ja | ja |
| 1.1.4 | 2026-05-14 / 2026-05-15 | ja | ja |
| 1.1.3 | 2026-05-11 | — | ja |
| 1.1.2 | 2026-05-11 | ja | ja |
| 1.1.1 | 2026-05-08 / 2026-05-10 | ja | ja |
| 1.1.0 | 2026-05-07 | ja | ja |
Vor 1.1.0 gab es ausschließlich Pre-Releases: die Reihen 1.0.0-rc1 bis 1.0.0-rc6 (Juni 2025 bis März 2026) und 1.1.0-diwass-preview-1 bis -9 (März bis Mai 2026). Eine stabile 1.0.0 existiert nicht — die erste stabile Fassung ist 1.1.0. Die Nummern laufen in beiden Paketen nicht exakt parallel: 1.1.3 gibt es nur für Zedal.GrpcApis, 1.1.0-diwass-preview-9 nur für Zedal.Sdk.
1.3.0 — 2026-10-22¶
Enthält Breaking Changes, obwohl es ein Minor-Bump ist
Wie 1.2.0 ist auch 1.3.0 teils nicht rückwärtskompatibel, im Proto-Vertrag wie im SDK. Assemblies, die gegen 1.2.0 gebaut sind, laufen mit 1.3.0 erst nach neuem Kompilieren. Lies die Listen unten und kompiliere gegen die neue Version, bevor du sie in einen Release-Zweig nimmst.
Zedal.GrpcApis 1.3.0 — Breaking Changes¶
| Änderung | Betroffen |
|---|---|
EU-Datenmodell entfernt: documents/v1/eu/* und das Feld Document.Message (Nummer 14, jetzt reserviert) |
alle, die das EU-Datenmodell verwenden |
BmuDocumentApi liegt unter infotech.zedal.bxa.bmu.v1.api; die Fassung v1alpha1 entfällt |
BMU |
quantity, statement und take_back_date entfallen in WasteAnnex7TakeBackType und GetWasteAnnex7TakeBackType, ersetzt durch take_back bzw. movement_take_back; Annex7InformationType.take_back_movements heißt take_back |
Annex VII, Rücknahme |
request_description und reasons der Änderung nach Zustimmung sind repeated |
DiWaSS-Notifizierung |
core/v1 hat eigene Nachrichten Date und DateTime. Wer Infotech.Zedal.Core.V1.Api importiert, bekommt bei DateTime die Mehrdeutigkeit CS0104 und löst sie mit using DateTime = System.DateTime; |
alle, die Infotech.Zedal.Core.V1.Api importieren |
Zedal.GrpcApis 1.3.0 — Erweiterungen¶
QueryApi(core/v1): Listen für Transportdokumente, Dateibereich, Inbox, Akten und Transportvorlagen, mit Feldmaske, Filter, Sortierung und Paging (QueryParameter,query/v1).BmuDocumentApi(bxa/bmu/v1), siehe BMU-API.EbvApi(core/v1):AggregateEbvLieferscheinDocuments.- REST-Bindings für
DocumentApi/ImportToDocument,DocumentApi/ImportTransportDocument,DocumentApi/ImportTransportDocumentFromInboxundCommonApi/FetchDocumentNumbers. - Signer:
SignerApimitSignerHandoffApi(siehe WebSigner),SignerDeviceApi,SignerEntitlementApi,SignerSettingsApi,CertificateInfoApi(GetTrustAnchor,CheckOcsp) undVerifyApi(VerifyPdf,VerifyXml,VerifyCert,VerifyP7) sind Teil des Pakets. - ZEWASS-Notifizierung: Sicherheitsleistungen je Rechtsgrundlage und die Zahl der finanziell abgesicherten Verbringungen.
- Annex VII, Rücknahme: Domain-Id und Signatur der zuständigen Behörde.
Zedal.Sdk 1.3.0 — Breaking Changes¶
| Änderung | Betroffen |
|---|---|
Jede asynchrone Methode nimmt als letzten, optionalen Parameter einen ZedalCallContext |
Aufrufe kompilieren weiter; neu kompilieren und eigene Implementierungen der Interfaces anpassen |
GetAttachment und InvokeRawSoap nehmen die Zeitgrenze als ZedalCallContext; die Überladungen mit int timeoutSeconds bleiben als [Obsolete] erhalten |
Aufrufe mit Sekundenzahl kompilieren mit Warnung |
IAuthApi.GetCallOptions nimmt einen ZedalCallContext statt int |
eigene gRPC-Aufrufe über die Auth-Fassade |
Abbruch kommt einheitlich als OperationCanceledException; DefaultTimeout steht auf 30 Sekunden |
alle |
MovementDocumentHandler.GetNextSequenceNumber und NextSequenceFrom entfallen; Nachfolger sind client.DocumentNumbers.GetNextMovementSequenceNumber und MovementSequenceNumber.NextFrom |
Movements |
IQueryApi.ListTransportDocument entfällt; Nachfolger ist ListTransportDocuments über core.v1.QueryApi. QueryDeliveryLog und QueryDeliveryLogForDocument entfallen (waren experimentell) |
Abfragen |
BmuDocumentHandler und client.BxaApi.BmuDocumentApi sprechen die BMU-API unter v1 an und sind nicht abwärtskompatibel; in 1.2.0 war die BMU-API nicht produktiv nutzbar |
BMU |
DiwassDocumentHandlerBase.Refresh(ZedalCallContext) ist abstrakt |
eigene Ableitungen |
Gleichnamige Query-Typen
Infotech.Zedal.Core.Preview.Api führt dieselben Typnamen wie Infotech.Zedal.Core.V1.Api (ListTransportDocumentsRequest, DocumentEntry …) und Infotech.Zedal.Query.V1 (QueryParameter, FilterCondition …). Wer beide Namespaces importiert, löst die Mehrdeutigkeit (CS0104) mit einem Alias, etwa using QueryParameter = Infotech.Zedal.Query.V1.QueryParameter;.
Zedal.Sdk 1.3.0 — Erweiterungen¶
- Signieren:
client.SignerApi.SigningProcessesmitSubmitAsyncundSignAsync, dazuCertificateInfoundVerifyApi. Siehe Signieren. - Zeitgrenzen und Abbruch je Aufruf über
ZedalCallContext. - Dokumentnummern:
client.DocumentNumbers, darunter mehrere Movement-Sequenznummern in einer Abfrage (GetNextMovementSequenceNumbers). FetchNumbersnimmt einen Idempotency-Key an; ein wiederholter Abruf verbraucht keine weiteren Nummern.- BMU:
Create,UpdateDocumentundAddLayerdesBmuDocumentHandlernehmenXmlOptionsan. - DiWaSS: typisierte Codelisten, Prüfung von Notifizierungsnummern (
NotificationNumber), Extension-Methoden für die DiWaSS-Information der Dokumente.
BMU-API¶
Die BmuDocumentApi (infotech.zedal.bxa.bmu.v1.api) ist öffentlich: zehn Operationen für BMU-Begleit- und Übernahmescheine, erreichbar über REST, gRPC und gRPC-Web.
- SDK:
client.DocumentHandler.CreateBmuHandler()liefert denBmuDocumentHandler.Create,UpdateDocumentundAddLayernehmenXmlOptionsan (Prüfstufe, Prüfziffern, ATB-Rolle). - REST: Transportdokumente lassen sich über REST speichern (
DocumentApi/ImportTransportDocument), Bestand, Eingang und Muster lassen sich auflisten (QueryApi). Die Aufrufe stehen unter Über REST. - Signieren: Signaturen, die einen Layer abschließen, sind über die SignerApi noch nicht möglich (Signieren).
Anleitungen: eANV (BMU), mit Beispielen je Rolle. Was in welcher Umgebung bereitsteht, zeigt die Verfügbarkeit.
WebSigner¶
Signaturvorgänge über den Dienst infotech.signer.sign.v1.api.SignerApi, im SDK client.SignerApi.SigningProcesses: Vorgang anlegen und vorlegen, den Menschen über die signing_url signieren lassen, signierte Dokumente abholen. SignAsync erledigt das in einem Aufruf. Der WebSigner ist eine Vorschau und noch nicht in der Produktion verfügbar.
Anleitung: Signieren mit dem WebSigner.
OpenAPI-Spec: Schema-Namen¶
Die Schema-Namen im öffentlichen OpenAPI-Spec sind vollqualifiziert, zum Beispiel infotech.zedal.documents.v1.bmu.BGSDokument. Das gilt für alle APIs, auch für DiWaSS. Das JSON auf der Leitung bleibt gleich; es ändern sich nur die Typnamen in Clients, die aus dem Spec generiert werden.
1.2.0 — 2026-07-21¶
Enthält Breaking Changes, obwohl es ein Minor-Bump ist
Die Änderungen am Proto-Vertrag zwischen 1.1.4 und 1.2.0 sind teils nicht rückwärtskompatibel. Wer von 1.1.x kommt, muss mit Anpassungen rechnen — plane das Update nicht als reines Paket-Upgrade ein, sondern lies die Liste unten und kompiliere gegen die neue Version, bevor du sie in einen Release-Zweig nimmst.
Zedal.GrpcApis 1.2.0 — Breaking Changes¶
| Änderung | Betroffen |
|---|---|
| Zoll-Codes: ein neuer, von der EU eingeführter Typ ersetzt die bisherige String-/Token-Definition | Annex 7 und Notifizierung |
Feld group → group_nr umbenannt |
AccountMgt / DocRestrict |
AccountDocRestrict aus accountmgt/v1 entfernt; eigener Service AccountDocRestrictApi in v2 |
AccountMgt |
core/v1/common_types.proto und common_api.proto umgebaut (Feld- und Typanpassungen) |
alle, die generierte Typen direkt referenzieren |
Zedal.GrpcApis 1.2.0 — Erweiterungen¶
- DiWaSS Waste stark erweitert: neue Felder und Messages in
movements,retrieval,notification,submission,basetypes. - DiWaSS Directory: neue Protos und Felder für Behörden- und Operator-Verzeichnis, unter anderem eine
operator/v2-Fassung. - ZEWASS: CommPartner-Strukturen und ein Adress-
oneof(ZEDAL / DiWaSS); die lokalen Anhangs-Informationen wurden an die DiWaSS-Anforderungen angepasst — inklusive Feld für den DiWaSS-Anhangstyp und Markierung personenbezogener Anhänge. FetchDocumentNumbers: neuer NummerntypDIWASS_NOTIFICATION.GetAccountNumbersResponseliefert die eigenen Behörden-IDs (nur für Behörden selbst).- Druckausgabe:
PrintOptionsamTransformToGraphicalRepresentation-Request, inklusive Ausgabesprache. - Auth:
core/v1/auth_apium die Dokumentation des Token-Flows erweitert. - OpenAPI-Beschreibungen über große Teile der DiWaSS- und ZEWASS-Bereiche ergänzt; Proto-Kommentare ins Englische übersetzt.
Zedal.Sdk 1.2.0 — Erweiterungen¶
- Neuer Transport-Stack: wählbarer Transport über
ZedalTransport(Grpc,GrpcWeb,Auto) anZedalClientFactoryundZedalConnectionFactory; der Verbindungsaufbau wurde überarbeitet. Siehe .NET SDK → Transport. - Auto-Probe: Der Rückfall auf gRPC-Web geschieht nur bei positivem Nachweis, dass der Host kein HTTP/2 spricht.
- Proxy-Unterstützung: Erkennung des Systemproxys, SDK-eigene Proxy-URL, Bypass-Sentinel
bypass;INFOTECH_GRPC_NO_PROXYbleibt als abgekündigter Pfad unterstützt. CheckConnection()mit Status- und Proxy-Auskunft (ZedalConnectionStatus).- Nachrichtengröße der Kanäle auf 50 MB angehoben.
GetAttachment: eigene Timeout-Option.MovementDocumentHandler.GetNextSequenceNumber(notificationId)— bestimmt die nächste freie Sequenznummer clientseitig über die Liste der Transportdokumente (QueryApi). Die Nummer wird nicht serverseitig reserviert; lege die Movements einer Notifizierung nacheinander an.- Whitespace-Normalisierung der aus DiWaSS gelesenen Operator-Daten, erweitert und konfigurierbar (
WhitespaceNormalizer,WhitespaceHandling).
Zedal.Sdk 1.2.0 — Hinweise für Implementierer¶
Die Signaturen von ICommonApi, IOperatorApi und IAttachmentApi wurden angepasst — überwiegend additiv. Wer diese Schnittstellen selbst implementiert (Testdoubles, eigene Adapter), muss nachziehen; reine Aufrufer sind in der Regel nicht betroffen.
Vor 1.2.0¶
Für die Versionen 1.1.0 bis 1.1.4 liegen keine veröffentlichten Release Notes vor. Was eine dieser Versionen enthält, lässt sich nur am Paket selbst ablesen — über die API-Referenz des jeweiligen Stands. Wenn du für eine Migration von 1.1.x eine belastbare Liste brauchst, frag sie über den Support an, statt sie aus Nummernabständen zu erraten.
Abgekündigt¶
Abgekündigte Elemente bleiben im Vertrag vorhanden und funktionieren weiter, bis sie mit einem Major-Schnitt entfallen. Sie sind im Proto als deprecated markiert; in einem generierten Client erscheinen sie deshalb je nach Sprache als Compiler-Warnung.
| Element | Ersatz |
|---|---|
CompanyDocumentApi.GetDocument (Operation) |
die familienspezifischen Getter GetNotification, GetMovement, GetAnnex7. Der Endpunkt bleibt bis zum nächsten v1-Schnitt für bestehende Aufrufer erhalten. |
Feld document (generischer Document-Container) in den Antworten der Set…- und Submit…-Operationen von CompanyDocumentApi (15 Nachrichten) und AuthorityDocumentApi (7 Nachrichten) |
das typisierte Feld notification bzw. movement derselben Antwort |
Feld matching_id in FindOperatorRequest (diwass.v1.api) |
das eingebettete Request-Feld der operator-Verzeichnisfassung v2 |
WasteNoteApi (wastemanager/v1) und ihre Nachrichten |
— |
Umgebungsvariable INFOTECH_GRPC_NO_PROXY (SDK) |
INFOTECH_GRPC_PROXY_URL=bypass bzw. der Parameter proxyUrl — siehe Proxy in Firmennetzen |
Was hier nicht steht, ist nicht abgekündigt
Der Umkehrschluss gilt bewusst: Elemente, die in dieser Tabelle fehlen, sind Bestandteil des unterstützten Vertrags — auch dann, wenn eine neuere, typisierte Variante daneben existiert. Eine Abkündigung wird in diesem Abschnitt angekündigt, bevor sie greift.
Offene Punkte¶
- Benachrichtigung über neue DiWaSS-Antworten. ZEDAL bietet derzeit keinen Push-Kanal an; Änderungen fragst du ab. Was das für den Aufbau einer Integration heißt, steht unter Webhooks und Event-Benachrichtigung.
Weiter¶
- .NET SDK — Installation, Architektur, Transport, Handler
- REST / JSON — die Referenz spiegelt immer den laufenden Stand, nicht eine Paketversion
- Erste Schritte — Zugang und erster Aufruf