Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"packages/krm-stream": "0.7.0",
"gateway": "0.7.0",
"gateway/kube": "0.7.0"
"packages/krm-stream": "0.8.0",
"gateway": "0.8.0",
"gateway/kube": "0.8.0"
}
19 changes: 19 additions & 0 deletions gateway/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,24 @@
# Changelog

## [0.8.0](https://github.com/ConfigButler/krm-stream/compare/gateway/v0.7.0...gateway/v0.8.0) (2026-10-05)


### ⚠ BREAKING CHANGES

* **client:** setValue and removeKey on metadata.annotations as a whole are refused; edit each annotation key instead. isEditable on that map is now false.
* **gateway:** Options and Gateway embed StreamConfig, so composite literals set Authorizer, Clients, Projections, Ordering, Observer, Diagnostics, HeartbeatInterval, WriteTimeout and the reauthorization settings inside StreamConfig: gateway.StreamConfig{...}. Gateway.Auth is renamed Authorizer. The Projection field is removed: use Projections: gateway.StaticProjection(p), or leave it nil for ProjectionFull. ServeStream(w, r, principal, scope, requested) and Stream(ctx, principal, scope, requested, sink) replace ServeStreamProjection and StreamProjection; pass "" for the default view. NewSharedBackend(upstream, options) replaces NewSharedBackendWithOptions; pass gateway.SharedOptions{} for the defaults.

### Features

