[{"slug":"ZV-2026-1443","server_name":"ris-austria.caseyjhand.com","severity":"breaking","title":"ris-austria.caseyjhand.com: Type of page_size on ris_search_announcements changed unset → number.","summary":"[safe] Description of ris_get_document changed (9% word delta). [risky] Enum value link added to kind on ris_get_document. [safe] Description of ris_search_announcements changed (4% word delta). [breaking] Type of page_size on ris_search_announcements changed unset → number. [breaking] page_size on ris_search_announcements narrowed to a closed enum (10, 20); previously valid values may now be rejected. [breaking] Type of page_size on ris_search_case_law changed unset → number. [breaking] page_size on ris_search_case_law narrowed to a closed enum (10, 20); previously valid values may now be rejected. [breaking] Type of page_size on ris_search_drafts changed unset → number. [breaking] page_size on ris_search_drafts narrowed to a closed enum (10, 20); previously valid values may now be rejected. [breaking] Type of page_size on ris_search_gazette changed unset → number. [breaking] page_size on ris_search_gazette narrowed to a closed enum (10, 20); previously valid values may now be rejected. [breaking] Type of page_size on ris_search_legislation changed unset → number. [breaking] page_size on ris_search_legislation narrowed to a closed enum (10, 20); previously valid values may now be rejected. [breaking] Type of page_size on ris_track_changes changed unset → number. [breaking] page_size on ris_track_changes narrowed to a closed enum (10, 20); previously valid values may now be rejected.","changes":[{"kind":"description_changed","tool":"ris_get_document","after":"Fetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_lookup_citation result), or a document_url from a result’s content_urls — or, for a draft’s companion documents (Erläuterungen, Textgegenüberstellung, WFA, cover letter, annexes), a ris_search_drafts record’s materials[].url, which is the only route to them. format: markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (the RIS Nutzdaten XML), or urls_only (no fetch — every rendition URL, including the Authentisch PDF). Format availability varies by application and the tool degrades explicitly, never silently: consolidated law, gazettes, case law, drafts, and most sectoral collections carry full text; district and municipal promulgations and court rules (Bvb, GrA, KmGer) publish only the signed authentic PDF; party-transparency decisions and council minutes (Upts, Mrp) are PDF-only; the 1848–1940 imperial gazettes (BgblAlt) are metadata-only — for these a text-format request returns a format_unavailable notice with the usable URL, not an error. Every result carries binding_status; only authentic (amtssigniert) publications are legally binding. This tool returns content, not fresh metadata — the metadata rides the search/lookup step that produced the document number. When the markdown text overflows the 40,000-byte budget the tool returns an outline (kind: outline) instead of truncating: the document’s §/Artikel/Anlage sections where it carries at least two such headings, otherwise contiguous byte windows named Part 1 of N … Part N of N covering the whole text and listed in document order. Re-call with sections:[…] naming outline entries to retrieve just those; a name matching no entry returns the outline again with a notice rather than the whole document. Windows are cut at line breaks, not at sentence or § boundaries, so one can open mid-sentence — read them in order and pull the neighbour when a passage straddles a cut. Raw html and xml renditions are never sliced: at or under the 40,000-byte budget they return whole; over it the result is kind: link — no text, truncated: true, the full byte_size, and content_urls, whose html or xml entry fetches the whole artifact in one GET. Every HTML rendition opens with a 40–70 KB stylesheet, so html practically always returns kind: link — read with markdown, parse with xml, and fetch content_urls.html for the authentic markup. Markdown drops the screen-reader expansions RIS ships alongside each abbreviated citation, keeping the visible citation form; raw html/xml renditions are returned exactly as published.","before":"Fetch one RIS document’s full text or its rendition URLs, with explicit binding status and the amtssigniert authentic PDF surfaced wherever it exists. Address the document exactly one of two ways: document_number plus application (both copied verbatim from a ris_search_* or ris_lookup_citation result), or a document_url from a result’s content_urls — or, for a draft’s companion documents (Erläuterungen, Textgegenüberstellung, WFA, cover letter, annexes), a ris_search_drafts record’s materials[].url, which is the only route to them. format: markdown (default — the HTML rendition converted to markdown), html (raw HTML rendition), xml (the RIS Nutzdaten XML), or urls_only (no fetch — every rendition URL, including the Authentisch PDF). Format availability varies by application and the tool degrades explicitly, never silently: consolidated law, gazettes, case law, drafts, and most sectoral collections carry full text; district and municipal promulgations and court rules (Bvb, GrA, KmGer) publish only the signed authentic PDF; party-transparency decisions and council minutes (Upts, Mrp) are PDF-only; the 1848–1940 imperial gazettes (BgblAlt) are metadata-only — for these a text-format request returns a format_unavailable notice with the usable URL, not an error. Every result carries binding_status; only authentic (amtssigniert) publications are legally binding. This tool returns content, not fresh metadata — the metadata rides the search/lookup step that produced the document number. When the markdown text overflows the 40,000-byte budget the tool returns an outline (kind: outline) instead of truncating: the document’s §/Artikel/Anlage sections where it carries at least two such headings, otherwise contiguous byte windows named Part 1 of N … Part N of N covering the whole text and listed in document order. Re-call with sections:[…] naming outline entries to retrieve just those; a name matching no entry returns the outline again with a notice rather than the whole document. Windows are cut at line breaks, not at sentence or § boundaries, so one can open mid-sentence — read them in order and pull the neighbour when a passage straddles a cut. Raw html and xml renditions are never sliced and return whole at any size. Markdown drops the screen-reader expansions RIS ships alongside each abbreviated citation, keeping the visible citation form; raw html/xml renditions are returned exactly as published.","detail":"Description of `ris_get_document` changed (9% word delta).","severity":"safe","descriptionDelta":0.08898305084745761},{"kind":"enum_value_added","path":"outputSchema.properties.kind","tool":"ris_get_document","after":"link","detail":"Enum value `link` added to `kind` on `ris_get_document`.","severity":"risky"},{"kind":"description_changed","tool":"ris_search_announcements","after":"Search Austria’s sectoral official gazettes and executive documents — seven collections behind one collection enum: social_insurance (Amtliche Verlautbarungen der Sozialversicherung, authentic), veterinary (Amtliche Veterinärnachrichten, authentic), court_rules (Kundmachungen der Gerichte — rules of procedure and case-allocation plans, authentic; currently LVwG Tirol and Vorarlberg only), trade_exam_rules (Prüfungsordnungen gemäß Gewerbeordnung, authentic), health_structure_plans (Strukturpläne Gesundheit — federal ÖSG and per-state RSG, authentic), ministerial_decrees (Erlässe der Bundesministerien — decrees interpreting law; bind the administration, not citizens), and council_minutes (Ministerratsprotokolle — council-of-ministers session records). Each collection accepts a different filter set: query and title are broadly available; number, published_from/to, in_force_as_of, issuer (ministry and social-insurance carrier abbreviations expanded), norm (\"decrees citing the DSG\"), case_number, type, department, plan_type/plan_state (health plans), session_number/legislature (council minutes), and changed_since (all but social_insurance and veterinary) apply where the collection supports them — a filter outside its set is rejected locally. Every result carries a binding label, the authentic PDF where it exists, and the RIS web view (document_url) — the only browsable surface for the PDF-only council minutes and for ministerial decrees. Per-collection parameter matrix and issuers: ris_list_reference topic collections or issuing_bodies.","before":"Search Austria’s sectoral official gazettes and executive documents — seven collections behind one collection enum: social_insurance (Amtliche Verlautbarungen der Sozialversicherung, authentic), veterinary (Amtliche Veterinärnachrichten, authentic), court_rules (Kundmachungen der Gerichte — rules of procedure and case-allocation plans, authentic; currently LVwG Tirol and Vorarlberg only), trade_exam_rules (Prüfungsordnungen gemäß Gewerbeordnung, authentic), health_structure_plans (Strukturpläne Gesundheit — federal ÖSG and per-state RSG, authentic), ministerial_decrees (Erlässe der Bundesministerien — decrees interpreting law; bind the administration, not citizens), and council_minutes (Ministerratsprotokolle — council-of-ministers session records). Each collection accepts a different filter set: query and title are broadly available; number, published_from/to, in_force_as_of, issuer (ministry abbreviations expanded), norm (\"decrees citing the DSG\"), case_number, type, department, plan_type/plan_state (health plans), and session_number/legislature (council minutes) apply where the collection supports them — a filter outside its set is rejected locally. Every result carries a binding label, the authentic PDF where it exists, and the RIS web view (document_url) — the only browsable surface for the PDF-only council minutes and for ministerial decrees. Per-collection parameter matrix and issuers: ris_list_reference topic collections or issuing_bodies.","detail":"Description of `ris_search_announcements` changed (4% word delta).","severity":"safe","descriptionDelta":0.043165467625899234},{"kind":"input_type_changed","path":"inputSchema.properties.page_size","tool":"ris_search_announcements","after":"number","before":"unset","detail":"Type of `page_size` on `ris_search_announcements` changed unset → number.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.page_size","tool":"ris_search_announcements","after":"enum[10,20]","before":"open","detail":"`page_size` on `ris_search_announcements` narrowed to a closed enum (10, 20); previously valid values may now be rejected.","severity":"breaking"},{"kind":"input_type_changed","path":"inputSchema.properties.page_size","tool":"ris_search_case_law","after":"number","before":"unset","detail":"Type of `page_size` on `ris_search_case_law` changed unset → number.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.page_size","tool":"ris_search_case_law","after":"enum[10,20]","before":"open","detail":"`page_size` on `ris_search_case_law` narrowed to a closed enum (10, 20); previously valid values may now be rejected.","severity":"breaking"},{"kind":"input_type_changed","path":"inputSchema.properties.page_size","tool":"ris_search_drafts","after":"number","before":"unset","detail":"Type of `page_size` on `ris_search_drafts` changed unset → number.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.page_size","tool":"ris_search_drafts","after":"enum[10,20]","before":"open","detail":"`page_size` on `ris_search_drafts` narrowed to a closed enum (10, 20); previously valid values may now be rejected.","severity":"breaking"},{"kind":"input_type_changed","path":"inputSchema.properties.page_size","tool":"ris_search_gazette","after":"number","before":"unset","detail":"Type of `page_size` on `ris_search_gazette` changed unset → number.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.page_size","tool":"ris_search_gazette","after":"enum[10,20]","before":"open","detail":"`page_size` on `ris_search_gazette` narrowed to a closed enum (10, 20); previously valid values may now be rejected.","severity":"breaking"},{"kind":"input_type_changed","path":"inputSchema.properties.page_size","tool":"ris_search_legislation","after":"number","before":"unset","detail":"Type of `page_size` on `ris_search_legislation` changed unset → number.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.page_size","tool":"ris_search_legislation","after":"enum[10,20]","before":"open","detail":"`page_size` on `ris_search_legislation` narrowed to a closed enum (10, 20); previously valid values may now be rejected.","severity":"breaking"},{"kind":"input_type_changed","path":"inputSchema.properties.page_size","tool":"ris_track_changes","after":"number","before":"unset","detail":"Type of `page_size` on `ris_track_changes` changed unset → number.","severity":"breaking"},{"kind":"enum_narrowed","path":"inputSchema.properties.page_size","tool":"ris_track_changes","after":"enum[10,20]","before":"open","detail":"`page_size` on `ris_track_changes` narrowed to a closed enum (10, 20); previously valid values may now be rejected.","severity":"breaking"}],"published_at":"2026-09-25T05:53:13.599Z"}]