Zum Inhalt

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/ImportTransportDocumentFromInbox und CommonApi/FetchDocumentNumbers.
  • Signer: SignerApi mit SignerHandoffApi (siehe WebSigner), SignerDeviceApi, SignerEntitlementApi, SignerSettingsApi, CertificateInfoApi (GetTrustAnchor, CheckOcsp) und VerifyApi (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.SigningProcesses mit SubmitAsync und SignAsync, dazu CertificateInfo und VerifyApi. Siehe Signieren.
  • Zeitgrenzen und Abbruch je Aufruf über ZedalCallContext.
  • Dokumentnummern: client.DocumentNumbers, darunter mehrere Movement-Sequenznummern in einer Abfrage (GetNextMovementSequenceNumbers).
  • FetchNumbers nimmt einen Idempotency-Key an; ein wiederholter Abruf verbraucht keine weiteren Nummern.
  • BMU: Create, UpdateDocument und AddLayer des BmuDocumentHandler nehmen XmlOptions an.
  • 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 den BmuDocumentHandler. Create, UpdateDocument und AddLayer nehmen XmlOptions an (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 Nummerntyp DIWASS_NOTIFICATION.
  • GetAccountNumbersResponse liefert die eigenen Behörden-IDs (nur für Behörden selbst).
  • Druckausgabe: PrintOptions am TransformToGraphicalRepresentation-Request, inklusive Ausgabesprache.
  • Auth: core/v1/auth_api um 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) an ZedalClientFactory und ZedalConnectionFactory; 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_PROXY bleibt 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