* **client:** native editing through the host proxy (slice 2) ([#61](https://github.com/ConfigButler/krm-stream/issues/61)) ([66f306b](https://github.com/ConfigButler/krm-stream/commit/66f306bbaa3f8b5c0fc4c990f8a793b287a69191))
* **client:** native Kubernetes viewer over LIST/WATCH (slice 1) ([#60](https://github.com/ConfigButler/krm-stream/issues/60)) ([79fb86e](https://github.com/ConfigButler/krm-stream/commit/79fb86e29fb9543418b5594ab03805bae2c2ea5c))
* **gateway:** share one stream configuration and move the test harness out of the gateway ([#54](https://github.com/ConfigButler/krm-stream/issues/54)) ([f39d365](https://github.com/ConfigButler/krm-stream/commit/f39d3650c89f322eae33884fe8fb614819b7c8a5))


### Documentation

* re-center on watch streams and a native watch direction ([#59](https://github.com/ConfigButler/krm-stream/issues/59)) ([523fd7a](https://github.com/ConfigButler/krm-stream/commit/523fd7a7fbd314472197d106426d6b1a418715e3))

## [0.7.0](https://github.com/ConfigButler/krm-stream/compare/gateway/v0.6.0...gateway/v0.7.0) (2026-10-04)


Expand Down
14 changes: 14 additions & 0 deletions gateway/kube/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,19 @@
# Changelog

## [0.8.0](https://github.com/ConfigButler/krm-stream/compare/gateway/kube/v0.7.0...gateway/kube/v0.8.0) (2026-10-05)


### ⚠ BREAKING CHANGES

* **client:** setValue and removeKey on metadata.annotations as a whole are refused; edit each annotation key instead. isEditable on that map is now false.
* **gateway:** Options and Gateway embed StreamConfig, so composite literals set Authorizer, Clients, Projections, Ordering, Observer, Diagnostics, HeartbeatInterval, WriteTimeout and the reauthorization settings inside StreamConfig: gateway.StreamConfig{...}. Gateway.Auth is renamed Authorizer. The Projection field is removed: use Projections: gateway.StaticProjection(p), or leave it nil for ProjectionFull. ServeStream(w, r, principal, scope, requested) and Stream(ctx, principal, scope, requested, sink) replace ServeStreamProjection and StreamProjection; pass "" for the default view. NewSharedBackend(upstream, options) replaces NewSharedBackendWithOptions; pass gateway.SharedOptions{} for the defaults.

### Features

* **client:** native editing through the host proxy (slice 2) ([#61](https://github.com/ConfigButler/krm-stream/issues/61)) ([66f306b](https://github.com/ConfigButler/krm-stream/commit/66f306bbaa3f8b5c0fc4c990f8a793b287a69191))
* **client:** native Kubernetes viewer over LIST/WATCH (slice 1) ([#60](https://github.com/ConfigButler/krm-stream/issues/60)) ([79fb86e](https://github.com/ConfigButler/krm-stream/commit/79fb86e29fb9543418b5594ab03805bae2c2ea5c))
* **gateway:** share one stream configuration and move the test harness out of the gateway ([#54](https://github.com/ConfigButler/krm-stream/issues/54)) ([f39d365](https://github.com/ConfigButler/krm-stream/commit/f39d3650c89f322eae33884fe8fb614819b7c8a5))

## [0.7.0](https://github.com/ConfigButler/krm-stream/compare/gateway/kube/v0.6.0...gateway/kube/v0.7.0) (2026-10-04)


Expand Down
2 changes: 1 addition & 1 deletion gateway/kube/go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ go 1.27.1
// unreleased adapter with the core from the same commit. The adapter relies on core behaviour, not
// only API, so it must never resolve an older core than the one it was released with.
require (
github.com/ConfigButler/krm-stream/gateway v0.7.0 // x-release-please-version
github.com/ConfigButler/krm-stream/gateway v0.8.0 // x-release-please-version
k8s.io/api v0.36.0
k8s.io/apimachinery v0.36.0
k8s.io/client-go v0.36.0
Expand Down
2 changes: 1 addition & 1 deletion go.work
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,4 @@ use (
// This points that exact version at the working tree. Go refuses an unversioned replace of a
// workspace module, so the version is spelled out, and Release Please moves it together with
// gateway/kube/go.mod; CI fails if the two disagree.
replace github.com/ConfigButler/krm-stream/gateway v0.7.0 => ./gateway // x-release-please-version
replace github.com/ConfigButler/krm-stream/gateway v0.8.0 => ./gateway // x-release-please-version
29 changes: 29 additions & 0 deletions packages/krm-stream/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,34 @@
# Changelog

## [0.8.0](https://github.com/ConfigButler/krm-stream/compare/@configbutler/krm-stream-v0.7.0...@configbutler/krm-stream-v0.8.0) (2026-10-05)


### ⚠ BREAKING CHANGES

* **client:** setValue and removeKey on metadata.annotations as a whole are refused; edit each annotation key instead. isEditable on that map is now false.
* **client:** stop the stream when any host callback throws
* **client:** an exception thrown by a subscribe callback or onError now stops the stream without retrying and rejects closed with that exception, as a consumer exception does.
* **client:** connectManagedResourceStream is renamed connectResourceStream(url, consume, options), and the old single-connection connectResourceStream and connectWithEventSource are removed without aliases. ManagedStreamOptions/StreamOptions become ResourceStreamOptions and ManagedStreamHandle/StreamHandle become ResourceStreamHandle; onOpen, onSynced, onGap, onStateChange and onChange are removed in favour of state, subscribe and the callback. applyStreamEvent takes a ResourceStateEvent, without seq or error events. closed now rejects with a callback's exception, and a mismatched X-KRM-Stream-Protocol header is terminal.

### Features

* **client:** deliver resource state events from one stream connector ([#53](https://github.com/ConfigButler/krm-stream/issues/53)) ([d054745](https://github.com/ConfigButler/krm-stream/commit/d0547459594f9c5025aac81c9c5734f7ebfc1f87))
* **client:** native editing through the host proxy (slice 2) ([#61](https://github.com/ConfigButler/krm-stream/issues/61)) ([66f306b](https://github.com/ConfigButler/krm-stream/commit/66f306bbaa3f8b5c0fc4c990f8a793b287a69191))
* **client:** native Kubernetes viewer over LIST/WATCH (slice 1) ([#60](https://github.com/ConfigButler/krm-stream/issues/60)) ([79fb86e](https://github.com/ConfigButler/krm-stream/commit/79fb86e29fb9543418b5594ab03805bae2c2ea5c))


### Bug Fixes

* **client:** never count an adopted save response as snapshot membership ([d7e0677](https://github.com/ConfigButler/krm-stream/commit/d7e0677066cd3433471e15a0d6bd2a5dc4699844))
* **client:** stop the stream when any host callback throws ([d7e0677](https://github.com/ConfigButler/krm-stream/commit/d7e0677066cd3433471e15a0d6bd2a5dc4699844))


### Documentation

* add an upgrade guide from 0.7 ([d7e0677](https://github.com/ConfigButler/krm-stream/commit/d7e0677066cd3433471e15a0d6bd2a5dc4699844))
* **examples:** add tested deletion-recovery and keep-local editor recipes ([#57](https://github.com/ConfigButler/krm-stream/issues/57)) ([939b262](https://github.com/ConfigButler/krm-stream/commit/939b2622e9a3905c364457c6d463508f119ab1a6))
* re-center on watch streams and a native watch direction ([#59](https://github.com/ConfigButler/krm-stream/issues/59)) ([523fd7a](https://github.com/ConfigButler/krm-stream/commit/523fd7a7fbd314472197d106426d6b1a418715e3))

## [0.7.0](https://github.com/ConfigButler/krm-stream/compare/@configbutler/krm-stream-v0.6.0...@configbutler/krm-stream-v0.7.0) (2026-10-04)


Expand Down
4 changes: 2 additions & 2 deletions packages/krm-stream/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion packages/krm-stream/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@configbutler/krm-stream",
"version": "0.7.0",
"version": "0.8.0",
"description": "Receive live Kubernetes resource updates in browser apps and three-way merge them with form edits.",
"keywords": [
"kubernetes",
Expand Down
2 changes: 1 addition & 1 deletion packages/krm-stream/src/version.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
// line together, and version.test.ts fails if they ever disagree.

/** The npm package version of this build. Assert it against the copy you vendored. */
export const VERSION = "0.7.0"; // x-release-please-version
export const VERSION = "0.8.0"; // x-release-please-version

/** The wire protocol this build speaks (spec/v1.md). The gateway sends it as `X-KRM-Stream-Protocol`;
* connectResourceStream refuses a stream whose header names another version. */
Expand Down
Loading