Skip to content

chore(main): release 0.18.0 - #1830

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main
Open

chore(main): release 0.18.0#1830
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main

Conversation

@github-actions

@github-actions github-actions Bot commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.18.0 (2026-08-17)

⚠ BREAKING CHANGES

  • python: batched kernel dispatch — one submission, one fence (#1889)
  • engine: GLSL is the kernel source contract — vendored compiler, keyed cache (#1885)
  • engine: CpuReadbackBridge, set_cpu_readback_bridge and its FullAccess mirror are deleted; open_cpu_readback_staging is added to the escalate wire.
  • plan: run_cpu_readback_copy(buffer_to_image) now refuses a staging that has never been filled from its surface.
  • engine: run_compute_kernel and register_compute_kernel change shape.
  • engine: Texture::native_handle() returns a DMA-BUF fd whose ownership transfers to the caller; previously the texture closed it at drop. No in-tree caller exists.
  • engine: a pool surface id names the frame — recycled ids fail loudly, never serve another frame's pixels (#1877)
  • engine: subscribe() returns Result and registers its subscriber before returning, so no event is lost to the establishment window (#1875)
  • python: delete the wheel duplicate media_clock_now_ns export (#1860)
  • engine: audio tick timestamps carry the machine epoch (#1859)
  • engine: MediaClock carries the machine monotonic epoch (#1858)
  • retire the manifest, schema and codegen layer from the consumer trees (#1854)
  • sdk: delete the @org/package/Type identity grammar and streamlib-idents (#1851)
  • engine: the registry, graph and control plane key on the import path (#1850)
  • idents: delete the orphaned package layer — resolver, manifest, lockfile, package source, archive (#1843)
  • sdk: strip the type from port declarations and control-plane rendering (#1831)
  • engine: streamlib::schemas::current_schema_idents and current_schema_definition are removed, along with the GET /api/schemas and GET /api/schemas/{name} control-plane endpoints.

Features

  • ci: check-clock-usage — enforce the wall-clock allowlist (#1861) (1494b08), closes #1728
  • engine: CPU readback becomes an always-present GpuContext capability (#1883) (d99755b)
  • engine: delete the embedded schema registry (#1827) (fc6be3f)
  • engine: GLSL is the kernel source contract — vendored compiler, keyed cache (#1885) (83d81d4)
  • engine: named N-binding compute dispatch from Python, end to end (#1882) (106570d)
  • engine: surface checkout leases — a held frame's pool slot is never rehanded (#1869) (7e90288)
  • engine: the display name disambiguates duplicates within one graph (#1845) (c9e5fa0)
  • python: batched kernel dispatch — one submission, one fence (#1889) (19eafe6)
  • python: the typed cast claims its frame — read(into=VideoFrame) pins the surface, drop releases it (#1871) (ed098d4)
  • sdk: every processor descriptor carries its class's import path (#1848) (afae87c)
  • sdk: strip the type from port declarations and control-plane rendering (#1831) (45cff3a), closes #1816

Bug Fixes

  • engine: a pool surface id names the frame — recycled ids fail loudly, never serve another frame's pixels (#1877) (5a7b8dd)
  • engine: a surface-share export has exactly one fd owner — the texture DMA-BUF export mints per call instead of memoizing (#1881) (78c5bc8)
  • engine: audio tick timestamps carry the machine epoch (#1859) (a3cc658)
  • engine: bound every wire-derived length the frame-header read path trusts (#1832) (cbd6b9e)
  • engine: cross-process device export reads the pooled backing, never the producer's ring (#1868) (53d5410)
  • engine: MediaClock carries the machine monotonic epoch (#1858) (614bfa7), closes #1725
  • engine: per-link iceoryx2 port reclaim for helper-process endpoints on disconnect (#1862) (e76762e)
  • engine: RHI test fixtures build the video profiles and export memory production builds (#1895) (db09366)
  • engine: subscribe() returns Result and registers its subscriber before returning, so no event is lost to the establishment window (#1875) (655e74d)
  • engine: the tone mapper leaves each image in a layout its usage allows (#1894) (110876b)
  • rhi: the extension-properties buffer outlives the names it lends (#1847) (11f5671), closes #1846

Performance

  • engine: the staging cache stops allocating on every lookup (d99755b)
  • xtask: optimize the lint gates so the test suite stops paying for them (#1849) (1385bd4)

Code Refactoring

  • engine: the registry, graph and control plane key on the import path (#1850) (4e2ac4b)
  • python: delete the wheel duplicate media_clock_now_ns export (#1860) (fd44620)
  • sdk: delete the @org/package/Type identity grammar and streamlib-idents (#1851) (d0dcea3)

Documentation

  • plan: re-cut the REMOVED bullet this change would have falsely retired (d99755b)

Miscellaneous

  • idents: delete the orphaned package layer — resolver, manifest, lockfile, package source, archive (#1843) (96717c8)
  • retire the manifest, schema and codegen layer from the consumer trees (#1854) (d69e753)

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot force-pushed the release-please--branches--main branch 27 times, most recently from 992dfbb to 9630ffa Compare August 17, 2026 12:54
@github-actions
github-actions Bot force-pushed the release-please--branches--main branch from 9630ffa to 6226e34 Compare August 17, 2026 19:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment