From f0cb5db86d986a6f6bc23d0d46aa84fb68b29b29 Mon Sep 17 00:00:00 2001 From: Tanner Stirrat Date: Fri, 1 May 2026 08:13:59 -0600 Subject: [PATCH 1/4] chore: add automation for adding a new version --- e2e/e2e_test.go | 2 +- go.mod | 1 + go.sum | 4 +- magefiles/magefile.go | 86 +- magefiles/versions.yaml | 633 ++++ pkg/config/global.go | 4 +- pkg/updates/file.go | 22 +- proposed-update-graph.yaml | 3839 +++++++++++++--------- tools/generate-update-graph/main.go | 643 +--- tools/generate-update-graph/main_test.go | 100 +- tools/go.mod | 3 +- tools/go.sum | 2 + 12 files changed, 3240 insertions(+), 2099 deletions(-) create mode 100644 magefiles/versions.yaml diff --git a/e2e/e2e_test.go b/e2e/e2e_test.go index 40a494a9..fbb1950b 100644 --- a/e2e/e2e_test.go +++ b/e2e/e2e_test.go @@ -18,6 +18,7 @@ import ( "time" "github.com/go-logr/zapr" + "github.com/goccy/go-yaml" "github.com/jzelinskie/stringz" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -53,7 +54,6 @@ import ( "sigs.k8s.io/kind/pkg/cluster/nodeutils" "sigs.k8s.io/kind/pkg/cmd" "sigs.k8s.io/kind/pkg/fs" - "sigs.k8s.io/yaml" "github.com/authzed/spicedb-operator/e2e/databases" e2eutil "github.com/authzed/spicedb-operator/e2e/util" diff --git a/go.mod b/go.mod index 4022729a..4ebd255e 100644 --- a/go.mod +++ b/go.mod @@ -8,6 +8,7 @@ require ( github.com/evanphx/json-patch v5.9.11+incompatible github.com/fatih/camelcase v1.0.0 github.com/go-logr/logr v1.4.3 + github.com/goccy/go-yaml v1.19.2 github.com/gosimple/slug v1.15.0 github.com/jzelinskie/stringz v0.0.3 github.com/magefile/mage v1.15.0 diff --git a/go.sum b/go.sum index 95563e52..486325b9 100644 --- a/go.sum +++ b/go.sum @@ -84,8 +84,8 @@ github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1v github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/gobuffalo/flect v1.0.3 h1:xeWBM2nui+qnVvNM4S3foBhCAL2XgPU+a7FdpelbTq4= github.com/gobuffalo/flect v1.0.3/go.mod h1:A5msMlrHtLqh9umBSnvabjsMrCcCpAyzglnDvkbYKHs= -github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= -github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= diff --git a/magefiles/magefile.go b/magefiles/magefile.go index e426c294..a99b52fa 100644 --- a/magefiles/magefile.go +++ b/magefiles/magefile.go @@ -9,8 +9,10 @@ import ( "os" "os/exec" "path/filepath" + "strings" "github.com/cespare/xxhash/v2" + "github.com/goccy/go-yaml" "github.com/jzelinskie/stringz" "github.com/magefile/mage/mg" "github.com/magefile/mage/sh" @@ -21,6 +23,21 @@ import ( "sigs.k8s.io/kind/pkg/fs" ) +const versionsYamlFile = "magefiles/versions.yaml" + +type datastoreConfig struct { + Migration string `json:"migration,omitempty"` + Phase string `json:"phase,omitempty"` + Deprecated bool `json:"deprecated,omitempty"` + Waypoint bool `json:"waypoint,omitempty"` +} + +type versionEntry struct { + ID string `json:"id"` + Tag string `json:"tag"` + Config map[string]datastoreConfig `json:"config"` +} + var Aliases = map[string]interface{}{ "test": Test.Unit, "e2e": Test.E2e, @@ -124,13 +141,76 @@ func (Gen) Graph() error { return sh.RunV("go", "generate", "./tools/generate-update-graph/main.go") } -// If the update graph definition +// Append_version appends a new entry to the version list given a docker tag of a +// SpiceDB release, automatically discovering the migration head for each datastore. +func (Gen) Append_version(tag string) error { + mg.Deps(checkDocker) + + existing, err := os.ReadFile(versionsYamlFile) + if err != nil && !os.IsNotExist(err) { + return err + } + for _, line := range strings.Split(string(existing), "\n") { + if line == "tag: "+tag { + return fmt.Errorf("version %s is already in the version list", tag) + } + } + + versionOutput, err := sh.Output("docker", "run", "--rm", "--platform=linux/amd64", + "ghcr.io/authzed/spicedb:"+tag, "spicedb", "version") + if err != nil { + return fmt.Errorf("failed to get version from image: %w", err) + } + // Output format: "spicedb v1.52.0" + parts := strings.Fields(versionOutput) + if len(parts) < 2 { + return fmt.Errorf("unexpected version output: %q", versionOutput) + } + id := parts[1] + + cfg := make(map[string]datastoreConfig) + for _, ds := range []string{"postgres", "cockroachdb", "spanner", "mysql"} { + migration, err := sh.Output("docker", "run", "--rm", "--platform=linux/amd64", + "ghcr.io/authzed/spicedb:"+tag, "spicedb", + "datastore", "head", "--log-level=error", "--datastore-engine="+ds) + if err != nil { + return fmt.Errorf("failed to get migration head for %s: %w", ds, err) + } + cfg[ds] = datastoreConfig{Migration: strings.TrimSpace(migration)} + } + cfg["memory"] = datastoreConfig{} + + v := versionEntry{ID: id, Tag: tag, Config: cfg} + vBytes, err := yaml.Marshal(v) + if err != nil { + return err + } + + f, err := os.OpenFile(versionsYamlFile, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0o644) + if err != nil { + return err + } + defer f.Close() + + if _, err := f.WriteString("---\n"); err != nil { + return err + } + _, err = f.Write(vBytes) + return err +} + +// generateGraphIfSourcesChanged regenerates the update graph if versions.yaml or +// the generator source have changed since the last generation. func (g Gen) generateGraphIfSourcesChanged() error { - regen, err := target.Dir("proposed-update-graph.yaml", "tools/generate-update-graph") + versionsChanged, err := target.Path("proposed-update-graph.yaml", versionsYamlFile) + if err != nil { + return err + } + generatorChanged, err := target.Dir("proposed-update-graph.yaml", "tools/generate-update-graph") if err != nil { return err } - if regen { + if versionsChanged || generatorChanged { return g.Graph() } return nil diff --git a/magefiles/versions.yaml b/magefiles/versions.yaml new file mode 100644 index 00000000..cb8c3077 --- /dev/null +++ b/magefiles/versions.yaml @@ -0,0 +1,633 @@ +id: v1.51.1 +tag: v1.51.1 +config: + cockroachdb: + migration: add-expiration-support + memory: {} + mysql: + migration: add_expiration_to_relation_tuple + postgres: + migration: add-index-for-transaction-gc + spanner: + migration: add-expiration-support +--- +id: v1.49.2 +tag: v1.49.2 +config: + cockroachdb: + migration: add-expiration-support + memory: {} + mysql: + migration: add_expiration_to_relation_tuple + postgres: + migration: add-index-for-transaction-gc + spanner: + migration: add-expiration-support +--- +id: v1.48.0 +tag: v1.48.0 +config: + cockroachdb: + migration: add-expiration-support + memory: {} + mysql: + migration: add_expiration_to_relation_tuple + postgres: + migration: add-index-for-transaction-gc + spanner: + migration: add-expiration-support +--- +id: v1.47.1 +tag: v1.47.1 +config: + cockroachdb: + migration: add-expiration-support + memory: {} + mysql: + migration: add_expiration_to_relation_tuple + postgres: + migration: add-index-for-transaction-gc + spanner: + migration: add-expiration-support +--- +id: v1.45.4 +tag: v1.45.4 +config: + cockroachdb: + migration: add-expiration-support + memory: {} + mysql: + migration: add_expiration_to_relation_tuple + postgres: + migration: add-index-for-transaction-gc + spanner: + migration: add-expiration-support +--- +id: v1.42.1 +tag: v1.42.1 +config: + cockroachdb: + migration: add-expiration-support + memory: {} + mysql: + migration: add_expiration_to_relation_tuple + postgres: + migration: add-index-for-transaction-gc + spanner: + migration: add-expiration-support +--- +id: v1.40.1 +tag: v1.40.1 +config: + cockroachdb: + migration: add-expiration-support + memory: {} + mysql: + migration: add_expiration_to_relation_tuple + postgres: + migration: add-index-for-transaction-gc + spanner: + migration: add-expiration-support +--- +id: v1.39.1 +tag: v1.39.1 +config: + cockroachdb: + migration: add-transaction-metadata-table + memory: {} + mysql: + migration: add_metadata_to_transaction_table + postgres: + migration: add-watch-api-index-to-relation-tuple-table + spanner: + migration: add-transaction-metadata-table +--- +id: v1.38.0 +tag: v1.38.0 +config: + cockroachdb: + migration: add-transaction-metadata-table + memory: {} + mysql: + migration: add_metadata_to_transaction_table + postgres: + migration: add-metadata-to-transaction-table + spanner: + migration: add-transaction-metadata-table +--- +id: v1.37.1 +tag: v1.37.1 +config: + cockroachdb: + migration: add-integrity-relationtuple-table + memory: {} + mysql: + migration: add_relationship_counters_table + postgres: + migration: create-relationships-counters-table + spanner: + migration: add-relationship-counter-table +--- +id: v1.36.2 +tag: v1.36.2 +config: + cockroachdb: + migration: add-integrity-relationtuple-table + memory: {} + mysql: + migration: add_relationship_counters_table + postgres: + migration: create-relationships-counters-table + spanner: + migration: add-relationship-counter-table +--- +id: v1.35.3 +tag: v1.35.3 +config: + cockroachdb: + migration: add-relationship-counters-table + memory: {} + mysql: + migration: add_relationship_counters_table + postgres: + migration: create-relationships-counters-table + spanner: + migration: add-relationship-counter-table +--- +id: v1.34.0 +tag: v1.34.0 +config: + cockroachdb: + migration: add-relationship-counters-table + memory: {} + mysql: + migration: add_relationship_counters_table + postgres: + migration: create-relationships-counters-table + spanner: + migration: add-relationship-counter-table +--- +id: v1.33.1 +tag: v1.33.1 +config: + cockroachdb: + migration: remove-stats-table + memory: {} + mysql: + migration: watch_api_relation_tuple_index + postgres: + migration: add-rel-by-alive-resource-relation-subject + spanner: + migration: delete-older-changestreams +--- +id: v1.32.0 +tag: v1.32.0 +config: + cockroachdb: + migration: remove-stats-table + memory: {} + mysql: + migration: watch_api_relation_tuple_index + postgres: + migration: add-rel-by-alive-resource-relation-subject + spanner: + migration: delete-older-changestreams +--- +id: v1.31.0 +tag: v1.31.0 +config: + cockroachdb: + migration: remove-stats-table + memory: {} + mysql: + migration: watch_api_relation_tuple_index + postgres: + migration: add-rel-by-alive-resource-relation-subject + spanner: + migration: delete-older-changestreams +--- +id: v1.30.0 +tag: v1.30.0 +config: + cockroachdb: + migration: remove-stats-table + memory: {} + mysql: + migration: watch_api_relation_tuple_index + postgres: + migration: add-rel-by-alive-resource-relation-subject + spanner: + migration: delete-older-changestreams +--- +id: v1.30.0-phase1 +tag: v1.30.0 +config: + cockroachdb: + migration: add-caveats + phase: write-both-read-new +--- +id: v1.29.5 +tag: v1.29.5 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: watch_api_relation_tuple_index + postgres: + migration: add-rel-by-alive-resource-relation-subject + spanner: + migration: delete-older-changestreams +--- +id: v1.29.5-phase1 +tag: v1.29.5 +config: + spanner: + migration: register-combined-change-stream + phase: write-both-read-new +--- +id: v1.26.0 +tag: v1.26.0 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: longblob_definitions + postgres: + migration: add-rel-by-alive-resource-relation-subject + spanner: + migration: drop-changelog-table +--- +id: v1.25.0 +tag: v1.25.0 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: longblob_definitions + postgres: + migration: add-gc-covering-index + spanner: + migration: drop-changelog-table +--- +id: v1.24.0 +tag: v1.24.0 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: extend_object_id + postgres: + migration: add-gc-covering-index + spanner: + migration: drop-changelog-table +--- +id: v1.23.1 +tag: v1.23.1 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: extend_object_id + postgres: + migration: add-gc-covering-index + spanner: + migration: drop-changelog-table +--- +id: v1.22.2 +tag: v1.22.2 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: extend_object_id + postgres: + migration: add-gc-covering-index + spanner: + migration: drop-changelog-table +--- +id: v1.22.2-phase2 +tag: v1.22.2 +config: + spanner: + migration: register-tuple-change-stream + phase: write-changelog-read-stream +--- +id: v1.22.2-phase1 +tag: v1.22.2 +config: + spanner: + migration: register-tuple-change-stream + phase: write-changelog-read-changelog +--- +id: v1.21.0 +tag: v1.21.0 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: extend_object_id + postgres: + migration: add-gc-covering-index + spanner: + migration: add-caveats +--- +id: v1.19.1 +tag: v1.19.1 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: add_caveat + postgres: + migration: add-gc-covering-index + spanner: + migration: add-caveats +--- +id: v1.18.0 +tag: v1.18.0 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: add_caveat + postgres: + migration: drop-bigserial-ids + spanner: + migration: add-caveats +--- +id: v1.17.0 +tag: v1.17.0 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: add_caveat + postgres: + migration: drop-bigserial-ids + spanner: + migration: add-caveats +--- +id: v1.16.2 +tag: v1.16.2 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: add_caveat + postgres: + migration: drop-bigserial-ids + spanner: + migration: add-caveats +--- +id: v1.16.1 +tag: v1.16.1 +config: + cockroachdb: + deprecated: true + migration: add-caveats + memory: + deprecated: true + mysql: + deprecated: true + migration: add_caveat + postgres: + deprecated: true + migration: drop-bigserial-ids + spanner: + deprecated: true + migration: add-caveats +--- +id: v1.16.0 +tag: v1.16.0 +config: + cockroachdb: + deprecated: true + migration: add-caveats + memory: + deprecated: true + mysql: + deprecated: true + migration: add_caveat + postgres: + deprecated: true + migration: drop-bigserial-ids + spanner: + deprecated: true + migration: add-caveats +--- +id: v1.15.0 +tag: v1.15.0 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: add_caveat + postgres: + migration: drop-bigserial-ids + spanner: + migration: add-caveats +--- +id: v1.14.1 +tag: v1.14.1 +config: + cockroachdb: + migration: add-caveats + memory: {} + mysql: + migration: add_caveat + postgres: + migration: drop-bigserial-ids + spanner: + migration: add-caveats +--- +id: v1.14.0 +tag: v1.14.0 +config: + cockroachdb: + deprecated: true + migration: add-caveats + memory: + deprecated: true + mysql: + deprecated: true + migration: add_caveat + postgres: + migration: drop-bigserial-ids + spanner: + deprecated: true + migration: add-caveats +--- +id: v1.14.0-phase2 +tag: v1.14.0 +config: + postgres: + migration: add-xid-constraints + phase: write-both-read-new +--- +id: v1.14.0-phase1 +tag: v1.14.0 +config: + postgres: + migration: add-xid-columns + phase: write-both-read-old +--- +id: v1.13.0 +tag: v1.13.0 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + mysql: + migration: add_ns_config_id + postgres: + migration: add-ns-config-id + spanner: + migration: add-metadata-and-counters +--- +id: v1.12.0 +tag: v1.12.0 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + mysql: + migration: add_ns_config_id + postgres: + migration: add-ns-config-id + spanner: + migration: add-metadata-and-counters +--- +id: v1.11.0 +tag: v1.11.0 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + mysql: + migration: add_ns_config_id + postgres: + migration: add-ns-config-id + spanner: + migration: add-metadata-and-counters +--- +id: v1.10.0 +tag: v1.10.0 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + mysql: + migration: add_ns_config_id + postgres: + migration: add-ns-config-id + spanner: + migration: add-metadata-and-counters +--- +id: v1.9.0 +tag: v1.9.0 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + mysql: + migration: add_unique_datastore_id + postgres: + migration: add-unique-datastore-id + spanner: + migration: add-metadata-and-counters +--- +id: v1.8.0 +tag: v1.8.0 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + mysql: + migration: add_unique_datastore_id + postgres: + migration: add-unique-datastore-id + spanner: + migration: add-metadata-and-counters +--- +id: v1.7.1 +tag: v1.7.1 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + mysql: + migration: add_unique_datastore_id + postgres: + migration: add-unique-datastore-id +--- +id: v1.7.0 +tag: v1.7.0 +config: + cockroachdb: + deprecated: true + migration: add-metadata-and-counters + memory: + deprecated: true + mysql: + deprecated: true + migration: add_unique_datastore_id + postgres: + deprecated: true + migration: add-unique-datastore-id +--- +id: v1.6.0 +tag: v1.6.0 +config: + cockroachdb: + migration: add-metadata-and-counters + memory: {} + postgres: + migration: add-unique-datastore-id +--- +id: v1.5.0 +tag: v1.5.0 +config: + cockroachdb: + migration: add-transactions-table + memory: {} + postgres: + migration: add-transaction-timestamp-index +--- +id: v1.4.0 +tag: v1.4.0 +config: + cockroachdb: + migration: add-transactions-table + memory: {} + postgres: + migration: add-transaction-timestamp-index +--- +id: v1.3.0 +tag: v1.3.0 +config: + cockroachdb: + migration: add-transactions-table + memory: {} + postgres: + migration: add-transaction-timestamp-index +--- +id: v1.2.0 +tag: v1.2.0 +config: + cockroachdb: + migration: add-transactions-table + memory: {} + postgres: + migration: add-transaction-timestamp-index diff --git a/pkg/config/global.go b/pkg/config/global.go index 0e0a3579..90a123e5 100644 --- a/pkg/config/global.go +++ b/pkg/config/global.go @@ -4,8 +4,8 @@ import "github.com/authzed/spicedb-operator/pkg/updates" // OperatorConfig holds operator-wide config that is used across all objects type OperatorConfig struct { - ImageName string `json:"imageName,omitempty"` - updates.UpdateGraph + ImageName string `json:"imageName,omitempty" yaml:"imageName,omitempty"` + updates.UpdateGraph `yaml:",inline"` } func NewOperatorConfig() OperatorConfig { diff --git a/pkg/updates/file.go b/pkg/updates/file.go index 2a11e59c..6555a62e 100644 --- a/pkg/updates/file.go +++ b/pkg/updates/file.go @@ -19,17 +19,17 @@ const DatastoreMetadataKey = "datastore" // to the "head" of the channel from every node. type Channel struct { // Name is the user-facing identifier for a graph of updates. - Name string `json:"name"` + Name string `json:"name" yaml:"name"` // Metadata contains any additional properties about the channel. // For example, the applicable datastore is stored as metadata. - Metadata map[string]string `json:"metadata,omitempty"` + Metadata map[string]string `json:"metadata,omitempty" yaml:"metadata,omitempty"` // Edges are the transitions between states in the update graph. - Edges EdgeSet `json:"edges,omitempty"` + Edges EdgeSet `json:"edges,omitempty" yaml:"edges,omitempty"` // Nodes are the possible states in an update graph. - Nodes []State `json:"nodes,omitempty"` + Nodes []State `json:"nodes,omitempty" yaml:"nodes,omitempty"` } // EqualIdentity determines if two channels represent the same stream of @@ -80,19 +80,19 @@ func (c Channel) RemoveNodes(nodes []State) Channel { // State is a "node" in the channel graph, indicating how to run at that // release. type State struct { - ID string `json:"id"` - Tag string `json:"tag,omitempty"` - Migration string `json:"migration,omitempty"` - Phase string `json:"phase,omitempty"` - Digest string `json:"digest,omitempty"` + ID string `json:"id" yaml:"id"` + Tag string `json:"tag,omitempty" yaml:"tag,omitempty"` + Migration string `json:"migration,omitempty" yaml:"migration,omitempty"` + Phase string `json:"phase,omitempty" yaml:"phase,omitempty"` + Digest string `json:"digest,omitempty" yaml:"digest,omitempty"` // Deprecated releases can be updated from, but not to - Deprecated bool `json:"-"` + Deprecated bool `json:"-" yaml:"-"` } // UpdateGraph holds a graph of required update edges type UpdateGraph struct { - Channels []Channel `json:"channels,omitempty"` + Channels []Channel `json:"channels,omitempty" yaml:"channels,omitempty"` } // DefaultChannelForDatastore returns the first channel for a specific datastore. diff --git a/proposed-update-graph.yaml b/proposed-update-graph.yaml index 017c159a..a7413ca0 100644 --- a/proposed-update-graph.yaml +++ b/proposed-update-graph.yaml @@ -1,104 +1,76 @@ +imageName: ghcr.io/authzed/spicedb channels: -- edges: - v1.2.0: - - v1.3.0 - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.3.0: - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.4.0: - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.5.0: - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.6.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.7.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.7.1: - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.8.0: - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.9.0: - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 +- name: stable + metadata: + datastore: cockroachdb + default: "true" + edges: v1.10.0: - v1.11.0 - v1.12.0 - v1.13.0 - - v1.14.0-phase1 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 v1.11.0: - v1.12.0 - v1.13.0 - - v1.14.0-phase1 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 v1.12.0: - v1.13.0 - - v1.14.0-phase1 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 v1.13.0: - - v1.14.0-phase1 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 v1.14.0: - v1.14.1 - v1.15.0 @@ -113,17 +85,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - v1.14.0-phase1: - - v1.14.0-phase2 - v1.14.0-phase2: - - v1.14.0 + - v1.30.0-phase1 v1.14.1: - v1.15.0 - v1.16.2 @@ -137,13 +99,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.15.0: - v1.16.2 - v1.17.0 @@ -156,13 +112,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.16.0: - v1.16.2 - v1.17.0 @@ -175,13 +125,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.16.1: - v1.16.2 - v1.17.0 @@ -194,13 +138,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.16.2: - v1.17.0 - v1.18.0 @@ -212,13 +150,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.17.0: - v1.18.0 - v1.19.1 @@ -229,13 +161,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.18.0: - v1.19.1 - v1.21.0 @@ -245,13 +171,7 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.19.1: - v1.21.0 - v1.22.2 @@ -260,120 +180,209 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - v1.21.0: + - v1.30.0-phase1 + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 - v1.22.2 - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - v1.22.2: + - v1.30.0-phase1 + v1.21.0: + - v1.22.2 - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 + v1.22.2: + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 v1.23.1: - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.24.0: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.25.0: - v1.26.0 - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.26.0: - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 + - v1.30.0-phase1 v1.29.5: - - v1.30.0 + - v1.30.0-phase1 + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.30.0: - v1.31.0 - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - v1.30.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.30.0-phase1: + - v1.30.0 - v1.31.0 - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.31.0: - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.32.0: - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.33.1: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.34.0: - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.35.3: - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.36.2: - v1.37.1 - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.37.1: - v1.38.0 - v1.39.1 @@ -401,6 +410,30 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 v1.40.1: - v1.42.1 - v1.45.4 @@ -428,162 +461,7 @@ channels: - v1.51.1 v1.49.2: - v1.51.1 - metadata: - datastore: postgres - default: "true" - name: stable - nodes: - - id: v1.51.1 - migration: add-index-for-transaction-gc - tag: v1.51.1 - - id: v1.49.2 - migration: add-index-for-transaction-gc - tag: v1.49.2 - - id: v1.48.0 - migration: add-index-for-transaction-gc - tag: v1.48.0 - - id: v1.47.1 - migration: add-index-for-transaction-gc - tag: v1.47.1 - - id: v1.45.4 - migration: add-index-for-transaction-gc - tag: v1.45.4 - - id: v1.42.1 - migration: add-index-for-transaction-gc - tag: v1.42.1 - - id: v1.40.1 - migration: add-index-for-transaction-gc - tag: v1.40.1 - - id: v1.39.1 - migration: add-watch-api-index-to-relation-tuple-table - tag: v1.39.1 - - id: v1.38.0 - migration: add-metadata-to-transaction-table - tag: v1.38.0 - - id: v1.37.1 - migration: create-relationships-counters-table - tag: v1.37.1 - - id: v1.36.2 - migration: create-relationships-counters-table - tag: v1.36.2 - - id: v1.35.3 - migration: create-relationships-counters-table - tag: v1.35.3 - - id: v1.34.0 - migration: create-relationships-counters-table - tag: v1.34.0 - - id: v1.33.1 - migration: add-rel-by-alive-resource-relation-subject - tag: v1.33.1 - - id: v1.32.0 - migration: add-rel-by-alive-resource-relation-subject - tag: v1.32.0 - - id: v1.31.0 - migration: add-rel-by-alive-resource-relation-subject - tag: v1.31.0 - - id: v1.30.0 - migration: add-rel-by-alive-resource-relation-subject - tag: v1.30.0 - - id: v1.29.5 - migration: add-rel-by-alive-resource-relation-subject - tag: v1.29.5 - - id: v1.26.0 - migration: add-rel-by-alive-resource-relation-subject - tag: v1.26.0 - - id: v1.25.0 - migration: add-gc-covering-index - tag: v1.25.0 - - id: v1.24.0 - migration: add-gc-covering-index - tag: v1.24.0 - - id: v1.23.1 - migration: add-gc-covering-index - tag: v1.23.1 - - id: v1.22.2 - migration: add-gc-covering-index - tag: v1.22.2 - - id: v1.21.0 - migration: add-gc-covering-index - tag: v1.21.0 - - id: v1.19.1 - migration: add-gc-covering-index - tag: v1.19.1 - - id: v1.18.0 - migration: drop-bigserial-ids - tag: v1.18.0 - - id: v1.17.0 - migration: drop-bigserial-ids - tag: v1.17.0 - - id: v1.16.2 - migration: drop-bigserial-ids - tag: v1.16.2 - - id: v1.16.1 - migration: drop-bigserial-ids - tag: v1.16.1 - - id: v1.16.0 - migration: drop-bigserial-ids - tag: v1.16.0 - - id: v1.15.0 - migration: drop-bigserial-ids - tag: v1.15.0 - - id: v1.14.1 - migration: drop-bigserial-ids - tag: v1.14.1 - - id: v1.14.0 - migration: drop-bigserial-ids - tag: v1.14.0 - - id: v1.14.0-phase2 - migration: add-xid-constraints - phase: write-both-read-new - tag: v1.14.0 - - id: v1.14.0-phase1 - migration: add-xid-columns - phase: write-both-read-old - tag: v1.14.0 - - id: v1.13.0 - migration: add-ns-config-id - tag: v1.13.0 - - id: v1.12.0 - migration: add-ns-config-id - tag: v1.12.0 - - id: v1.11.0 - migration: add-ns-config-id - tag: v1.11.0 - - id: v1.10.0 - migration: add-ns-config-id - tag: v1.10.0 - - id: v1.9.0 - migration: add-unique-datastore-id - tag: v1.9.0 - - id: v1.8.0 - migration: add-unique-datastore-id - tag: v1.8.0 - - id: v1.7.1 - migration: add-unique-datastore-id - tag: v1.7.1 - - id: v1.7.0 - migration: add-unique-datastore-id - tag: v1.7.0 - - id: v1.6.0 - migration: add-unique-datastore-id - tag: v1.6.0 - - id: v1.5.0 - migration: add-transaction-timestamp-index - tag: v1.5.0 - - id: v1.4.0 - migration: add-transaction-timestamp-index - tag: v1.4.0 - - id: v1.3.0 - migration: add-transaction-timestamp-index - tag: v1.3.0 - - id: v1.2.0 - migration: add-transaction-timestamp-index - tag: v1.2.0 -- edges: - v1.2.0: - - v1.3.0 - - v1.4.0 - - v1.5.0 + v1.5.0: - v1.6.0 - v1.7.1 - v1.8.0 @@ -606,10 +484,7 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.3.0: - - v1.4.0 - - v1.5.0 - - v1.6.0 + v1.6.0: - v1.7.1 - v1.8.0 - v1.9.0 @@ -631,9 +506,7 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.4.0: - - v1.5.0 - - v1.6.0 + v1.7.0: - v1.7.1 - v1.8.0 - v1.9.0 @@ -655,9 +528,7 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.5.0: - - v1.6.0 - - v1.7.1 + v1.7.1: - v1.8.0 - v1.9.0 - v1.10.0 @@ -678,9 +549,7 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.6.0: - - v1.7.1 - - v1.8.0 + v1.8.0: - v1.9.0 - v1.10.0 - v1.11.0 @@ -700,10 +569,7 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.7.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 + v1.9.0: - v1.10.0 - v1.11.0 - v1.12.0 @@ -722,10 +588,155 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.7.1: - - v1.8.0 - - v1.9.0 - - v1.10.0 + nodes: + - id: v1.51.1 + tag: v1.51.1 + migration: add-expiration-support + - id: v1.49.2 + tag: v1.49.2 + migration: add-expiration-support + - id: v1.48.0 + tag: v1.48.0 + migration: add-expiration-support + - id: v1.47.1 + tag: v1.47.1 + migration: add-expiration-support + - id: v1.45.4 + tag: v1.45.4 + migration: add-expiration-support + - id: v1.42.1 + tag: v1.42.1 + migration: add-expiration-support + - id: v1.40.1 + tag: v1.40.1 + migration: add-expiration-support + - id: v1.39.1 + tag: v1.39.1 + migration: add-transaction-metadata-table + - id: v1.38.0 + tag: v1.38.0 + migration: add-transaction-metadata-table + - id: v1.37.1 + tag: v1.37.1 + migration: add-integrity-relationtuple-table + - id: v1.36.2 + tag: v1.36.2 + migration: add-integrity-relationtuple-table + - id: v1.35.3 + tag: v1.35.3 + migration: add-relationship-counters-table + - id: v1.34.0 + tag: v1.34.0 + migration: add-relationship-counters-table + - id: v1.33.1 + tag: v1.33.1 + migration: remove-stats-table + - id: v1.32.0 + tag: v1.32.0 + migration: remove-stats-table + - id: v1.31.0 + tag: v1.31.0 + migration: remove-stats-table + - id: v1.30.0 + tag: v1.30.0 + migration: remove-stats-table + - id: v1.30.0-phase1 + tag: v1.30.0 + migration: add-caveats + phase: write-both-read-new + - id: v1.29.5 + tag: v1.29.5 + migration: add-caveats + - id: v1.26.0 + tag: v1.26.0 + migration: add-caveats + - id: v1.25.0 + tag: v1.25.0 + migration: add-caveats + - id: v1.24.0 + tag: v1.24.0 + migration: add-caveats + - id: v1.23.1 + tag: v1.23.1 + migration: add-caveats + - id: v1.22.2 + tag: v1.22.2 + migration: add-caveats + - id: v1.21.0 + tag: v1.21.0 + migration: add-caveats + - id: v1.19.1 + tag: v1.19.1 + migration: add-caveats + - id: v1.18.0 + tag: v1.18.0 + migration: add-caveats + - id: v1.17.0 + tag: v1.17.0 + migration: add-caveats + - id: v1.16.2 + tag: v1.16.2 + migration: add-caveats + - id: v1.16.1 + tag: v1.16.1 + migration: add-caveats + - id: v1.16.0 + tag: v1.16.0 + migration: add-caveats + - id: v1.15.0 + tag: v1.15.0 + migration: add-caveats + - id: v1.14.1 + tag: v1.14.1 + migration: add-caveats + - id: v1.14.0 + tag: v1.14.0 + migration: add-caveats + - id: v1.13.0 + tag: v1.13.0 + migration: add-metadata-and-counters + - id: v1.12.0 + tag: v1.12.0 + migration: add-metadata-and-counters + - id: v1.11.0 + tag: v1.11.0 + migration: add-metadata-and-counters + - id: v1.10.0 + tag: v1.10.0 + migration: add-metadata-and-counters + - id: v1.9.0 + tag: v1.9.0 + migration: add-metadata-and-counters + - id: v1.8.0 + tag: v1.8.0 + migration: add-metadata-and-counters + - id: v1.7.1 + tag: v1.7.1 + migration: add-metadata-and-counters + - id: v1.7.0 + tag: v1.7.0 + migration: add-metadata-and-counters + - id: v1.6.0 + tag: v1.6.0 + migration: add-metadata-and-counters + - id: v1.5.0 + tag: v1.5.0 + migration: add-transactions-table + - id: v1.4.0 + tag: v1.4.0 + migration: add-transactions-table + - id: v1.3.0 + tag: v1.3.0 + migration: add-transactions-table + - id: v1.2.0 + tag: v1.2.0 + migration: add-transactions-table +- name: stable + metadata: + datastore: memory + default: "true" + edges: + v1.10.0: - v1.11.0 - v1.12.0 - v1.13.0 @@ -742,64 +753,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - v1.8.0: - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0-phase1 - v1.9.0: - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0-phase1 - v1.10.0: - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.11.0: - v1.12.0 - v1.13.0 @@ -816,7 +786,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.12.0: - v1.13.0 - v1.14.1 @@ -832,7 +818,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.13.0: - v1.14.1 - v1.15.0 @@ -847,7 +849,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.14.0: - v1.14.1 - v1.15.0 @@ -862,7 +880,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.14.1: - v1.15.0 - v1.16.2 @@ -876,7 +910,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.15.0: - v1.16.2 - v1.17.0 @@ -889,7 +939,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.16.0: - v1.16.2 - v1.17.0 @@ -902,7 +968,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.16.1: - v1.16.2 - v1.17.0 @@ -915,7 +997,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.16.2: - v1.17.0 - v1.18.0 @@ -927,7 +1025,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.17.0: - v1.18.0 - v1.19.1 @@ -938,7 +1052,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.18.0: - v1.19.1 - v1.21.0 @@ -948,85 +1078,172 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - v1.19.1: - - v1.21.0 - - v1.22.2 - - v1.23.1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.19.1: + - v1.21.0 + - v1.22.2 + - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - v1.21.0: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 - v1.22.2 - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - v1.22.2: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.21.0: + - v1.22.2 - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - v1.23.1: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.22.2: + - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - v1.24.0: - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0-phase1 - v1.25.0: - - v1.26.0 - - v1.29.5 - - v1.30.0-phase1 - v1.26.0: - - v1.29.5 - - v1.30.0-phase1 - v1.29.5: - - v1.30.0-phase1 - v1.30.0: + - v1.30.0 - v1.31.0 - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - v1.30.0-phase1: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.23.1: + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 - v1.30.0 - v1.31.0: + - v1.31.0 - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - v1.32.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.24.0: + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - v1.33.1: - - v1.34.0 - - v1.35.3 - - v1.36.2 - v1.34.0: - - v1.35.3 - - v1.36.2 - v1.35.3: - - v1.36.2 - v1.36.2: - v1.37.1 - v1.38.0 - v1.37.1: - - v1.38.0 - v1.39.1 - v1.40.1 - v1.42.1 @@ -1035,7 +1252,18 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.38.0: + v1.25.0: + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 - v1.39.1 - v1.40.1 - v1.42.1 @@ -1044,7 +1272,18 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.39.1: + v1.26.0: + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 - v1.40.1 - v1.42.1 - v1.45.4 @@ -1052,181 +1291,193 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.40.1: + v1.29.5: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 - v1.42.1 - v1.45.4 - v1.47.1 - v1.48.0 - v1.49.2 - v1.51.1 - v1.42.1: + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 - v1.45.4 - v1.47.1 - v1.48.0 - v1.49.2 - v1.51.1 - v1.45.4: + v1.30.0: + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 - v1.47.1 - v1.48.0 - v1.49.2 - v1.51.1 - v1.47.1: + v1.31.0: + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 - v1.48.0 - v1.49.2 - v1.51.1 - v1.48.0: + v1.32.0: + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 - v1.49.2 - v1.51.1 - v1.49.2: + v1.33.1: + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 - v1.51.1 - metadata: - datastore: cockroachdb - default: "true" - name: stable - nodes: - - id: v1.51.1 - migration: add-expiration-support - tag: v1.51.1 - - id: v1.49.2 - migration: add-expiration-support - tag: v1.49.2 - - id: v1.48.0 - migration: add-expiration-support - tag: v1.48.0 - - id: v1.47.1 - migration: add-expiration-support - tag: v1.47.1 - - id: v1.45.4 - migration: add-expiration-support - tag: v1.45.4 - - id: v1.42.1 - migration: add-expiration-support - tag: v1.42.1 - - id: v1.40.1 - migration: add-expiration-support - tag: v1.40.1 - - id: v1.39.1 - migration: add-transaction-metadata-table - tag: v1.39.1 - - id: v1.38.0 - migration: add-transaction-metadata-table - tag: v1.38.0 - - id: v1.37.1 - migration: add-integrity-relationtuple-table - tag: v1.37.1 - - id: v1.36.2 - migration: add-integrity-relationtuple-table - tag: v1.36.2 - - id: v1.35.3 - migration: add-relationship-counters-table - tag: v1.35.3 - - id: v1.34.0 - migration: add-relationship-counters-table - tag: v1.34.0 - - id: v1.33.1 - migration: remove-stats-table - tag: v1.33.1 - - id: v1.32.0 - migration: remove-stats-table - tag: v1.32.0 - - id: v1.31.0 - migration: remove-stats-table - tag: v1.31.0 - - id: v1.30.0 - migration: remove-stats-table - tag: v1.30.0 - - id: v1.30.0-phase1 - migration: add-caveats - tag: v1.30.0 - - id: v1.29.5 - migration: add-caveats - tag: v1.29.5 - - id: v1.26.0 - migration: add-caveats - tag: v1.26.0 - - id: v1.25.0 - migration: add-caveats - tag: v1.25.0 - - id: v1.24.0 - migration: add-caveats - tag: v1.24.0 - - id: v1.23.1 - migration: add-caveats - tag: v1.23.1 - - id: v1.22.2 - migration: add-caveats - tag: v1.22.2 - - id: v1.21.0 - migration: add-caveats - tag: v1.21.0 - - id: v1.19.1 - migration: add-caveats - tag: v1.19.1 - - id: v1.18.0 - migration: add-caveats - tag: v1.18.0 - - id: v1.17.0 - migration: add-caveats - tag: v1.17.0 - - id: v1.16.2 - migration: add-caveats - tag: v1.16.2 - - id: v1.16.1 - migration: add-caveats - tag: v1.16.1 - - id: v1.16.0 - migration: add-caveats - tag: v1.16.0 - - id: v1.15.0 - migration: add-caveats - tag: v1.15.0 - - id: v1.14.1 - migration: add-caveats - tag: v1.14.1 - - id: v1.14.0 - migration: add-caveats - tag: v1.14.0 - - id: v1.13.0 - migration: add-metadata-and-counters - tag: v1.13.0 - - id: v1.12.0 - migration: add-metadata-and-counters - tag: v1.12.0 - - id: v1.11.0 - migration: add-metadata-and-counters - tag: v1.11.0 - - id: v1.10.0 - migration: add-metadata-and-counters - tag: v1.10.0 - - id: v1.9.0 - migration: add-metadata-and-counters - tag: v1.9.0 - - id: v1.8.0 - migration: add-metadata-and-counters - tag: v1.8.0 - - id: v1.7.1 - migration: add-metadata-and-counters - tag: v1.7.1 - - id: v1.7.0 - migration: add-metadata-and-counters - tag: v1.7.0 - - id: v1.6.0 - migration: add-metadata-and-counters - tag: v1.6.0 - - id: v1.5.0 - migration: add-transactions-table - tag: v1.5.0 - - id: v1.4.0 - migration: add-transactions-table - tag: v1.4.0 - - id: v1.3.0 - migration: add-transactions-table - tag: v1.3.0 - - id: v1.2.0 - migration: add-transactions-table - tag: v1.2.0 -- edges: - v1.7.0: + v1.34.0: + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.35.3: + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.36.2: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.37.1: + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.38.0: + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.39.1: + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.4.0: + - v1.5.0 + - v1.6.0 - v1.7.1 - v1.8.0 - v1.9.0 @@ -1254,8 +1505,47 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.7.1: - - v1.8.0 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + v1.5.0: + - v1.6.0 + - v1.7.1 + - v1.8.0 - v1.9.0 - v1.10.0 - v1.11.0 @@ -1281,7 +1571,19 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.8.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.6.0: + - v1.7.1 + - v1.8.0 - v1.9.0 - v1.10.0 - v1.11.0 @@ -1307,7 +1609,20 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.9.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 - v1.10.0 - v1.11.0 - v1.12.0 @@ -1332,7 +1647,20 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.10.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 - v1.11.0 - v1.12.0 - v1.13.0 @@ -1356,7 +1684,20 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.11.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 - v1.12.0 - v1.13.0 - v1.14.1 @@ -1379,7 +1720,20 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.12.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 - v1.13.0 - v1.14.1 - v1.15.0 @@ -1401,7 +1755,118 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.13.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + nodes: + - id: v1.51.1 + tag: v1.51.1 + - id: v1.49.2 + tag: v1.49.2 + - id: v1.48.0 + tag: v1.48.0 + - id: v1.47.1 + tag: v1.47.1 + - id: v1.45.4 + tag: v1.45.4 + - id: v1.42.1 + tag: v1.42.1 + - id: v1.40.1 + tag: v1.40.1 + - id: v1.39.1 + tag: v1.39.1 + - id: v1.38.0 + tag: v1.38.0 + - id: v1.37.1 + tag: v1.37.1 + - id: v1.36.2 + tag: v1.36.2 + - id: v1.35.3 + tag: v1.35.3 + - id: v1.34.0 + tag: v1.34.0 + - id: v1.33.1 + tag: v1.33.1 + - id: v1.32.0 + tag: v1.32.0 + - id: v1.31.0 + tag: v1.31.0 + - id: v1.30.0 + tag: v1.30.0 + - id: v1.29.5 + tag: v1.29.5 + - id: v1.26.0 + tag: v1.26.0 + - id: v1.25.0 + tag: v1.25.0 + - id: v1.24.0 + tag: v1.24.0 + - id: v1.23.1 + tag: v1.23.1 + - id: v1.22.2 + tag: v1.22.2 + - id: v1.21.0 + tag: v1.21.0 + - id: v1.19.1 + tag: v1.19.1 + - id: v1.18.0 + tag: v1.18.0 + - id: v1.17.0 + tag: v1.17.0 + - id: v1.16.2 + tag: v1.16.2 + - id: v1.16.1 + tag: v1.16.1 + - id: v1.16.0 + tag: v1.16.0 + - id: v1.15.0 + tag: v1.15.0 + - id: v1.14.1 + tag: v1.14.1 + - id: v1.14.0 + tag: v1.14.0 + - id: v1.13.0 + tag: v1.13.0 + - id: v1.12.0 + tag: v1.12.0 + - id: v1.11.0 + tag: v1.11.0 + - id: v1.10.0 + tag: v1.10.0 + - id: v1.9.0 + tag: v1.9.0 + - id: v1.8.0 + tag: v1.8.0 + - id: v1.7.1 + tag: v1.7.1 + - id: v1.7.0 + tag: v1.7.0 + - id: v1.6.0 + tag: v1.6.0 + - id: v1.5.0 + tag: v1.5.0 + - id: v1.4.0 + tag: v1.4.0 + - id: v1.3.0 + tag: v1.3.0 + - id: v1.2.0 + tag: v1.2.0 +- name: stable + metadata: + datastore: mysql + default: "true" + edges: + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 - v1.14.1 - v1.15.0 - v1.16.2 @@ -1422,7 +1887,19 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.14.0: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.11.0: + - v1.12.0 + - v1.13.0 - v1.14.1 - v1.15.0 - v1.16.2 @@ -1443,7 +1920,19 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.14.1: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.12.0: + - v1.13.0 + - v1.14.1 - v1.15.0 - v1.16.2 - v1.17.0 @@ -1463,8 +1952,110 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.15.0: - - v1.16.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.13.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.14.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.14.1: + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.15.0: + - v1.16.2 - v1.17.0 - v1.18.0 - v1.19.1 @@ -1482,6 +2073,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.16.0: - v1.16.2 - v1.17.0 @@ -1501,6 +2102,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.16.1: - v1.16.2 - v1.17.0 @@ -1520,6 +2131,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.16.2: - v1.17.0 - v1.18.0 @@ -1538,6 +2159,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.17.0: - v1.18.0 - v1.19.1 @@ -1555,6 +2186,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.18.0: - v1.19.1 - v1.21.0 @@ -1571,6 +2212,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.19.1: - v1.21.0 - v1.22.2 @@ -1586,6 +2237,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.21.0: - v1.22.2 - v1.23.1 @@ -1600,6 +2261,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.22.2: - v1.23.1 - v1.24.0 @@ -1613,6 +2284,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.23.1: - v1.24.0 - v1.25.0 @@ -1625,6 +2306,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.24.0: - v1.25.0 - v1.26.0 @@ -1636,6 +2327,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.25.0: - v1.26.0 - v1.29.5 @@ -1646,6 +2347,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.26.0: - v1.29.5 - v1.30.0 @@ -1655,6 +2366,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.29.5: - v1.30.0 - v1.31.0 @@ -1663,6 +2384,16 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.30.0: - v1.31.0 - v1.32.0 @@ -1670,29 +2401,97 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.31.0: - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - v1.32.0: - - v1.33.1 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.32.0: + - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.33.1: - v1.34.0 - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.34.0: - v1.35.3 - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.35.3: - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.36.2: - v1.37.1 - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.37.1: - v1.38.0 - v1.39.1 @@ -1747,196 +2546,296 @@ channels: - v1.51.1 v1.49.2: - v1.51.1 - metadata: - datastore: mysql - default: "true" - name: stable + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 nodes: - id: v1.51.1 - migration: add_expiration_to_relation_tuple tag: v1.51.1 - - id: v1.49.2 migration: add_expiration_to_relation_tuple + - id: v1.49.2 tag: v1.49.2 - - id: v1.48.0 migration: add_expiration_to_relation_tuple + - id: v1.48.0 tag: v1.48.0 - - id: v1.47.1 migration: add_expiration_to_relation_tuple + - id: v1.47.1 tag: v1.47.1 - - id: v1.45.4 migration: add_expiration_to_relation_tuple + - id: v1.45.4 tag: v1.45.4 - - id: v1.42.1 migration: add_expiration_to_relation_tuple + - id: v1.42.1 tag: v1.42.1 - - id: v1.40.1 migration: add_expiration_to_relation_tuple + - id: v1.40.1 tag: v1.40.1 + migration: add_expiration_to_relation_tuple - id: v1.39.1 - migration: add_metadata_to_transaction_table tag: v1.39.1 - - id: v1.38.0 migration: add_metadata_to_transaction_table + - id: v1.38.0 tag: v1.38.0 + migration: add_metadata_to_transaction_table - id: v1.37.1 - migration: add_relationship_counters_table tag: v1.37.1 - - id: v1.36.2 migration: add_relationship_counters_table + - id: v1.36.2 tag: v1.36.2 - - id: v1.35.3 migration: add_relationship_counters_table + - id: v1.35.3 tag: v1.35.3 - - id: v1.34.0 migration: add_relationship_counters_table + - id: v1.34.0 tag: v1.34.0 + migration: add_relationship_counters_table - id: v1.33.1 - migration: watch_api_relation_tuple_index tag: v1.33.1 - - id: v1.32.0 migration: watch_api_relation_tuple_index + - id: v1.32.0 tag: v1.32.0 - - id: v1.31.0 migration: watch_api_relation_tuple_index + - id: v1.31.0 tag: v1.31.0 - - id: v1.30.0 migration: watch_api_relation_tuple_index + - id: v1.30.0 tag: v1.30.0 - - id: v1.29.5 migration: watch_api_relation_tuple_index + - id: v1.29.5 tag: v1.29.5 + migration: watch_api_relation_tuple_index - id: v1.26.0 - migration: longblob_definitions tag: v1.26.0 - - id: v1.25.0 migration: longblob_definitions + - id: v1.25.0 tag: v1.25.0 + migration: longblob_definitions - id: v1.24.0 - migration: extend_object_id tag: v1.24.0 - - id: v1.23.1 migration: extend_object_id + - id: v1.23.1 tag: v1.23.1 - - id: v1.22.2 migration: extend_object_id + - id: v1.22.2 tag: v1.22.2 - - id: v1.21.0 migration: extend_object_id + - id: v1.21.0 tag: v1.21.0 + migration: extend_object_id - id: v1.19.1 - migration: add_caveat tag: v1.19.1 - - id: v1.18.0 migration: add_caveat + - id: v1.18.0 tag: v1.18.0 - - id: v1.17.0 migration: add_caveat + - id: v1.17.0 tag: v1.17.0 - - id: v1.16.2 migration: add_caveat + - id: v1.16.2 tag: v1.16.2 - - id: v1.16.1 migration: add_caveat + - id: v1.16.1 tag: v1.16.1 - - id: v1.16.0 migration: add_caveat + - id: v1.16.0 tag: v1.16.0 - - id: v1.15.0 migration: add_caveat + - id: v1.15.0 tag: v1.15.0 - - id: v1.14.1 migration: add_caveat + - id: v1.14.1 tag: v1.14.1 - - id: v1.14.0 migration: add_caveat + - id: v1.14.0 tag: v1.14.0 + migration: add_caveat - id: v1.13.0 - migration: add_ns_config_id tag: v1.13.0 - - id: v1.12.0 migration: add_ns_config_id + - id: v1.12.0 tag: v1.12.0 - - id: v1.11.0 migration: add_ns_config_id + - id: v1.11.0 tag: v1.11.0 - - id: v1.10.0 migration: add_ns_config_id + - id: v1.10.0 tag: v1.10.0 + migration: add_ns_config_id - id: v1.9.0 - migration: add_unique_datastore_id tag: v1.9.0 - - id: v1.8.0 migration: add_unique_datastore_id + - id: v1.8.0 tag: v1.8.0 - - id: v1.7.1 migration: add_unique_datastore_id + - id: v1.7.1 tag: v1.7.1 - - id: v1.7.0 migration: add_unique_datastore_id + - id: v1.7.0 tag: v1.7.0 -- edges: - v1.8.0: - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 - v1.9.0: - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 + migration: add_unique_datastore_id +- name: stable + metadata: + datastore: postgres + default: "true" + edges: v1.10.0: - v1.11.0 - v1.12.0 - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 + - v1.14.0-phase1 v1.11.0: - v1.12.0 - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 + - v1.14.0-phase1 v1.12.0: - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 + - v1.14.0-phase1 v1.13.0: + - v1.14.0-phase1 + v1.14.0: - v1.14.1 - v1.15.0 - v1.16.2 @@ -1944,8 +2843,33 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2-phase1 - v1.14.0: + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.14.0-phase1: + - v1.14.0-phase2 + v1.14.0-phase2: + - v1.14.0 - v1.14.1 - v1.15.0 - v1.16.2 @@ -1953,7 +2877,29 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2-phase1 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.14.1: - v1.15.0 - v1.16.2 @@ -1961,73 +2907,41 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2-phase1 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.15.0: - v1.16.2 - v1.17.0 - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2-phase1 - v1.16.0: - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 - v1.16.1: - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 - v1.16.2: - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 - v1.17.0: - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 - v1.18.0: - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 - v1.19.1: - - v1.21.0 - - v1.22.2-phase1 - v1.21.0: - - v1.22.2-phase1 - v1.22.2: - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5-phase1 - v1.22.2-phase1: - - v1.22.2-phase2 - v1.22.2-phase2: - v1.22.2 - v1.23.1: + - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - - v1.29.5-phase1 - v1.24.0: - - v1.25.0 - - v1.26.0 - - v1.29.5-phase1 - v1.25.0: - - v1.26.0 - - v1.29.5-phase1 - v1.26.0: - - v1.29.5-phase1 - v1.29.5: + - v1.29.5 - v1.30.0 - v1.31.0 - v1.32.0 @@ -2035,48 +2949,37 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - v1.29.5-phase1: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.16.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 - v1.29.5 - v1.30.0: + - v1.30.0 - v1.31.0 - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - v1.31.0: - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - v1.32.0: - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - v1.33.1: - - v1.34.0 - - v1.35.3 - - v1.36.2 - v1.34.0: - - v1.35.3 - - v1.36.2 - v1.35.3: - - v1.36.2 - v1.36.2: - v1.37.1 - v1.38.0 - v1.37.1: - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - v1.38.0: - v1.39.1 - v1.40.1 - v1.42.1 @@ -2084,178 +2987,8 @@ channels: - v1.47.1 - v1.48.0 - v1.49.2 - v1.39.1: - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - v1.40.1: - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - v1.42.1: - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - v1.45.4: - - v1.47.1 - - v1.48.0 - - v1.49.2 - v1.47.1: - - v1.48.0 - - v1.49.2 - v1.48.0: - - v1.49.2 - metadata: - datastore: spanner - default: "true" - name: stable - nodes: - - id: v1.49.2 - migration: add-expiration-support - tag: v1.51.1 - - id: v1.48.0 - migration: add-expiration-support - tag: v1.48.0 - - id: v1.47.1 - migration: add-expiration-support - tag: v1.47.1 - - id: v1.45.4 - migration: add-expiration-support - tag: v1.45.4 - - id: v1.42.1 - migration: add-expiration-support - tag: v1.42.1 - - id: v1.40.1 - migration: add-expiration-support - tag: v1.40.1 - - id: v1.39.1 - migration: add-transaction-metadata-table - tag: v1.39.1 - - id: v1.38.0 - migration: add-transaction-metadata-table - tag: v1.38.0 - - id: v1.37.1 - migration: add-relationship-counter-table - tag: v1.37.1 - - id: v1.36.2 - migration: add-relationship-counter-table - tag: v1.36.2 - - id: v1.35.3 - migration: add-relationship-counter-table - tag: v1.35.3 - - id: v1.34.0 - migration: add-relationship-counter-table - tag: v1.34.0 - - id: v1.33.1 - migration: delete-older-changestreams - tag: v1.33.1 - - id: v1.32.0 - migration: delete-older-changestreams - tag: v1.32.0 - - id: v1.31.0 - migration: delete-older-changestreams - tag: v1.31.0 - - id: v1.30.0 - migration: delete-older-changestreams - tag: v1.30.0 - - id: v1.29.5 - migration: delete-older-changestreams - tag: v1.29.5 - - id: v1.29.5-phase1 - migration: register-combined-change-stream - tag: v1.29.5 - - id: v1.26.0 - migration: drop-changelog-table - tag: v1.26.0 - - id: v1.25.0 - migration: drop-changelog-table - tag: v1.25.0 - - id: v1.24.0 - migration: drop-changelog-table - tag: v1.24.0 - - id: v1.23.1 - migration: drop-changelog-table - tag: v1.23.1 - - id: v1.22.2 - migration: drop-changelog-table - tag: v1.22.2 - - id: v1.22.2-phase2 - migration: register-tuple-change-stream - phase: write-changelog-read-stream - tag: v1.22.2 - - id: v1.22.2-phase1 - migration: register-tuple-change-stream - phase: write-changelog-read-changelog - tag: v1.22.2 - - id: v1.21.0 - migration: add-caveats - tag: v1.21.0 - - id: v1.19.1 - migration: add-caveats - tag: v1.19.1 - - id: v1.18.0 - migration: add-caveats - tag: v1.18.0 - - id: v1.17.0 - migration: add-caveats - tag: v1.17.0 - - id: v1.16.2 - migration: add-caveats - tag: v1.16.2 - - id: v1.16.1 - migration: add-caveats - tag: v1.16.1 - - id: v1.16.0 - migration: add-caveats - tag: v1.16.0 - - id: v1.15.0 - migration: add-caveats - tag: v1.15.0 - - id: v1.14.1 - migration: add-caveats - tag: v1.14.1 - - id: v1.14.0 - migration: add-caveats - tag: v1.14.0 - - id: v1.13.0 - migration: add-metadata-and-counters - tag: v1.13.0 - - id: v1.12.0 - migration: add-metadata-and-counters - tag: v1.12.0 - - id: v1.11.0 - migration: add-metadata-and-counters - tag: v1.11.0 - - id: v1.10.0 - migration: add-metadata-and-counters - tag: v1.10.0 - - id: v1.9.0 - migration: add-metadata-and-counters - tag: v1.9.0 - - id: v1.8.0 - migration: add-metadata-and-counters - tag: v1.8.0 -- edges: - v1.2.0: - - v1.3.0 - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 + - v1.51.1 + v1.16.1: - v1.16.2 - v1.17.0 - v1.18.0 @@ -2284,20 +3017,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.3.0: - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 + v1.16.2: - v1.17.0 - v1.18.0 - v1.19.1 @@ -2325,20 +3045,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.4.0: - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 + v1.17.0: - v1.18.0 - v1.19.1 - v1.21.0 @@ -2365,20 +3072,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.5.0: - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 + v1.18.0: - v1.19.1 - v1.21.0 - v1.22.2 @@ -2404,20 +3098,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.6.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 + v1.19.1: - v1.21.0 - v1.22.2 - v1.23.1 @@ -2442,7 +3123,11 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.7.0: + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 - v1.7.1 - v1.8.0 - v1.9.0 @@ -2450,13 +3135,8 @@ channels: - v1.11.0 - v1.12.0 - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 + - v1.14.0-phase1 + v1.21.0: - v1.22.2 - v1.23.1 - v1.24.0 @@ -2480,21 +3160,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.7.1: - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 + v1.22.2: - v1.23.1 - v1.24.0 - v1.25.0 @@ -2517,21 +3183,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.8.0: - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 + v1.23.1: - v1.24.0 - v1.25.0 - v1.26.0 @@ -2553,21 +3205,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.9.0: - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 + v1.24.0: - v1.25.0 - v1.26.0 - v1.29.5 @@ -2588,21 +3226,7 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.10.0: - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 + v1.25.0: - v1.26.0 - v1.29.5 - v1.30.0 @@ -2622,6 +3246,431 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 + v1.26.0: + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.29.5: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.30.0: + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.31.0: + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.32.0: + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.33.1: + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.34.0: + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.35.3: + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.36.2: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.37.1: + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.38.0: + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.39.1: + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + v1.5.0: + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.6.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + nodes: + - id: v1.51.1 + tag: v1.51.1 + migration: add-index-for-transaction-gc + - id: v1.49.2 + tag: v1.49.2 + migration: add-index-for-transaction-gc + - id: v1.48.0 + tag: v1.48.0 + migration: add-index-for-transaction-gc + - id: v1.47.1 + tag: v1.47.1 + migration: add-index-for-transaction-gc + - id: v1.45.4 + tag: v1.45.4 + migration: add-index-for-transaction-gc + - id: v1.42.1 + tag: v1.42.1 + migration: add-index-for-transaction-gc + - id: v1.40.1 + tag: v1.40.1 + migration: add-index-for-transaction-gc + - id: v1.39.1 + tag: v1.39.1 + migration: add-watch-api-index-to-relation-tuple-table + - id: v1.38.0 + tag: v1.38.0 + migration: add-metadata-to-transaction-table + - id: v1.37.1 + tag: v1.37.1 + migration: create-relationships-counters-table + - id: v1.36.2 + tag: v1.36.2 + migration: create-relationships-counters-table + - id: v1.35.3 + tag: v1.35.3 + migration: create-relationships-counters-table + - id: v1.34.0 + tag: v1.34.0 + migration: create-relationships-counters-table + - id: v1.33.1 + tag: v1.33.1 + migration: add-rel-by-alive-resource-relation-subject + - id: v1.32.0 + tag: v1.32.0 + migration: add-rel-by-alive-resource-relation-subject + - id: v1.31.0 + tag: v1.31.0 + migration: add-rel-by-alive-resource-relation-subject + - id: v1.30.0 + tag: v1.30.0 + migration: add-rel-by-alive-resource-relation-subject + - id: v1.29.5 + tag: v1.29.5 + migration: add-rel-by-alive-resource-relation-subject + - id: v1.26.0 + tag: v1.26.0 + migration: add-rel-by-alive-resource-relation-subject + - id: v1.25.0 + tag: v1.25.0 + migration: add-gc-covering-index + - id: v1.24.0 + tag: v1.24.0 + migration: add-gc-covering-index + - id: v1.23.1 + tag: v1.23.1 + migration: add-gc-covering-index + - id: v1.22.2 + tag: v1.22.2 + migration: add-gc-covering-index + - id: v1.21.0 + tag: v1.21.0 + migration: add-gc-covering-index + - id: v1.19.1 + tag: v1.19.1 + migration: add-gc-covering-index + - id: v1.18.0 + tag: v1.18.0 + migration: drop-bigserial-ids + - id: v1.17.0 + tag: v1.17.0 + migration: drop-bigserial-ids + - id: v1.16.2 + tag: v1.16.2 + migration: drop-bigserial-ids + - id: v1.16.1 + tag: v1.16.1 + migration: drop-bigserial-ids + - id: v1.16.0 + tag: v1.16.0 + migration: drop-bigserial-ids + - id: v1.15.0 + tag: v1.15.0 + migration: drop-bigserial-ids + - id: v1.14.1 + tag: v1.14.1 + migration: drop-bigserial-ids + - id: v1.14.0 + tag: v1.14.0 + migration: drop-bigserial-ids + - id: v1.14.0-phase2 + tag: v1.14.0 + migration: add-xid-constraints + phase: write-both-read-new + - id: v1.14.0-phase1 + tag: v1.14.0 + migration: add-xid-columns + phase: write-both-read-old + - id: v1.13.0 + tag: v1.13.0 + migration: add-ns-config-id + - id: v1.12.0 + tag: v1.12.0 + migration: add-ns-config-id + - id: v1.11.0 + tag: v1.11.0 + migration: add-ns-config-id + - id: v1.10.0 + tag: v1.10.0 + migration: add-ns-config-id + - id: v1.9.0 + tag: v1.9.0 + migration: add-unique-datastore-id + - id: v1.8.0 + tag: v1.8.0 + migration: add-unique-datastore-id + - id: v1.7.1 + tag: v1.7.1 + migration: add-unique-datastore-id + - id: v1.7.0 + tag: v1.7.0 + migration: add-unique-datastore-id + - id: v1.6.0 + tag: v1.6.0 + migration: add-unique-datastore-id + - id: v1.5.0 + tag: v1.5.0 + migration: add-transaction-timestamp-index + - id: v1.4.0 + tag: v1.4.0 + migration: add-transaction-timestamp-index + - id: v1.3.0 + tag: v1.3.0 + migration: add-transaction-timestamp-index + - id: v1.2.0 + tag: v1.2.0 + migration: add-transaction-timestamp-index +- name: stable + metadata: + datastore: spanner + default: "true" + edges: + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 v1.11.0: - v1.12.0 - v1.13.0 @@ -2632,29 +3681,7 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.12.0: - v1.13.0 - v1.14.1 @@ -2664,29 +3691,7 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.13.0: - v1.14.1 - v1.15.0 @@ -2695,29 +3700,7 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.14.0: - v1.14.1 - v1.15.0 @@ -2726,29 +3709,7 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.14.1: - v1.15.0 - v1.16.2 @@ -2756,334 +3717,78 @@ channels: - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.15.0: - v1.16.2 - v1.17.0 - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.16.0: - v1.16.2 - v1.17.0 - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.16.1: - v1.16.2 - v1.17.0 - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.16.2: - v1.17.0 - v1.18.0 - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.17.0: - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 v1.18.0: - v1.19.1 - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.19.1: - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.22.2-phase1 v1.21.0: - - v1.22.2 + - v1.22.2-phase1 + v1.22.2: - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.22.2: + - v1.29.5-phase1 + v1.22.2-phase1: + - v1.22.2-phase2 + v1.22.2-phase2: + - v1.22.2 - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.29.5-phase1 v1.23.1: - v1.24.0 - v1.25.0 - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.29.5-phase1 v1.24.0: - v1.25.0 - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.29.5-phase1 v1.25.0: - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + - v1.29.5-phase1 v1.26.0: - - v1.29.5 + - v1.29.5-phase1 + v1.29.5: - v1.30.0 - v1.31.0 - v1.32.0 @@ -3101,7 +3806,8 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.29.5: + v1.29.5-phase1: + - v1.29.5 - v1.30.0 - v1.31.0 - v1.32.0 @@ -3271,101 +3977,160 @@ channels: - v1.51.1 v1.49.2: - v1.51.1 - metadata: - datastore: memory - default: "true" - name: stable + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 nodes: - id: v1.51.1 tag: v1.51.1 + migration: add-expiration-support - id: v1.49.2 tag: v1.49.2 + migration: add-expiration-support - id: v1.48.0 tag: v1.48.0 + migration: add-expiration-support - id: v1.47.1 tag: v1.47.1 + migration: add-expiration-support - id: v1.45.4 tag: v1.45.4 + migration: add-expiration-support - id: v1.42.1 tag: v1.42.1 + migration: add-expiration-support - id: v1.40.1 tag: v1.40.1 + migration: add-expiration-support - id: v1.39.1 tag: v1.39.1 + migration: add-transaction-metadata-table - id: v1.38.0 tag: v1.38.0 + migration: add-transaction-metadata-table - id: v1.37.1 tag: v1.37.1 + migration: add-relationship-counter-table - id: v1.36.2 tag: v1.36.2 + migration: add-relationship-counter-table - id: v1.35.3 tag: v1.35.3 + migration: add-relationship-counter-table - id: v1.34.0 tag: v1.34.0 + migration: add-relationship-counter-table - id: v1.33.1 tag: v1.33.1 + migration: delete-older-changestreams - id: v1.32.0 tag: v1.32.0 + migration: delete-older-changestreams - id: v1.31.0 tag: v1.31.0 + migration: delete-older-changestreams - id: v1.30.0 tag: v1.30.0 + migration: delete-older-changestreams - id: v1.29.5 tag: v1.29.5 + migration: delete-older-changestreams + - id: v1.29.5-phase1 + tag: v1.29.5 + migration: register-combined-change-stream + phase: write-both-read-new - id: v1.26.0 tag: v1.26.0 + migration: drop-changelog-table - id: v1.25.0 tag: v1.25.0 + migration: drop-changelog-table - id: v1.24.0 tag: v1.24.0 + migration: drop-changelog-table - id: v1.23.1 tag: v1.23.1 + migration: drop-changelog-table - id: v1.22.2 tag: v1.22.2 + migration: drop-changelog-table + - id: v1.22.2-phase2 + tag: v1.22.2 + migration: register-tuple-change-stream + phase: write-changelog-read-stream + - id: v1.22.2-phase1 + tag: v1.22.2 + migration: register-tuple-change-stream + phase: write-changelog-read-changelog - id: v1.21.0 tag: v1.21.0 + migration: add-caveats - id: v1.19.1 tag: v1.19.1 + migration: add-caveats - id: v1.18.0 tag: v1.18.0 + migration: add-caveats - id: v1.17.0 tag: v1.17.0 + migration: add-caveats - id: v1.16.2 tag: v1.16.2 + migration: add-caveats - id: v1.16.1 tag: v1.16.1 + migration: add-caveats - id: v1.16.0 tag: v1.16.0 + migration: add-caveats - id: v1.15.0 tag: v1.15.0 + migration: add-caveats - id: v1.14.1 tag: v1.14.1 + migration: add-caveats - id: v1.14.0 tag: v1.14.0 + migration: add-caveats - id: v1.13.0 tag: v1.13.0 + migration: add-metadata-and-counters - id: v1.12.0 tag: v1.12.0 + migration: add-metadata-and-counters - id: v1.11.0 tag: v1.11.0 + migration: add-metadata-and-counters - id: v1.10.0 tag: v1.10.0 + migration: add-metadata-and-counters - id: v1.9.0 tag: v1.9.0 + migration: add-metadata-and-counters - id: v1.8.0 tag: v1.8.0 - - id: v1.7.1 - tag: v1.7.1 - - id: v1.7.0 - tag: v1.7.0 - - id: v1.6.0 - tag: v1.6.0 - - id: v1.5.0 - tag: v1.5.0 - - id: v1.4.0 - tag: v1.4.0 - - id: v1.3.0 - tag: v1.3.0 - - id: v1.2.0 - tag: v1.2.0 -imageName: ghcr.io/authzed/spicedb + migration: add-metadata-and-counters diff --git a/tools/generate-update-graph/main.go b/tools/generate-update-graph/main.go index 3b33b1b1..b6dbd544 100644 --- a/tools/generate-update-graph/main.go +++ b/tools/generate-update-graph/main.go @@ -2,544 +2,213 @@ package main import ( "fmt" + "io" "os" "sort" "strings" "github.com/blang/semver/v4" - "sigs.k8s.io/yaml" + "github.com/goccy/go-yaml" "github.com/authzed/spicedb-operator/pkg/config" "github.com/authzed/spicedb-operator/pkg/updates" ) -//go:generate go run main.go ../../proposed-update-graph.yaml +//go:generate go run . ../../magefiles/versions.yaml ../../proposed-update-graph.yaml + +// DatastoreConfig holds per-datastore configuration for a version. +type DatastoreConfig struct { + Migration string `yaml:"migration,omitempty"` + Phase string `yaml:"phase,omitempty"` + Deprecated bool `yaml:"deprecated,omitempty"` + Waypoint bool `yaml:"waypoint,omitempty"` +} + +// Version is a single entry in the versions YAML file. +type Version struct { + ID string `yaml:"id"` + Tag string `yaml:"tag"` + Config map[string]DatastoreConfig `yaml:"config"` +} func main() { - if len(os.Args) != 2 { - fmt.Println("must provide filename") + if len(os.Args) != 3 { + fmt.Fprintln(os.Stderr, "usage: generate-update-graph ") os.Exit(1) } - opconfig := config.OperatorConfig{ - ImageName: "ghcr.io/authzed/spicedb", - UpdateGraph: updates.UpdateGraph{Channels: []updates.Channel{ - postgresChannel(), - crdbChannel(), - mysqlChannel(), - spannerChannel(), - memoryChannel(), - }}, + versions, err := readVersions(os.Args[1]) + if err != nil { + panic(err) } - yamlBytes, err := yaml.Marshal(&opconfig) + opconfig := generateGraph(versions) + + out, err := yaml.Marshal(&opconfig) if err != nil { panic(err) } - if err := os.WriteFile(os.Args[1], yamlBytes, 0o600); err != nil { + if err := os.WriteFile(os.Args[2], out, 0o600); err != nil { panic(err) } } -func postgresChannel() updates.Channel { - releases := []updates.State{ - {ID: "v1.51.1", Tag: "v1.51.1", Migration: "add-index-for-transaction-gc"}, - {ID: "v1.49.2", Tag: "v1.49.2", Migration: "add-index-for-transaction-gc"}, - {ID: "v1.48.0", Tag: "v1.48.0", Migration: "add-index-for-transaction-gc"}, - {ID: "v1.47.1", Tag: "v1.47.1", Migration: "add-index-for-transaction-gc"}, - {ID: "v1.45.4", Tag: "v1.45.4", Migration: "add-index-for-transaction-gc"}, - {ID: "v1.42.1", Tag: "v1.42.1", Migration: "add-index-for-transaction-gc"}, - {ID: "v1.40.1", Tag: "v1.40.1", Migration: "add-index-for-transaction-gc"}, - {ID: "v1.39.1", Tag: "v1.39.1", Migration: "add-watch-api-index-to-relation-tuple-table"}, - {ID: "v1.38.0", Tag: "v1.38.0", Migration: "add-metadata-to-transaction-table"}, - {ID: "v1.37.1", Tag: "v1.37.1", Migration: "create-relationships-counters-table"}, - {ID: "v1.36.2", Tag: "v1.36.2", Migration: "create-relationships-counters-table"}, - {ID: "v1.35.3", Tag: "v1.35.3", Migration: "create-relationships-counters-table"}, - {ID: "v1.34.0", Tag: "v1.34.0", Migration: "create-relationships-counters-table"}, - {ID: "v1.33.1", Tag: "v1.33.1", Migration: "add-rel-by-alive-resource-relation-subject"}, - {ID: "v1.32.0", Tag: "v1.32.0", Migration: "add-rel-by-alive-resource-relation-subject"}, - {ID: "v1.31.0", Tag: "v1.31.0", Migration: "add-rel-by-alive-resource-relation-subject"}, - {ID: "v1.30.0", Tag: "v1.30.0", Migration: "add-rel-by-alive-resource-relation-subject"}, - {ID: "v1.29.5", Tag: "v1.29.5", Migration: "add-rel-by-alive-resource-relation-subject"}, - {ID: "v1.26.0", Tag: "v1.26.0", Migration: "add-rel-by-alive-resource-relation-subject"}, - {ID: "v1.25.0", Tag: "v1.25.0", Migration: "add-gc-covering-index"}, - {ID: "v1.24.0", Tag: "v1.24.0", Migration: "add-gc-covering-index"}, - {ID: "v1.23.1", Tag: "v1.23.1", Migration: "add-gc-covering-index"}, - {ID: "v1.22.2", Tag: "v1.22.2", Migration: "add-gc-covering-index"}, - {ID: "v1.21.0", Tag: "v1.21.0", Migration: "add-gc-covering-index"}, - {ID: "v1.19.1", Tag: "v1.19.1", Migration: "add-gc-covering-index"}, - {ID: "v1.18.0", Tag: "v1.18.0", Migration: "drop-bigserial-ids"}, - {ID: "v1.17.0", Tag: "v1.17.0", Migration: "drop-bigserial-ids"}, - {ID: "v1.16.2", Tag: "v1.16.2", Migration: "drop-bigserial-ids"}, - {ID: "v1.16.1", Tag: "v1.16.1", Migration: "drop-bigserial-ids", Deprecated: true}, - {ID: "v1.16.0", Tag: "v1.16.0", Migration: "drop-bigserial-ids", Deprecated: true}, - {ID: "v1.15.0", Tag: "v1.15.0", Migration: "drop-bigserial-ids"}, - {ID: "v1.14.1", Tag: "v1.14.1", Migration: "drop-bigserial-ids"}, - {ID: "v1.14.0", Tag: "v1.14.0", Migration: "drop-bigserial-ids"}, - {ID: "v1.14.0-phase2", Tag: "v1.14.0", Migration: "add-xid-constraints", Phase: "write-both-read-new"}, - {ID: "v1.14.0-phase1", Tag: "v1.14.0", Migration: "add-xid-columns", Phase: "write-both-read-old"}, - {ID: "v1.13.0", Tag: "v1.13.0", Migration: "add-ns-config-id"}, - {ID: "v1.12.0", Tag: "v1.12.0", Migration: "add-ns-config-id"}, - {ID: "v1.11.0", Tag: "v1.11.0", Migration: "add-ns-config-id"}, - {ID: "v1.10.0", Tag: "v1.10.0", Migration: "add-ns-config-id"}, - {ID: "v1.9.0", Tag: "v1.9.0", Migration: "add-unique-datastore-id"}, - {ID: "v1.8.0", Tag: "v1.8.0", Migration: "add-unique-datastore-id"}, - {ID: "v1.7.1", Tag: "v1.7.1", Migration: "add-unique-datastore-id"}, - {ID: "v1.7.0", Tag: "v1.7.0", Migration: "add-unique-datastore-id", Deprecated: true}, - {ID: "v1.6.0", Tag: "v1.6.0", Migration: "add-unique-datastore-id"}, - {ID: "v1.5.0", Tag: "v1.5.0", Migration: "add-transaction-timestamp-index"}, - {ID: "v1.4.0", Tag: "v1.4.0", Migration: "add-transaction-timestamp-index"}, - {ID: "v1.3.0", Tag: "v1.3.0", Migration: "add-transaction-timestamp-index"}, - {ID: "v1.2.0", Tag: "v1.2.0", Migration: "add-transaction-timestamp-index"}, - } - edgePatterns := map[string]string{ - "v1.49.2": ">=1.51.1", - "v1.48.0": ">=1.49.2", - "v1.47.1": ">=1.48.0", - "v1.45.4": ">=1.47.1", - "v1.42.1": ">=1.45.4", - "v1.40.1": ">=1.42.1", - "v1.39.1": ">=1.40.1", - "v1.38.0": ">=1.39.1", - "v1.37.1": ">=1.38.0", - "v1.36.2": ">=1.37.1 <=1.38.0", - "v1.35.3": "1.36.2", - "v1.34.0": ">=1.35.3 <=1.36.2", - "v1.33.1": ">=1.34.0 <=1.36.2", - "v1.32.0": ">=1.33.1 <=1.36.2", - "v1.31.0": ">=1.32.0 <=1.36.2", - "v1.30.0": ">=1.31.0 <=1.36.2", - "v1.29.5": ">=1.30.0 <=1.36.2", - "v1.26.0": ">=1.29.5 <=1.36.2", - "v1.25.0": ">=1.26.0 <=1.36.2", - "v1.24.0": ">=1.25.0 <=1.36.2", - "v1.23.1": ">=1.24.0 <=1.36.2", - "v1.22.2": ">=1.23.1 <=1.36.2", - "v1.21.0": ">=1.22.2 <=1.36.2", - "v1.19.1": ">=1.21.0 <=1.36.2", - "v1.18.0": ">=1.19.1 <=1.36.2", - "v1.17.0": ">=1.18.0 <=1.36.2", - "v1.16.2": ">=1.17.0 <=1.36.2", - "v1.16.1": ">=1.16.2 <=1.36.2", - "v1.16.0": ">=1.16.2 <=1.36.2", - "v1.15.0": ">=1.16.2 <=1.36.2", - "v1.14.1": ">=1.15.0 <=1.36.2", - "v1.14.0": ">=1.14.1 <=1.36.2", - "v1.14.0-phase2": "1.14.0", - "v1.14.0-phase1": "1.14.0-phase2", - "v1.13.0": "1.14.0-phase1", - "v1.12.0": ">=1.13.0 <=1.14.0-phase1", - "v1.11.0": ">=1.12.0 <=1.14.0-phase1", - "v1.10.0": ">=1.11.0 <=1.14.0-phase1", - "v1.9.0": ">=1.10.0 <=1.14.0-phase1", - "v1.8.0": ">=1.9.0 <=1.14.0-phase1", - "v1.7.1": ">=1.8.0 <=1.14.0-phase1", - "v1.7.0": ">=1.7.1 <=1.14.0-phase1", - "v1.6.0": ">=1.7.1 <=1.14.0-phase1", - "v1.5.0": ">=1.6.0 <=1.14.0-phase1", - "v1.4.0": ">=1.5.0 <=1.14.0-phase1", - "v1.3.0": ">=1.4.0 <=1.14.0-phase1", - "v1.2.0": ">=1.3.0 <=1.14.0-phase1", +func readVersions(path string) ([]Version, error) { + f, err := os.Open(path) + if err != nil { + return nil, err } + defer f.Close() - return updates.Channel{ - Name: "stable", - Metadata: map[string]string{ - "datastore": "postgres", - "default": "true", - }, - Nodes: releases, - Edges: edgesFromPatterns(edgePatterns, releases), + dec := yaml.NewDecoder(f) + var versions []Version + for { + var v Version + if err := dec.Decode(&v); err != nil { + if err == io.EOF { + break + } + return nil, err + } + if v.ID != "" { + versions = append(versions, v) + } } + return versions, nil } -func crdbChannel() updates.Channel { - releases := []updates.State{ - {ID: "v1.51.1", Tag: "v1.51.1", Migration: "add-expiration-support"}, - {ID: "v1.49.2", Tag: "v1.49.2", Migration: "add-expiration-support"}, - {ID: "v1.48.0", Tag: "v1.48.0", Migration: "add-expiration-support"}, - {ID: "v1.47.1", Tag: "v1.47.1", Migration: "add-expiration-support"}, - {ID: "v1.45.4", Tag: "v1.45.4", Migration: "add-expiration-support"}, - {ID: "v1.42.1", Tag: "v1.42.1", Migration: "add-expiration-support"}, - {ID: "v1.40.1", Tag: "v1.40.1", Migration: "add-expiration-support"}, - {ID: "v1.39.1", Tag: "v1.39.1", Migration: "add-transaction-metadata-table"}, - {ID: "v1.38.0", Tag: "v1.38.0", Migration: "add-transaction-metadata-table"}, - {ID: "v1.37.1", Tag: "v1.37.1", Migration: "add-integrity-relationtuple-table"}, - {ID: "v1.36.2", Tag: "v1.36.2", Migration: "add-integrity-relationtuple-table"}, - {ID: "v1.35.3", Tag: "v1.35.3", Migration: "add-relationship-counters-table"}, - {ID: "v1.34.0", Tag: "v1.34.0", Migration: "add-relationship-counters-table"}, - {ID: "v1.33.1", Tag: "v1.33.1", Migration: "remove-stats-table"}, - {ID: "v1.32.0", Tag: "v1.32.0", Migration: "remove-stats-table"}, - {ID: "v1.31.0", Tag: "v1.31.0", Migration: "remove-stats-table"}, - {ID: "v1.30.0", Tag: "v1.30.0", Migration: "remove-stats-table"}, - {ID: "v1.30.0-phase1", Tag: "v1.30.0", Migration: "add-caveats"}, - {ID: "v1.29.5", Tag: "v1.29.5", Migration: "add-caveats"}, - {ID: "v1.26.0", Tag: "v1.26.0", Migration: "add-caveats"}, - {ID: "v1.25.0", Tag: "v1.25.0", Migration: "add-caveats"}, - {ID: "v1.24.0", Tag: "v1.24.0", Migration: "add-caveats"}, - {ID: "v1.23.1", Tag: "v1.23.1", Migration: "add-caveats"}, - {ID: "v1.22.2", Tag: "v1.22.2", Migration: "add-caveats"}, - {ID: "v1.21.0", Tag: "v1.21.0", Migration: "add-caveats"}, - {ID: "v1.19.1", Tag: "v1.19.1", Migration: "add-caveats"}, - {ID: "v1.18.0", Tag: "v1.18.0", Migration: "add-caveats"}, - {ID: "v1.17.0", Tag: "v1.17.0", Migration: "add-caveats"}, - {ID: "v1.16.2", Tag: "v1.16.2", Migration: "add-caveats"}, - {ID: "v1.16.1", Tag: "v1.16.1", Migration: "add-caveats", Deprecated: true}, - {ID: "v1.16.0", Tag: "v1.16.0", Migration: "add-caveats", Deprecated: true}, - {ID: "v1.15.0", Tag: "v1.15.0", Migration: "add-caveats"}, - {ID: "v1.14.1", Tag: "v1.14.1", Migration: "add-caveats"}, - {ID: "v1.14.0", Tag: "v1.14.0", Migration: "add-caveats", Deprecated: true}, - {ID: "v1.13.0", Tag: "v1.13.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.12.0", Tag: "v1.12.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.11.0", Tag: "v1.11.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.10.0", Tag: "v1.10.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.9.0", Tag: "v1.9.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.8.0", Tag: "v1.8.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.7.1", Tag: "v1.7.1", Migration: "add-metadata-and-counters"}, - {ID: "v1.7.0", Tag: "v1.7.0", Migration: "add-metadata-and-counters", Deprecated: true}, - {ID: "v1.6.0", Tag: "v1.6.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.5.0", Tag: "v1.5.0", Migration: "add-transactions-table"}, - {ID: "v1.4.0", Tag: "v1.4.0", Migration: "add-transactions-table"}, - {ID: "v1.3.0", Tag: "v1.3.0", Migration: "add-transactions-table"}, - {ID: "v1.2.0", Tag: "v1.2.0", Migration: "add-transactions-table"}, +func generateGraph(versions []Version) config.OperatorConfig { + datastores := make(map[string]struct{}) + for _, v := range versions { + for ds := range v.Config { + datastores[ds] = struct{}{} + } } - edgePatterns := map[string]string{ - "v1.49.2": ">=1.51.1", - "v1.48.0": ">=1.49.2", - "v1.47.1": ">=1.48.0", - "v1.45.4": ">=1.47.1", - "v1.42.1": ">=1.45.4", - "v1.40.1": ">=1.42.1", - "v1.39.1": ">=1.40.1", - "v1.38.0": ">=1.39.1", - "v1.37.1": ">=1.38.0", - "v1.36.2": ">=1.37.1 <=1.38.0", - "v1.35.3": "1.36.2", - "v1.34.0": ">=1.35.3 <=1.36.2", - "v1.33.1": ">=1.34.0 <=1.36.2", - "v1.32.0": ">=1.33.1 <=1.36.2", - "v1.31.0": ">=1.32.0 <=1.36.2", - "v1.30.0": ">=1.31.0 <=1.36.2", - "v1.30.0-phase1": "1.30.0", - "v1.29.5": "1.30.0-phase1", - "v1.26.0": ">=1.29.5 <=1.30.0-phase1", - "v1.25.0": ">=1.26.0 <=1.30.0-phase1", - "v1.24.0": ">=1.25.0 <=1.30.0-phase1", - "v1.23.1": ">=1.24.0 <=1.30.0-phase1", - "v1.22.2": ">=1.23.1 <=1.30.0-phase1", - "v1.21.0": ">=1.22.2 <=1.30.0-phase1", - "v1.19.1": ">=1.21.0 <=1.30.0-phase1", - "v1.18.0": ">=1.19.1 <=1.30.0-phase1", - "v1.17.0": ">=1.18.0 <=1.30.0-phase1", - "v1.16.2": ">=1.17.0 <=1.30.0-phase1", - "v1.16.1": ">=1.16.2 <=1.30.0-phase1", - "v1.16.0": ">=1.16.2 <=1.30.0-phase1", - "v1.15.0": ">=1.16.2 <=1.30.0-phase1", - "v1.14.1": ">=1.15.0 <=1.30.0-phase1", - "v1.14.0": ">=1.14.1 <=1.30.0-phase1", - "v1.13.0": ">=1.14.1 <=1.30.0-phase1", - "v1.12.0": ">=1.13.0 <=1.30.0-phase1", - "v1.11.0": ">=1.12.0 <=1.30.0-phase1", - "v1.10.0": ">=1.11.0 <=1.30.0-phase1", - "v1.9.0": ">=1.10.0 <=1.30.0-phase1", - "v1.8.0": ">=1.9.0 <=1.30.0-phase1", - "v1.7.1": ">=1.8.0 <=1.30.0-phase1", - "v1.7.0": ">=1.7.1 <=1.30.0-phase1", - "v1.6.0": ">=1.7.1 <=1.30.0-phase1", - "v1.5.0": ">=1.6.0 <=1.30.0-phase1", - "v1.4.0": ">=1.5.0 <=1.30.0-phase1", - "v1.3.0": ">=1.4.0 <=1.30.0-phase1", - "v1.2.0": ">=1.3.0 <=1.30.0-phase1", + + channels := make([]updates.Channel, 0, len(datastores)) + for ds := range datastores { + nodes := nodesForDatastore(versions, ds) + channels = append(channels, updates.Channel{ + Name: "stable", + Metadata: map[string]string{ + "datastore": ds, + "default": "true", + }, + Nodes: toStates(nodes), + Edges: generateEdges(nodes), + }) } - return updates.Channel{ - Name: "stable", - Metadata: map[string]string{ - "datastore": "cockroachdb", - "default": "true", - }, - Nodes: releases, - Edges: edgesFromPatterns(edgePatterns, releases), + sort.Slice(channels, func(i, j int) bool { + return channels[i].Metadata["datastore"] < channels[j].Metadata["datastore"] + }) + + return config.OperatorConfig{ + ImageName: "ghcr.io/authzed/spicedb", + UpdateGraph: updates.UpdateGraph{Channels: channels}, } } -func mysqlChannel() updates.Channel { - releases := []updates.State{ - {ID: "v1.51.1", Tag: "v1.51.1", Migration: "add_expiration_to_relation_tuple"}, - {ID: "v1.49.2", Tag: "v1.49.2", Migration: "add_expiration_to_relation_tuple"}, - {ID: "v1.48.0", Tag: "v1.48.0", Migration: "add_expiration_to_relation_tuple"}, - {ID: "v1.47.1", Tag: "v1.47.1", Migration: "add_expiration_to_relation_tuple"}, - {ID: "v1.45.4", Tag: "v1.45.4", Migration: "add_expiration_to_relation_tuple"}, - {ID: "v1.42.1", Tag: "v1.42.1", Migration: "add_expiration_to_relation_tuple"}, - {ID: "v1.40.1", Tag: "v1.40.1", Migration: "add_expiration_to_relation_tuple"}, - {ID: "v1.39.1", Tag: "v1.39.1", Migration: "add_metadata_to_transaction_table"}, - {ID: "v1.38.0", Tag: "v1.38.0", Migration: "add_metadata_to_transaction_table"}, - {ID: "v1.37.1", Tag: "v1.37.1", Migration: "add_relationship_counters_table"}, - {ID: "v1.36.2", Tag: "v1.36.2", Migration: "add_relationship_counters_table"}, - {ID: "v1.35.3", Tag: "v1.35.3", Migration: "add_relationship_counters_table"}, - {ID: "v1.34.0", Tag: "v1.34.0", Migration: "add_relationship_counters_table"}, - {ID: "v1.33.1", Tag: "v1.33.1", Migration: "watch_api_relation_tuple_index"}, - {ID: "v1.32.0", Tag: "v1.32.0", Migration: "watch_api_relation_tuple_index"}, - {ID: "v1.31.0", Tag: "v1.31.0", Migration: "watch_api_relation_tuple_index"}, - {ID: "v1.30.0", Tag: "v1.30.0", Migration: "watch_api_relation_tuple_index"}, - {ID: "v1.29.5", Tag: "v1.29.5", Migration: "watch_api_relation_tuple_index"}, - {ID: "v1.26.0", Tag: "v1.26.0", Migration: "longblob_definitions"}, - {ID: "v1.25.0", Tag: "v1.25.0", Migration: "longblob_definitions"}, - {ID: "v1.24.0", Tag: "v1.24.0", Migration: "extend_object_id"}, - {ID: "v1.23.1", Tag: "v1.23.1", Migration: "extend_object_id"}, - {ID: "v1.22.2", Tag: "v1.22.2", Migration: "extend_object_id"}, - {ID: "v1.21.0", Tag: "v1.21.0", Migration: "extend_object_id"}, - {ID: "v1.19.1", Tag: "v1.19.1", Migration: "add_caveat"}, - {ID: "v1.18.0", Tag: "v1.18.0", Migration: "add_caveat"}, - {ID: "v1.17.0", Tag: "v1.17.0", Migration: "add_caveat"}, - {ID: "v1.16.2", Tag: "v1.16.2", Migration: "add_caveat"}, - {ID: "v1.16.1", Tag: "v1.16.1", Migration: "add_caveat", Deprecated: true}, - {ID: "v1.16.0", Tag: "v1.16.0", Migration: "add_caveat", Deprecated: true}, - {ID: "v1.15.0", Tag: "v1.15.0", Migration: "add_caveat"}, - {ID: "v1.14.1", Tag: "v1.14.1", Migration: "add_caveat"}, - {ID: "v1.14.0", Tag: "v1.14.0", Migration: "add_caveat", Deprecated: true}, - {ID: "v1.13.0", Tag: "v1.13.0", Migration: "add_ns_config_id"}, - {ID: "v1.12.0", Tag: "v1.12.0", Migration: "add_ns_config_id"}, - {ID: "v1.11.0", Tag: "v1.11.0", Migration: "add_ns_config_id"}, - {ID: "v1.10.0", Tag: "v1.10.0", Migration: "add_ns_config_id"}, - {ID: "v1.9.0", Tag: "v1.9.0", Migration: "add_unique_datastore_id"}, - {ID: "v1.8.0", Tag: "v1.8.0", Migration: "add_unique_datastore_id"}, - {ID: "v1.7.1", Tag: "v1.7.1", Migration: "add_unique_datastore_id"}, - {ID: "v1.7.0", Tag: "v1.7.0", Migration: "add_unique_datastore_id", Deprecated: true}, - } - edgePatterns := map[string]string{ - "v1.49.2": ">=1.51.1", - "v1.48.0": ">=1.49.2", - "v1.47.1": ">=1.48.0", - "v1.45.4": ">=1.47.1", - "v1.42.1": ">=1.45.4", - "v1.40.1": ">=1.42.1", - "v1.39.1": ">=1.40.1", - "v1.38.0": ">=1.39.1", - "v1.37.1": ">=1.38.0", - "v1.36.2": ">=1.37.1 <=1.38.0", - "v1.35.3": "1.36.2", - "v1.34.0": ">=1.35.3 <=1.36.2", - "v1.33.1": ">=1.34.0 <=1.36.2", - "v1.32.0": ">=1.33.1 <=1.36.2", - "v1.31.0": ">=1.32.0 <=1.36.2", - "v1.30.0": ">=1.31.0 <=1.36.2", - "v1.29.5": ">=1.30.0 <=1.36.2", - "v1.26.0": ">=1.29.5 <=1.36.2", - "v1.25.0": ">=1.26.0 <=1.36.2", - "v1.24.0": ">=1.25.0 <=1.36.2", - "v1.23.1": ">=1.24.0 <=1.36.2", - "v1.22.2": ">=1.23.1 <=1.36.2", - "v1.21.0": ">=1.22.2 <=1.36.2", - "v1.19.1": ">=1.21.0 <=1.36.2", - "v1.18.0": ">=1.19.1 <=1.36.2", - "v1.17.0": ">=1.18.0 <=1.36.2", - "v1.16.2": ">=1.17.0 <=1.36.2", - "v1.16.1": ">=1.16.2 <=1.36.2", - "v1.16.0": ">=1.16.2 <=1.36.2", - "v1.15.0": ">=1.16.2 <=1.36.2", - "v1.14.1": ">=1.15.0 <=1.36.2", - "v1.14.0": ">=1.14.1 <=1.36.2", - "v1.13.0": ">=1.14.1 <=1.36.2", - "v1.12.0": ">=1.13.0 <=1.36.2", - "v1.11.0": ">=1.12.0 <=1.36.2", - "v1.10.0": ">=1.11.0 <=1.36.2", - "v1.9.0": ">=1.10.0 <=1.36.2", - "v1.8.0": ">=1.9.0 <=1.36.2", - "v1.7.1": ">=1.8.0 <=1.36.2", - "v1.7.0": ">=1.7.1 <=1.36.2", - } - return updates.Channel{ - Name: "stable", - Metadata: map[string]string{ - "datastore": "mysql", - "default": "true", - }, - Nodes: releases, - Edges: edgesFromPatterns(edgePatterns, releases), - } +type versionNode struct { + id string + tag string + migration string + phase string + deprecated bool + waypoint bool + sv semver.Version } -func spannerChannel() updates.Channel { - releases := []updates.State{ - {ID: "v1.49.2", Tag: "v1.51.1", Migration: "add-expiration-support"}, - {ID: "v1.48.0", Tag: "v1.48.0", Migration: "add-expiration-support"}, - {ID: "v1.47.1", Tag: "v1.47.1", Migration: "add-expiration-support"}, - {ID: "v1.45.4", Tag: "v1.45.4", Migration: "add-expiration-support"}, - {ID: "v1.42.1", Tag: "v1.42.1", Migration: "add-expiration-support"}, - {ID: "v1.40.1", Tag: "v1.40.1", Migration: "add-expiration-support"}, - {ID: "v1.39.1", Tag: "v1.39.1", Migration: "add-transaction-metadata-table"}, - {ID: "v1.38.0", Tag: "v1.38.0", Migration: "add-transaction-metadata-table"}, - {ID: "v1.37.1", Tag: "v1.37.1", Migration: "add-relationship-counter-table"}, - {ID: "v1.36.2", Tag: "v1.36.2", Migration: "add-relationship-counter-table"}, - {ID: "v1.35.3", Tag: "v1.35.3", Migration: "add-relationship-counter-table"}, - {ID: "v1.34.0", Tag: "v1.34.0", Migration: "add-relationship-counter-table"}, - {ID: "v1.33.1", Tag: "v1.33.1", Migration: "delete-older-changestreams"}, - {ID: "v1.32.0", Tag: "v1.32.0", Migration: "delete-older-changestreams"}, - {ID: "v1.31.0", Tag: "v1.31.0", Migration: "delete-older-changestreams"}, - {ID: "v1.30.0", Tag: "v1.30.0", Migration: "delete-older-changestreams"}, - {ID: "v1.29.5", Tag: "v1.29.5", Migration: "delete-older-changestreams"}, - {ID: "v1.29.5-phase1", Tag: "v1.29.5", Migration: "register-combined-change-stream"}, - {ID: "v1.26.0", Tag: "v1.26.0", Migration: "drop-changelog-table"}, - {ID: "v1.25.0", Tag: "v1.25.0", Migration: "drop-changelog-table"}, - {ID: "v1.24.0", Tag: "v1.24.0", Migration: "drop-changelog-table"}, - {ID: "v1.23.1", Tag: "v1.23.1", Migration: "drop-changelog-table"}, - {ID: "v1.22.2", Tag: "v1.22.2", Migration: "drop-changelog-table"}, - {ID: "v1.22.2-phase2", Tag: "v1.22.2", Migration: "register-tuple-change-stream", Phase: "write-changelog-read-stream"}, - {ID: "v1.22.2-phase1", Tag: "v1.22.2", Migration: "register-tuple-change-stream", Phase: "write-changelog-read-changelog"}, - {ID: "v1.21.0", Tag: "v1.21.0", Migration: "add-caveats"}, - {ID: "v1.19.1", Tag: "v1.19.1", Migration: "add-caveats"}, - {ID: "v1.18.0", Tag: "v1.18.0", Migration: "add-caveats"}, - {ID: "v1.17.0", Tag: "v1.17.0", Migration: "add-caveats"}, - {ID: "v1.16.2", Tag: "v1.16.2", Migration: "add-caveats"}, - {ID: "v1.16.1", Tag: "v1.16.1", Migration: "add-caveats", Deprecated: true}, - {ID: "v1.16.0", Tag: "v1.16.0", Migration: "add-caveats", Deprecated: true}, - {ID: "v1.15.0", Tag: "v1.15.0", Migration: "add-caveats"}, - {ID: "v1.14.1", Tag: "v1.14.1", Migration: "add-caveats"}, - {ID: "v1.14.0", Tag: "v1.14.0", Migration: "add-caveats", Deprecated: true}, - {ID: "v1.13.0", Tag: "v1.13.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.12.0", Tag: "v1.12.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.11.0", Tag: "v1.11.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.10.0", Tag: "v1.10.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.9.0", Tag: "v1.9.0", Migration: "add-metadata-and-counters"}, - {ID: "v1.8.0", Tag: "v1.8.0", Migration: "add-metadata-and-counters"}, - } - edgePatterns := map[string]string{ - "v1.49.2": ">=1.51.1", - "v1.48.0": ">=1.49.2", - "v1.47.1": ">=1.48.0", - "v1.45.4": ">=1.47.1", - "v1.42.1": ">=1.45.4", - "v1.40.1": ">=1.42.1", - "v1.39.1": ">=1.40.1", - "v1.38.0": ">=1.39.1", - "v1.37.1": ">=1.38.0", - "v1.36.2": ">=1.37.1 <=1.38.0", - "v1.35.3": "1.36.2", - "v1.34.0": ">=1.35.3 <=1.36.2", - "v1.33.1": ">=1.34.0 <=1.36.2", - "v1.32.0": ">=1.33.1 <=1.36.2", - "v1.31.0": ">=1.32.0 <=1.36.2", - "v1.30.0": ">=1.31.0 <=1.36.2", - "v1.29.5": ">=1.30.0 <=1.36.2", - "v1.29.5-phase1": "1.29.5", - "v1.26.0": "1.29.5-phase1", - "v1.25.0": ">=1.26.0 <=1.29.5-phase1", - "v1.24.0": ">=1.25.0 <=1.29.5-phase1", - "v1.23.1": ">=1.24.0 <=1.29.5-phase1", - "v1.22.2": ">=1.23.1 <=1.29.5-phase1", - "v1.22.2-phase2": "1.22.2", - "v1.22.2-phase1": "1.22.2-phase2", - "v1.21.0": "1.22.2-phase1", - "v1.19.1": ">=1.21.0 <=1.22.2-phase1", - "v1.18.0": ">=1.19.1 <=1.22.2-phase1", - "v1.17.0": ">=1.18.0 <=1.22.2-phase1", - "v1.16.2": ">=1.17.0 <=1.22.2-phase1", - "v1.16.1": ">=1.16.2 <=1.22.2-phase1", - "v1.16.0": ">=1.16.2 <=1.22.2-phase1", - "v1.15.0": ">=1.16.2 <=1.22.2-phase1", - "v1.14.1": ">=1.15.0 <=1.22.2-phase1", - "v1.14.0": ">=1.14.1 <=1.22.2-phase1", - "v1.13.0": ">=1.14.1 <=1.22.2-phase1", - "v1.12.0": ">=1.13.0 <=1.22.2-phase1", - "v1.11.0": ">=1.12.0 <=1.22.2-phase1", - "v1.10.0": ">=1.11.0 <=1.22.2-phase1", - "v1.9.0": ">=1.10.0 <=1.22.2-phase1", - "v1.8.0": ">=1.9.0 <=1.22.2-phase1", - } - return updates.Channel{ - Name: "stable", - Metadata: map[string]string{ - "datastore": "spanner", - "default": "true", - }, - Nodes: releases, - Edges: edgesFromPatterns(edgePatterns, releases), - } +func parseSemver(id string) (semver.Version, error) { + return semver.ParseTolerant(strings.TrimPrefix(id, "v")) } -func memoryChannel() updates.Channel { - releases := []updates.State{ - {ID: "v1.51.1", Tag: "v1.51.1"}, - {ID: "v1.49.2", Tag: "v1.49.2"}, - {ID: "v1.48.0", Tag: "v1.48.0"}, - {ID: "v1.47.1", Tag: "v1.47.1"}, - {ID: "v1.45.4", Tag: "v1.45.4"}, - {ID: "v1.42.1", Tag: "v1.42.1"}, - {ID: "v1.40.1", Tag: "v1.40.1"}, - {ID: "v1.39.1", Tag: "v1.39.1"}, - {ID: "v1.38.0", Tag: "v1.38.0"}, - {ID: "v1.37.1", Tag: "v1.37.1"}, - {ID: "v1.36.2", Tag: "v1.36.2"}, - {ID: "v1.35.3", Tag: "v1.35.3"}, - {ID: "v1.34.0", Tag: "v1.34.0"}, - {ID: "v1.33.1", Tag: "v1.33.1"}, - {ID: "v1.32.0", Tag: "v1.32.0"}, - {ID: "v1.31.0", Tag: "v1.31.0"}, - {ID: "v1.30.0", Tag: "v1.30.0"}, - {ID: "v1.29.5", Tag: "v1.29.5"}, - {ID: "v1.26.0", Tag: "v1.26.0"}, - {ID: "v1.25.0", Tag: "v1.25.0"}, - {ID: "v1.24.0", Tag: "v1.24.0"}, - {ID: "v1.23.1", Tag: "v1.23.1"}, - {ID: "v1.22.2", Tag: "v1.22.2"}, - {ID: "v1.21.0", Tag: "v1.21.0"}, - {ID: "v1.19.1", Tag: "v1.19.1"}, - {ID: "v1.18.0", Tag: "v1.18.0"}, - {ID: "v1.17.0", Tag: "v1.17.0"}, - {ID: "v1.16.2", Tag: "v1.16.2"}, - {ID: "v1.16.1", Tag: "v1.16.1", Deprecated: true}, - {ID: "v1.16.0", Tag: "v1.16.0", Deprecated: true}, - {ID: "v1.15.0", Tag: "v1.15.0"}, - {ID: "v1.14.1", Tag: "v1.14.1"}, - {ID: "v1.14.0", Tag: "v1.14.0", Deprecated: true}, - {ID: "v1.13.0", Tag: "v1.13.0"}, - {ID: "v1.12.0", Tag: "v1.12.0"}, - {ID: "v1.11.0", Tag: "v1.11.0"}, - {ID: "v1.10.0", Tag: "v1.10.0"}, - {ID: "v1.9.0", Tag: "v1.9.0"}, - {ID: "v1.8.0", Tag: "v1.8.0"}, - {ID: "v1.7.1", Tag: "v1.7.1"}, - {ID: "v1.7.0", Tag: "v1.7.0", Deprecated: true}, - {ID: "v1.6.0", Tag: "v1.6.0"}, - {ID: "v1.5.0", Tag: "v1.5.0"}, - {ID: "v1.4.0", Tag: "v1.4.0"}, - {ID: "v1.3.0", Tag: "v1.3.0"}, - {ID: "v1.2.0", Tag: "v1.2.0"}, +func mustParseSemver(id string) semver.Version { + v, err := parseSemver(id) + if err != nil { + panic(fmt.Sprintf("invalid semver %q: %v", id, err)) } - edgePatterns := make(map[string]string) - for _, from := range releases { - edgePatterns[from.ID] = ">" + strings.TrimPrefix(from.ID, "v") + return v +} + +func nodesForDatastore(versions []Version, ds string) []versionNode { + nodes := make([]versionNode, 0, len(versions)) + for _, v := range versions { + cfg, ok := v.Config[ds] + if !ok { + continue + } + nodes = append(nodes, versionNode{ + id: v.ID, + tag: v.Tag, + migration: cfg.Migration, + phase: cfg.Phase, + deprecated: cfg.Deprecated, + waypoint: cfg.Waypoint, + sv: mustParseSemver(v.ID), + }) } + // Sort newest first for the channel node list. + sort.Slice(nodes, func(i, j int) bool { + return nodes[j].sv.LT(nodes[i].sv) + }) + return nodes +} - return updates.Channel{ - Name: "stable", - Metadata: map[string]string{ - "datastore": "memory", - "default": "true", - }, - Nodes: releases, - Edges: edgesFromPatterns(edgePatterns, releases), +func toStates(nodes []versionNode) []updates.State { + states := make([]updates.State, len(nodes)) + for i, n := range nodes { + states[i] = updates.State{ + ID: n.id, + Tag: n.tag, + Migration: n.migration, + Phase: n.phase, + Deprecated: n.deprecated, + } } + return states } -func edgesFromPatterns(patterns map[string]string, releases []updates.State) map[string][]string { +// generateEdges creates upgrade edges between versions. +// +// Rules: +// - Every version gets edges to all newer non-deprecated versions. +// - Phase nodes (nodes with a Phase set) and explicit waypoints act as mandatory +// stops: if a waypoint W exists between `from` and `to`, the edge is omitted. +func generateEdges(nodes []versionNode) map[string][]string { + waypoints := make([]semver.Version, 0) + for _, n := range nodes { + if n.phase != "" || n.waypoint { + waypoints = append(waypoints, n.sv) + } + } + sort.Slice(waypoints, func(i, j int) bool { + return waypoints[i].LT(waypoints[j]) + }) + edges := make(map[string][]string) - for from, to := range patterns { - toRange := semver.MustParseRange(to) - for _, release := range releases { - if release.Deprecated { + for _, from := range nodes { + for _, to := range nodes { + if to.deprecated { + continue + } + if !from.sv.LT(to.sv) { continue } - if !toRange(semver.MustParse(strings.TrimPrefix(release.ID, "v"))) { + skip := false + for _, w := range waypoints { + if from.sv.LT(w) && w.LT(to.sv) { + skip = true + break + } + } + if skip { continue } - edges[from] = append(edges[from], release.ID) + edges[from.id] = append(edges[from.id], to.id) } - sort.Slice(edges[from], func(i, j int) bool { - v1 := semver.MustParse(strings.TrimPrefix(edges[from][i], "v")) - v2 := semver.MustParse(strings.TrimPrefix(edges[from][j], "v")) - return v1.LT(v2) + sort.Slice(edges[from.id], func(i, j int) bool { + return mustParseSemver(edges[from.id][i]).LT(mustParseSemver(edges[from.id][j])) }) } return edges diff --git a/tools/generate-update-graph/main_test.go b/tools/generate-update-graph/main_test.go index dad9fa0b..af183984 100644 --- a/tools/generate-update-graph/main_test.go +++ b/tools/generate-update-graph/main_test.go @@ -4,96 +4,86 @@ import ( "testing" "github.com/stretchr/testify/require" - - "github.com/authzed/spicedb-operator/pkg/updates" ) -func TestEdgesFromPatterns(t *testing.T) { +func TestGenerateEdges(t *testing.T) { tests := []struct { - name string - patterns map[string]string - releases []updates.State - want map[string][]string + name string + nodes []versionNode + want map[string][]string }{ { - name: "single edge", - releases: []updates.State{ - {ID: "v1.0.0"}, - {ID: "v1.1.0"}, - }, - patterns: map[string]string{ - "v1.0.0": "1.1.0", + name: "single upgrade path", + nodes: []versionNode{ + {id: "v1.0.0", sv: mustParseSemver("v1.0.0")}, + {id: "v1.1.0", sv: mustParseSemver("v1.1.0")}, }, want: map[string][]string{ "v1.0.0": {"v1.1.0"}, }, }, { - name: "open edge range", - releases: []updates.State{ - {ID: "v1.0.0"}, - {ID: "v1.1.0"}, - {ID: "v1.2.0"}, - }, - patterns: map[string]string{ - "v1.0.0": ">1.0.0", + name: "open upgrade path", + nodes: []versionNode{ + {id: "v1.0.0", sv: mustParseSemver("v1.0.0")}, + {id: "v1.1.0", sv: mustParseSemver("v1.1.0")}, + {id: "v1.2.0", sv: mustParseSemver("v1.2.0")}, }, want: map[string][]string{ "v1.0.0": {"v1.1.0", "v1.2.0"}, + "v1.1.0": {"v1.2.0"}, }, }, { - name: "closed edge range", - releases: []updates.State{ - {ID: "v1.0.0"}, - {ID: "v1.1.0"}, - {ID: "v1.2.0"}, - }, - patterns: map[string]string{ - "v1.0.0": ">1.0.0 <=1.1.0", + name: "deprecated version excluded from targets", + nodes: []versionNode{ + {id: "v1.0.0", sv: mustParseSemver("v1.0.0")}, + {id: "v1.1.0", sv: mustParseSemver("v1.1.0"), deprecated: true}, + {id: "v1.2.0", sv: mustParseSemver("v1.2.0")}, }, want: map[string][]string{ - "v1.0.0": {"v1.1.0"}, + "v1.0.0": {"v1.2.0"}, + "v1.1.0": {"v1.2.0"}, }, }, { - name: "edge range with deprecated release in range", - releases: []updates.State{ - {ID: "v1.0.0"}, - {ID: "v1.1.0", Deprecated: true}, - {ID: "v1.2.0"}, - }, - patterns: map[string]string{ - "v1.0.0": ">1.0.0", + name: "phase node acts as waypoint", + nodes: []versionNode{ + {id: "v1.0.0", sv: mustParseSemver("v1.0.0")}, + {id: "v1.1.0-phase1", sv: mustParseSemver("v1.1.0-phase1"), phase: "write-old-read-new"}, + {id: "v1.1.0", sv: mustParseSemver("v1.1.0")}, + {id: "v1.2.0", sv: mustParseSemver("v1.2.0")}, }, want: map[string][]string{ - "v1.0.0": {"v1.2.0"}, + // v1.0.0 must stop at phase1 (can't skip past the waypoint) + "v1.0.0": {"v1.1.0-phase1"}, + "v1.1.0-phase1": {"v1.1.0", "v1.2.0"}, + "v1.1.0": {"v1.2.0"}, }, }, { - name: "edge range with omitted version", - releases: []updates.State{ - {ID: "v1.0.0"}, - {ID: "v1.1.0"}, - {ID: "v1.2.0"}, - {ID: "v1.3.0"}, - }, - patterns: map[string]string{ - "v1.0.0": ">1.0.0 !1.2.0", + name: "two-phase migration", + nodes: []versionNode{ + {id: "v1.0.0", sv: mustParseSemver("v1.0.0")}, + {id: "v1.1.0-phase1", sv: mustParseSemver("v1.1.0-phase1"), phase: "phase1"}, + {id: "v1.1.0-phase2", sv: mustParseSemver("v1.1.0-phase2"), phase: "phase2"}, + {id: "v1.1.0", sv: mustParseSemver("v1.1.0")}, + {id: "v1.2.0", sv: mustParseSemver("v1.2.0")}, }, want: map[string][]string{ - "v1.0.0": {"v1.1.0", "v1.3.0"}, + "v1.0.0": {"v1.1.0-phase1"}, + "v1.1.0-phase1": {"v1.1.0-phase2"}, + "v1.1.0-phase2": {"v1.1.0", "v1.2.0"}, + "v1.1.0": {"v1.2.0"}, }, }, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { - got := edgesFromPatterns(tt.patterns, tt.releases) + got := generateEdges(tt.nodes) + require.Equal(t, len(tt.want), len(got), "edge map length mismatch") for from, to := range tt.want { - require.ElementsMatch(t, to, got[from]) - } - for from, to := range got { - require.ElementsMatch(t, to, tt.want[from]) + require.ElementsMatch(t, to, got[from], "edges from %s", from) } }) } diff --git a/tools/go.mod b/tools/go.mod index 484b9338..76b7d6fd 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -5,8 +5,8 @@ go 1.25.5 require ( github.com/authzed/spicedb-operator v0.0.0-00010101000000-000000000000 github.com/blang/semver/v4 v4.0.0 + github.com/goccy/go-yaml v1.19.2 github.com/stretchr/testify v1.11.1 - sigs.k8s.io/yaml v1.6.0 ) require ( @@ -58,6 +58,7 @@ require ( sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect + sigs.k8s.io/yaml v1.6.0 // indirect ) replace github.com/authzed/spicedb-operator => ../ diff --git a/tools/go.sum b/tools/go.sum index 0dc5e6b2..b3d6e21a 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -28,6 +28,8 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= From 43bc7308f808a6ae6db83bfd9533f0a603cc7ec0 Mon Sep 17 00:00:00 2001 From: Tanner Stirrat Date: Fri, 1 May 2026 13:40:50 -0600 Subject: [PATCH 2/4] chore: refactor to use k8s yaml again --- .github/workflows/lint.yaml | 10 +- e2e/e2e_test.go | 2 +- e2e/go.sum | 4 +- go.mod | 4 +- magefiles/magefile.go | 2 +- pkg/config/global.go | 4 +- pkg/updates/file.go | 22 +- proposed-update-graph.yaml | 1872 +++++++++++++-------------- tools/generate-update-graph/main.go | 32 +- tools/go.mod | 3 +- tools/go.sum | 2 - 11 files changed, 972 insertions(+), 985 deletions(-) diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index 0d4c195c..6c88390c 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -49,21 +49,13 @@ jobs: - uses: "authzed/actions/golangci-lint@main" extra-lint: - name: "Lint YAML & Markdown" + name: "Lint YAML" runs-on: "depot-ubuntu-24.04" steps: - uses: "actions/checkout@v6" - - uses: "authzed/actions/yaml-lint@main" - uses: "stefanprodan/kube-tools@v1" with: command: "kustomize build ./config" - # Disabled due to issues with Kustomize, see: - # - https://github.com/instrumenta/kubeval-action/pull/3 - # - https://github.com/instrumenta/kubeval/issues/232 - # - uses: "instrumenta/kubeval-action@5915e4adba5adccac07cb156b82e54c3fed74921" - # with: - # files: "config" - - uses: "authzed/actions/markdown-lint@main" codeql: if: "${{ github.event_name == 'pull_request' }}" diff --git a/e2e/e2e_test.go b/e2e/e2e_test.go index fbb1950b..40a494a9 100644 --- a/e2e/e2e_test.go +++ b/e2e/e2e_test.go @@ -18,7 +18,6 @@ import ( "time" "github.com/go-logr/zapr" - "github.com/goccy/go-yaml" "github.com/jzelinskie/stringz" . "github.com/onsi/ginkgo/v2" . "github.com/onsi/gomega" @@ -54,6 +53,7 @@ import ( "sigs.k8s.io/kind/pkg/cluster/nodeutils" "sigs.k8s.io/kind/pkg/cmd" "sigs.k8s.io/kind/pkg/fs" + "sigs.k8s.io/yaml" "github.com/authzed/spicedb-operator/e2e/databases" e2eutil "github.com/authzed/spicedb-operator/e2e/util" diff --git a/e2e/go.sum b/e2e/go.sum index 635838d3..60e9e79c 100644 --- a/e2e/go.sum +++ b/e2e/go.sum @@ -102,8 +102,8 @@ github.com/go-sql-driver/mysql v1.8.1 h1:LedoTUt/eveggdHS9qUFC1EFSa8bU2+1pZjSRpv github.com/go-sql-driver/mysql v1.8.1/go.mod h1:wEBSXgmK//2ZFJyE+qWnIsVGmvmEKlqwuVSjsCm7DZg= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/goccy/go-yaml v1.18.0 h1:8W7wMFS12Pcas7KU+VVkaiCng+kG8QiFeFwzFb+rwuw= -github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= +github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= diff --git a/go.mod b/go.mod index 4ebd255e..46e26f78 100644 --- a/go.mod +++ b/go.mod @@ -8,7 +8,6 @@ require ( github.com/evanphx/json-patch v5.9.11+incompatible github.com/fatih/camelcase v1.0.0 github.com/go-logr/logr v1.4.3 - github.com/goccy/go-yaml v1.19.2 github.com/gosimple/slug v1.15.0 github.com/jzelinskie/stringz v0.0.3 github.com/magefile/mage v1.15.0 @@ -28,6 +27,7 @@ require ( k8s.io/kubectl v0.36.0-alpha.0 k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 sigs.k8s.io/kind v0.31.0 + sigs.k8s.io/yaml v1.6.0 ) require ( @@ -60,6 +60,7 @@ require ( github.com/go-openapi/swag v0.23.0 // indirect github.com/go-task/slim-sprig/v3 v3.0.0 // indirect github.com/gobuffalo/flect v1.0.3 // indirect + github.com/goccy/go-yaml v1.19.2 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang/protobuf v1.5.4 // indirect github.com/google/btree v1.1.3 // indirect @@ -148,7 +149,6 @@ require ( sigs.k8s.io/kustomize/kyaml v0.20.1 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect - sigs.k8s.io/yaml v1.6.0 // indirect ) tool ( diff --git a/magefiles/magefile.go b/magefiles/magefile.go index a99b52fa..2a1e1b0d 100644 --- a/magefiles/magefile.go +++ b/magefiles/magefile.go @@ -12,7 +12,6 @@ import ( "strings" "github.com/cespare/xxhash/v2" - "github.com/goccy/go-yaml" "github.com/jzelinskie/stringz" "github.com/magefile/mage/mg" "github.com/magefile/mage/sh" @@ -21,6 +20,7 @@ import ( kind "sigs.k8s.io/kind/pkg/cluster" "sigs.k8s.io/kind/pkg/cmd" "sigs.k8s.io/kind/pkg/fs" + "sigs.k8s.io/yaml" ) const versionsYamlFile = "magefiles/versions.yaml" diff --git a/pkg/config/global.go b/pkg/config/global.go index 90a123e5..0e0a3579 100644 --- a/pkg/config/global.go +++ b/pkg/config/global.go @@ -4,8 +4,8 @@ import "github.com/authzed/spicedb-operator/pkg/updates" // OperatorConfig holds operator-wide config that is used across all objects type OperatorConfig struct { - ImageName string `json:"imageName,omitempty" yaml:"imageName,omitempty"` - updates.UpdateGraph `yaml:",inline"` + ImageName string `json:"imageName,omitempty"` + updates.UpdateGraph } func NewOperatorConfig() OperatorConfig { diff --git a/pkg/updates/file.go b/pkg/updates/file.go index 6555a62e..2a11e59c 100644 --- a/pkg/updates/file.go +++ b/pkg/updates/file.go @@ -19,17 +19,17 @@ const DatastoreMetadataKey = "datastore" // to the "head" of the channel from every node. type Channel struct { // Name is the user-facing identifier for a graph of updates. - Name string `json:"name" yaml:"name"` + Name string `json:"name"` // Metadata contains any additional properties about the channel. // For example, the applicable datastore is stored as metadata. - Metadata map[string]string `json:"metadata,omitempty" yaml:"metadata,omitempty"` + Metadata map[string]string `json:"metadata,omitempty"` // Edges are the transitions between states in the update graph. - Edges EdgeSet `json:"edges,omitempty" yaml:"edges,omitempty"` + Edges EdgeSet `json:"edges,omitempty"` // Nodes are the possible states in an update graph. - Nodes []State `json:"nodes,omitempty" yaml:"nodes,omitempty"` + Nodes []State `json:"nodes,omitempty"` } // EqualIdentity determines if two channels represent the same stream of @@ -80,19 +80,19 @@ func (c Channel) RemoveNodes(nodes []State) Channel { // State is a "node" in the channel graph, indicating how to run at that // release. type State struct { - ID string `json:"id" yaml:"id"` - Tag string `json:"tag,omitempty" yaml:"tag,omitempty"` - Migration string `json:"migration,omitempty" yaml:"migration,omitempty"` - Phase string `json:"phase,omitempty" yaml:"phase,omitempty"` - Digest string `json:"digest,omitempty" yaml:"digest,omitempty"` + ID string `json:"id"` + Tag string `json:"tag,omitempty"` + Migration string `json:"migration,omitempty"` + Phase string `json:"phase,omitempty"` + Digest string `json:"digest,omitempty"` // Deprecated releases can be updated from, but not to - Deprecated bool `json:"-" yaml:"-"` + Deprecated bool `json:"-"` } // UpdateGraph holds a graph of required update edges type UpdateGraph struct { - Channels []Channel `json:"channels,omitempty" yaml:"channels,omitempty"` + Channels []Channel `json:"channels,omitempty"` } // DefaultChannelForDatastore returns the first channel for a specific datastore. diff --git a/proposed-update-graph.yaml b/proposed-update-graph.yaml index a7413ca0..8cf0d36b 100644 --- a/proposed-update-graph.yaml +++ b/proposed-update-graph.yaml @@ -1,11 +1,14 @@ -imageName: ghcr.io/authzed/spicedb channels: -- name: stable - metadata: - datastore: cockroachdb - default: "true" - edges: - v1.10.0: +- edges: + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 - v1.11.0 - v1.12.0 - v1.13.0 @@ -23,7 +26,15 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.11.0: + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 - v1.12.0 - v1.13.0 - v1.14.1 @@ -40,7 +51,15 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.12.0: + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 - v1.13.0 - v1.14.1 - v1.15.0 @@ -56,7 +75,15 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.13.0: + v1.5.0: + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 - v1.14.1 - v1.15.0 - v1.16.2 @@ -71,7 +98,14 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.14.0: + v1.6.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 - v1.14.1 - v1.15.0 - v1.16.2 @@ -86,7 +120,15 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.14.1: + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 - v1.15.0 - v1.16.2 - v1.17.0 @@ -100,7 +142,15 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.15.0: + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 - v1.16.2 - v1.17.0 - v1.18.0 @@ -113,7 +163,14 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.16.0: + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 - v1.16.2 - v1.17.0 - v1.18.0 @@ -126,7 +183,13 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.16.1: + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 - v1.16.2 - v1.17.0 - v1.18.0 @@ -139,7 +202,13 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.16.2: + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 - v1.17.0 - v1.18.0 - v1.19.1 @@ -151,7 +220,13 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.17.0: + v1.11.0: + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 - v1.18.0 - v1.19.1 - v1.21.0 @@ -162,7 +237,13 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.18.0: + v1.12.0: + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 - v1.19.1 - v1.21.0 - v1.22.2 @@ -172,7 +253,13 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.19.1: + v1.13.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 - v1.21.0 - v1.22.2 - v1.23.1 @@ -181,18 +268,7 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.2.0: - - v1.3.0 - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 + v1.14.0: - v1.14.1 - v1.15.0 - v1.16.2 @@ -207,7 +283,13 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.21.0: + v1.14.1: + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 - v1.22.2 - v1.23.1 - v1.24.0 @@ -215,49 +297,69 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.22.2: + v1.15.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.23.1: + v1.16.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.24.0: + v1.16.1: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 - v1.25.0 - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.25.0: + v1.16.2: + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.26.0: + v1.17.0: + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 - v1.29.5 - v1.30.0-phase1 - v1.29.5: - - v1.30.0-phase1 - v1.3.0: - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 + v1.18.0: - v1.19.1 - v1.21.0 - v1.22.2 @@ -267,6 +369,50 @@ channels: - v1.26.0 - v1.29.5 - v1.30.0-phase1 + v1.19.1: + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.21.0: + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.22.2: + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.23.1: + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.24.0: + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.25.0: + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.26.0: + - v1.29.5 + - v1.30.0-phase1 + v1.29.5: + - v1.30.0-phase1 v1.30.0: - v1.31.0 - v1.32.0 @@ -410,9 +556,186 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.4.0: - - v1.5.0 - - v1.6.0 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + metadata: + datastore: cockroachdb + default: "true" + name: stable + nodes: + - id: v1.51.1 + migration: add-expiration-support + tag: v1.51.1 + - id: v1.49.2 + migration: add-expiration-support + tag: v1.49.2 + - id: v1.48.0 + migration: add-expiration-support + tag: v1.48.0 + - id: v1.47.1 + migration: add-expiration-support + tag: v1.47.1 + - id: v1.45.4 + migration: add-expiration-support + tag: v1.45.4 + - id: v1.42.1 + migration: add-expiration-support + tag: v1.42.1 + - id: v1.40.1 + migration: add-expiration-support + tag: v1.40.1 + - id: v1.39.1 + migration: add-transaction-metadata-table + tag: v1.39.1 + - id: v1.38.0 + migration: add-transaction-metadata-table + tag: v1.38.0 + - id: v1.37.1 + migration: add-integrity-relationtuple-table + tag: v1.37.1 + - id: v1.36.2 + migration: add-integrity-relationtuple-table + tag: v1.36.2 + - id: v1.35.3 + migration: add-relationship-counters-table + tag: v1.35.3 + - id: v1.34.0 + migration: add-relationship-counters-table + tag: v1.34.0 + - id: v1.33.1 + migration: remove-stats-table + tag: v1.33.1 + - id: v1.32.0 + migration: remove-stats-table + tag: v1.32.0 + - id: v1.31.0 + migration: remove-stats-table + tag: v1.31.0 + - id: v1.30.0 + migration: remove-stats-table + tag: v1.30.0 + - id: v1.30.0-phase1 + migration: add-caveats + phase: write-both-read-new + tag: v1.30.0 + - id: v1.29.5 + migration: add-caveats + tag: v1.29.5 + - id: v1.26.0 + migration: add-caveats + tag: v1.26.0 + - id: v1.25.0 + migration: add-caveats + tag: v1.25.0 + - id: v1.24.0 + migration: add-caveats + tag: v1.24.0 + - id: v1.23.1 + migration: add-caveats + tag: v1.23.1 + - id: v1.22.2 + migration: add-caveats + tag: v1.22.2 + - id: v1.21.0 + migration: add-caveats + tag: v1.21.0 + - id: v1.19.1 + migration: add-caveats + tag: v1.19.1 + - id: v1.18.0 + migration: add-caveats + tag: v1.18.0 + - id: v1.17.0 + migration: add-caveats + tag: v1.17.0 + - id: v1.16.2 + migration: add-caveats + tag: v1.16.2 + - id: v1.16.1 + migration: add-caveats + tag: v1.16.1 + - id: v1.16.0 + migration: add-caveats + tag: v1.16.0 + - id: v1.15.0 + migration: add-caveats + tag: v1.15.0 + - id: v1.14.1 + migration: add-caveats + tag: v1.14.1 + - id: v1.14.0 + migration: add-caveats + tag: v1.14.0 + - id: v1.13.0 + migration: add-metadata-and-counters + tag: v1.13.0 + - id: v1.12.0 + migration: add-metadata-and-counters + tag: v1.12.0 + - id: v1.11.0 + migration: add-metadata-and-counters + tag: v1.11.0 + - id: v1.10.0 + migration: add-metadata-and-counters + tag: v1.10.0 + - id: v1.9.0 + migration: add-metadata-and-counters + tag: v1.9.0 + - id: v1.8.0 + migration: add-metadata-and-counters + tag: v1.8.0 + - id: v1.7.1 + migration: add-metadata-and-counters + tag: v1.7.1 + - id: v1.7.0 + migration: add-metadata-and-counters + tag: v1.7.0 + - id: v1.6.0 + migration: add-metadata-and-counters + tag: v1.6.0 + - id: v1.5.0 + migration: add-transactions-table + tag: v1.5.0 + - id: v1.4.0 + migration: add-transactions-table + tag: v1.4.0 + - id: v1.3.0 + migration: add-transactions-table + tag: v1.3.0 + - id: v1.2.0 + migration: add-transactions-table + tag: v1.2.0 +- edges: + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 - v1.7.1 - v1.8.0 - v1.9.0 @@ -433,34 +756,104 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - v1.40.1: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 - v1.42.1 - v1.45.4 - v1.47.1 - v1.48.0 - v1.49.2 - v1.51.1 - v1.42.1: + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 - v1.45.4 - v1.47.1 - v1.48.0 - v1.49.2 - v1.51.1 - v1.45.4: + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 - v1.47.1 - v1.48.0 - v1.49.2 - v1.51.1 - v1.47.1: - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.48.0: - - v1.49.2 - - v1.51.1 - v1.49.2: - - v1.51.1 v1.5.0: - v1.6.0 - v1.7.1 @@ -483,7 +876,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.6.0: - v1.7.1 - v1.8.0 @@ -505,7 +914,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.7.0: - v1.7.1 - v1.8.0 @@ -527,7 +952,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.7.1: - v1.8.0 - v1.9.0 @@ -548,7 +989,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.8.0: - v1.9.0 - v1.10.0 @@ -568,7 +1025,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.9.0: - v1.10.0 - v1.11.0 @@ -587,155 +1060,23 @@ channels: - v1.25.0 - v1.26.0 - v1.29.5 - - v1.30.0-phase1 - nodes: - - id: v1.51.1 - tag: v1.51.1 - migration: add-expiration-support - - id: v1.49.2 - tag: v1.49.2 - migration: add-expiration-support - - id: v1.48.0 - tag: v1.48.0 - migration: add-expiration-support - - id: v1.47.1 - tag: v1.47.1 - migration: add-expiration-support - - id: v1.45.4 - tag: v1.45.4 - migration: add-expiration-support - - id: v1.42.1 - tag: v1.42.1 - migration: add-expiration-support - - id: v1.40.1 - tag: v1.40.1 - migration: add-expiration-support - - id: v1.39.1 - tag: v1.39.1 - migration: add-transaction-metadata-table - - id: v1.38.0 - tag: v1.38.0 - migration: add-transaction-metadata-table - - id: v1.37.1 - tag: v1.37.1 - migration: add-integrity-relationtuple-table - - id: v1.36.2 - tag: v1.36.2 - migration: add-integrity-relationtuple-table - - id: v1.35.3 - tag: v1.35.3 - migration: add-relationship-counters-table - - id: v1.34.0 - tag: v1.34.0 - migration: add-relationship-counters-table - - id: v1.33.1 - tag: v1.33.1 - migration: remove-stats-table - - id: v1.32.0 - tag: v1.32.0 - migration: remove-stats-table - - id: v1.31.0 - tag: v1.31.0 - migration: remove-stats-table - - id: v1.30.0 - tag: v1.30.0 - migration: remove-stats-table - - id: v1.30.0-phase1 - tag: v1.30.0 - migration: add-caveats - phase: write-both-read-new - - id: v1.29.5 - tag: v1.29.5 - migration: add-caveats - - id: v1.26.0 - tag: v1.26.0 - migration: add-caveats - - id: v1.25.0 - tag: v1.25.0 - migration: add-caveats - - id: v1.24.0 - tag: v1.24.0 - migration: add-caveats - - id: v1.23.1 - tag: v1.23.1 - migration: add-caveats - - id: v1.22.2 - tag: v1.22.2 - migration: add-caveats - - id: v1.21.0 - tag: v1.21.0 - migration: add-caveats - - id: v1.19.1 - tag: v1.19.1 - migration: add-caveats - - id: v1.18.0 - tag: v1.18.0 - migration: add-caveats - - id: v1.17.0 - tag: v1.17.0 - migration: add-caveats - - id: v1.16.2 - tag: v1.16.2 - migration: add-caveats - - id: v1.16.1 - tag: v1.16.1 - migration: add-caveats - - id: v1.16.0 - tag: v1.16.0 - migration: add-caveats - - id: v1.15.0 - tag: v1.15.0 - migration: add-caveats - - id: v1.14.1 - tag: v1.14.1 - migration: add-caveats - - id: v1.14.0 - tag: v1.14.0 - migration: add-caveats - - id: v1.13.0 - tag: v1.13.0 - migration: add-metadata-and-counters - - id: v1.12.0 - tag: v1.12.0 - migration: add-metadata-and-counters - - id: v1.11.0 - tag: v1.11.0 - migration: add-metadata-and-counters - - id: v1.10.0 - tag: v1.10.0 - migration: add-metadata-and-counters - - id: v1.9.0 - tag: v1.9.0 - migration: add-metadata-and-counters - - id: v1.8.0 - tag: v1.8.0 - migration: add-metadata-and-counters - - id: v1.7.1 - tag: v1.7.1 - migration: add-metadata-and-counters - - id: v1.7.0 - tag: v1.7.0 - migration: add-metadata-and-counters - - id: v1.6.0 - tag: v1.6.0 - migration: add-metadata-and-counters - - id: v1.5.0 - tag: v1.5.0 - migration: add-transactions-table - - id: v1.4.0 - tag: v1.4.0 - migration: add-transactions-table - - id: v1.3.0 - tag: v1.3.0 - migration: add-transactions-table - - id: v1.2.0 - tag: v1.2.0 - migration: add-transactions-table -- name: stable - metadata: - datastore: memory - default: "true" - edges: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 v1.10.0: - v1.11.0 - v1.12.0 @@ -1094,50 +1435,8 @@ channels: - v1.47.1 - v1.48.0 - v1.49.2 - - v1.51.1 - v1.19.1: - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.2.0: - - v1.3.0 - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 + - v1.51.1 + v1.19.1: - v1.21.0 - v1.22.2 - v1.23.1 @@ -1309,47 +1608,6 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.3.0: - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.30.0: - v1.31.0 - v1.32.0 @@ -1475,46 +1733,6 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.4.0: - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.40.1: - v1.42.1 - v1.45.4 @@ -1542,83 +1760,104 @@ channels: - v1.51.1 v1.49.2: - v1.51.1 - v1.5.0: - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.6.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + metadata: + datastore: memory + default: "true" + name: stable + nodes: + - id: v1.51.1 + tag: v1.51.1 + - id: v1.49.2 + tag: v1.49.2 + - id: v1.48.0 + tag: v1.48.0 + - id: v1.47.1 + tag: v1.47.1 + - id: v1.45.4 + tag: v1.45.4 + - id: v1.42.1 + tag: v1.42.1 + - id: v1.40.1 + tag: v1.40.1 + - id: v1.39.1 + tag: v1.39.1 + - id: v1.38.0 + tag: v1.38.0 + - id: v1.37.1 + tag: v1.37.1 + - id: v1.36.2 + tag: v1.36.2 + - id: v1.35.3 + tag: v1.35.3 + - id: v1.34.0 + tag: v1.34.0 + - id: v1.33.1 + tag: v1.33.1 + - id: v1.32.0 + tag: v1.32.0 + - id: v1.31.0 + tag: v1.31.0 + - id: v1.30.0 + tag: v1.30.0 + - id: v1.29.5 + tag: v1.29.5 + - id: v1.26.0 + tag: v1.26.0 + - id: v1.25.0 + tag: v1.25.0 + - id: v1.24.0 + tag: v1.24.0 + - id: v1.23.1 + tag: v1.23.1 + - id: v1.22.2 + tag: v1.22.2 + - id: v1.21.0 + tag: v1.21.0 + - id: v1.19.1 + tag: v1.19.1 + - id: v1.18.0 + tag: v1.18.0 + - id: v1.17.0 + tag: v1.17.0 + - id: v1.16.2 + tag: v1.16.2 + - id: v1.16.1 + tag: v1.16.1 + - id: v1.16.0 + tag: v1.16.0 + - id: v1.15.0 + tag: v1.15.0 + - id: v1.14.1 + tag: v1.14.1 + - id: v1.14.0 + tag: v1.14.0 + - id: v1.13.0 + tag: v1.13.0 + - id: v1.12.0 + tag: v1.12.0 + - id: v1.11.0 + tag: v1.11.0 + - id: v1.10.0 + tag: v1.10.0 + - id: v1.9.0 + tag: v1.9.0 + - id: v1.8.0 + tag: v1.8.0 + - id: v1.7.1 + tag: v1.7.1 + - id: v1.7.0 + tag: v1.7.0 + - id: v1.6.0 + tag: v1.6.0 + - id: v1.5.0 + tag: v1.5.0 + - id: v1.4.0 + tag: v1.4.0 + - id: v1.3.0 + tag: v1.3.0 + - id: v1.2.0 + tag: v1.2.0 +- edges: v1.7.0: - v1.7.1 - v1.8.0 @@ -1765,104 +2004,6 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - nodes: - - id: v1.51.1 - tag: v1.51.1 - - id: v1.49.2 - tag: v1.49.2 - - id: v1.48.0 - tag: v1.48.0 - - id: v1.47.1 - tag: v1.47.1 - - id: v1.45.4 - tag: v1.45.4 - - id: v1.42.1 - tag: v1.42.1 - - id: v1.40.1 - tag: v1.40.1 - - id: v1.39.1 - tag: v1.39.1 - - id: v1.38.0 - tag: v1.38.0 - - id: v1.37.1 - tag: v1.37.1 - - id: v1.36.2 - tag: v1.36.2 - - id: v1.35.3 - tag: v1.35.3 - - id: v1.34.0 - tag: v1.34.0 - - id: v1.33.1 - tag: v1.33.1 - - id: v1.32.0 - tag: v1.32.0 - - id: v1.31.0 - tag: v1.31.0 - - id: v1.30.0 - tag: v1.30.0 - - id: v1.29.5 - tag: v1.29.5 - - id: v1.26.0 - tag: v1.26.0 - - id: v1.25.0 - tag: v1.25.0 - - id: v1.24.0 - tag: v1.24.0 - - id: v1.23.1 - tag: v1.23.1 - - id: v1.22.2 - tag: v1.22.2 - - id: v1.21.0 - tag: v1.21.0 - - id: v1.19.1 - tag: v1.19.1 - - id: v1.18.0 - tag: v1.18.0 - - id: v1.17.0 - tag: v1.17.0 - - id: v1.16.2 - tag: v1.16.2 - - id: v1.16.1 - tag: v1.16.1 - - id: v1.16.0 - tag: v1.16.0 - - id: v1.15.0 - tag: v1.15.0 - - id: v1.14.1 - tag: v1.14.1 - - id: v1.14.0 - tag: v1.14.0 - - id: v1.13.0 - tag: v1.13.0 - - id: v1.12.0 - tag: v1.12.0 - - id: v1.11.0 - tag: v1.11.0 - - id: v1.10.0 - tag: v1.10.0 - - id: v1.9.0 - tag: v1.9.0 - - id: v1.8.0 - tag: v1.8.0 - - id: v1.7.1 - tag: v1.7.1 - - id: v1.7.0 - tag: v1.7.0 - - id: v1.6.0 - tag: v1.6.0 - - id: v1.5.0 - tag: v1.5.0 - - id: v1.4.0 - tag: v1.4.0 - - id: v1.3.0 - tag: v1.3.0 - - id: v1.2.0 - tag: v1.2.0 -- name: stable - metadata: - datastore: mysql - default: "true" - edges: v1.10.0: - v1.11.0 - v1.12.0 @@ -2546,281 +2687,220 @@ channels: - v1.51.1 v1.49.2: - v1.51.1 - v1.7.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.7.1: - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.8.0: - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.9.0: - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2 - - v1.23.1 - - v1.24.0 - - v1.25.0 - - v1.26.0 - - v1.29.5 - - v1.30.0 - - v1.31.0 - - v1.32.0 - - v1.33.1 - - v1.34.0 - - v1.35.3 - - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 + metadata: + datastore: mysql + default: "true" + name: stable nodes: - id: v1.51.1 - tag: v1.51.1 migration: add_expiration_to_relation_tuple + tag: v1.51.1 - id: v1.49.2 - tag: v1.49.2 migration: add_expiration_to_relation_tuple + tag: v1.49.2 - id: v1.48.0 - tag: v1.48.0 migration: add_expiration_to_relation_tuple + tag: v1.48.0 - id: v1.47.1 - tag: v1.47.1 migration: add_expiration_to_relation_tuple + tag: v1.47.1 - id: v1.45.4 - tag: v1.45.4 migration: add_expiration_to_relation_tuple + tag: v1.45.4 - id: v1.42.1 - tag: v1.42.1 migration: add_expiration_to_relation_tuple + tag: v1.42.1 - id: v1.40.1 - tag: v1.40.1 migration: add_expiration_to_relation_tuple + tag: v1.40.1 - id: v1.39.1 - tag: v1.39.1 migration: add_metadata_to_transaction_table + tag: v1.39.1 - id: v1.38.0 - tag: v1.38.0 migration: add_metadata_to_transaction_table + tag: v1.38.0 - id: v1.37.1 - tag: v1.37.1 migration: add_relationship_counters_table + tag: v1.37.1 - id: v1.36.2 - tag: v1.36.2 migration: add_relationship_counters_table + tag: v1.36.2 - id: v1.35.3 - tag: v1.35.3 migration: add_relationship_counters_table + tag: v1.35.3 - id: v1.34.0 - tag: v1.34.0 migration: add_relationship_counters_table + tag: v1.34.0 - id: v1.33.1 - tag: v1.33.1 migration: watch_api_relation_tuple_index + tag: v1.33.1 - id: v1.32.0 - tag: v1.32.0 migration: watch_api_relation_tuple_index + tag: v1.32.0 - id: v1.31.0 - tag: v1.31.0 migration: watch_api_relation_tuple_index + tag: v1.31.0 - id: v1.30.0 - tag: v1.30.0 migration: watch_api_relation_tuple_index + tag: v1.30.0 - id: v1.29.5 - tag: v1.29.5 migration: watch_api_relation_tuple_index + tag: v1.29.5 - id: v1.26.0 - tag: v1.26.0 migration: longblob_definitions + tag: v1.26.0 - id: v1.25.0 - tag: v1.25.0 migration: longblob_definitions + tag: v1.25.0 - id: v1.24.0 - tag: v1.24.0 migration: extend_object_id + tag: v1.24.0 - id: v1.23.1 - tag: v1.23.1 migration: extend_object_id + tag: v1.23.1 - id: v1.22.2 - tag: v1.22.2 migration: extend_object_id + tag: v1.22.2 - id: v1.21.0 - tag: v1.21.0 migration: extend_object_id + tag: v1.21.0 - id: v1.19.1 - tag: v1.19.1 migration: add_caveat + tag: v1.19.1 - id: v1.18.0 - tag: v1.18.0 migration: add_caveat + tag: v1.18.0 - id: v1.17.0 - tag: v1.17.0 migration: add_caveat + tag: v1.17.0 - id: v1.16.2 - tag: v1.16.2 migration: add_caveat + tag: v1.16.2 - id: v1.16.1 - tag: v1.16.1 migration: add_caveat + tag: v1.16.1 - id: v1.16.0 - tag: v1.16.0 migration: add_caveat + tag: v1.16.0 - id: v1.15.0 - tag: v1.15.0 migration: add_caveat + tag: v1.15.0 - id: v1.14.1 - tag: v1.14.1 migration: add_caveat + tag: v1.14.1 - id: v1.14.0 - tag: v1.14.0 migration: add_caveat + tag: v1.14.0 - id: v1.13.0 - tag: v1.13.0 migration: add_ns_config_id + tag: v1.13.0 - id: v1.12.0 - tag: v1.12.0 migration: add_ns_config_id + tag: v1.12.0 - id: v1.11.0 - tag: v1.11.0 migration: add_ns_config_id + tag: v1.11.0 - id: v1.10.0 - tag: v1.10.0 migration: add_ns_config_id + tag: v1.10.0 - id: v1.9.0 - tag: v1.9.0 migration: add_unique_datastore_id + tag: v1.9.0 - id: v1.8.0 - tag: v1.8.0 migration: add_unique_datastore_id + tag: v1.8.0 - id: v1.7.1 - tag: v1.7.1 migration: add_unique_datastore_id + tag: v1.7.1 - id: v1.7.0 - tag: v1.7.0 migration: add_unique_datastore_id -- name: stable - metadata: - datastore: postgres - default: "true" - edges: + tag: v1.7.0 +- edges: + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.5.0: + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.6.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 v1.10.0: - v1.11.0 - v1.12.0 @@ -3123,19 +3203,6 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.2.0: - - v1.3.0 - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 v1.21.0: - v1.22.2 - v1.23.1 @@ -3283,18 +3350,6 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.3.0: - - v1.4.0 - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 v1.30.0: - v1.31.0 - v1.32.0 @@ -3420,17 +3475,6 @@ channels: - v1.48.0 - v1.49.2 - v1.51.1 - v1.4.0: - - v1.5.0 - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 v1.40.1: - v1.42.1 - v1.45.4 @@ -3446,219 +3490,197 @@ channels: - v1.51.1 v1.45.4: - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.47.1: - - v1.48.0 - - v1.49.2 - - v1.51.1 - v1.48.0: - - v1.49.2 - - v1.51.1 - v1.49.2: - - v1.51.1 - v1.5.0: - - v1.6.0 - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.6.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.7.0: - - v1.7.1 - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.7.1: - - v1.8.0 - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.8.0: - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 - v1.9.0: - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.0-phase1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + metadata: + datastore: postgres + default: "true" + name: stable nodes: - id: v1.51.1 - tag: v1.51.1 migration: add-index-for-transaction-gc + tag: v1.51.1 - id: v1.49.2 - tag: v1.49.2 migration: add-index-for-transaction-gc + tag: v1.49.2 - id: v1.48.0 - tag: v1.48.0 migration: add-index-for-transaction-gc + tag: v1.48.0 - id: v1.47.1 - tag: v1.47.1 migration: add-index-for-transaction-gc + tag: v1.47.1 - id: v1.45.4 - tag: v1.45.4 migration: add-index-for-transaction-gc + tag: v1.45.4 - id: v1.42.1 - tag: v1.42.1 migration: add-index-for-transaction-gc + tag: v1.42.1 - id: v1.40.1 - tag: v1.40.1 migration: add-index-for-transaction-gc + tag: v1.40.1 - id: v1.39.1 - tag: v1.39.1 migration: add-watch-api-index-to-relation-tuple-table + tag: v1.39.1 - id: v1.38.0 - tag: v1.38.0 migration: add-metadata-to-transaction-table + tag: v1.38.0 - id: v1.37.1 - tag: v1.37.1 migration: create-relationships-counters-table + tag: v1.37.1 - id: v1.36.2 - tag: v1.36.2 migration: create-relationships-counters-table + tag: v1.36.2 - id: v1.35.3 - tag: v1.35.3 migration: create-relationships-counters-table + tag: v1.35.3 - id: v1.34.0 - tag: v1.34.0 migration: create-relationships-counters-table + tag: v1.34.0 - id: v1.33.1 - tag: v1.33.1 migration: add-rel-by-alive-resource-relation-subject + tag: v1.33.1 - id: v1.32.0 - tag: v1.32.0 migration: add-rel-by-alive-resource-relation-subject + tag: v1.32.0 - id: v1.31.0 - tag: v1.31.0 migration: add-rel-by-alive-resource-relation-subject + tag: v1.31.0 - id: v1.30.0 - tag: v1.30.0 migration: add-rel-by-alive-resource-relation-subject + tag: v1.30.0 - id: v1.29.5 - tag: v1.29.5 migration: add-rel-by-alive-resource-relation-subject + tag: v1.29.5 - id: v1.26.0 - tag: v1.26.0 migration: add-rel-by-alive-resource-relation-subject + tag: v1.26.0 - id: v1.25.0 - tag: v1.25.0 migration: add-gc-covering-index + tag: v1.25.0 - id: v1.24.0 - tag: v1.24.0 migration: add-gc-covering-index + tag: v1.24.0 - id: v1.23.1 - tag: v1.23.1 migration: add-gc-covering-index + tag: v1.23.1 - id: v1.22.2 - tag: v1.22.2 migration: add-gc-covering-index + tag: v1.22.2 - id: v1.21.0 - tag: v1.21.0 migration: add-gc-covering-index + tag: v1.21.0 - id: v1.19.1 - tag: v1.19.1 migration: add-gc-covering-index + tag: v1.19.1 - id: v1.18.0 - tag: v1.18.0 migration: drop-bigserial-ids + tag: v1.18.0 - id: v1.17.0 - tag: v1.17.0 migration: drop-bigserial-ids + tag: v1.17.0 - id: v1.16.2 - tag: v1.16.2 migration: drop-bigserial-ids + tag: v1.16.2 - id: v1.16.1 - tag: v1.16.1 migration: drop-bigserial-ids + tag: v1.16.1 - id: v1.16.0 - tag: v1.16.0 migration: drop-bigserial-ids + tag: v1.16.0 - id: v1.15.0 - tag: v1.15.0 migration: drop-bigserial-ids + tag: v1.15.0 - id: v1.14.1 - tag: v1.14.1 migration: drop-bigserial-ids + tag: v1.14.1 - id: v1.14.0 - tag: v1.14.0 migration: drop-bigserial-ids - - id: v1.14.0-phase2 tag: v1.14.0 + - id: v1.14.0-phase2 migration: add-xid-constraints phase: write-both-read-new - - id: v1.14.0-phase1 tag: v1.14.0 + - id: v1.14.0-phase1 migration: add-xid-columns phase: write-both-read-old + tag: v1.14.0 - id: v1.13.0 - tag: v1.13.0 migration: add-ns-config-id + tag: v1.13.0 - id: v1.12.0 - tag: v1.12.0 migration: add-ns-config-id + tag: v1.12.0 - id: v1.11.0 - tag: v1.11.0 migration: add-ns-config-id + tag: v1.11.0 - id: v1.10.0 - tag: v1.10.0 migration: add-ns-config-id + tag: v1.10.0 - id: v1.9.0 - tag: v1.9.0 migration: add-unique-datastore-id + tag: v1.9.0 - id: v1.8.0 - tag: v1.8.0 migration: add-unique-datastore-id + tag: v1.8.0 - id: v1.7.1 - tag: v1.7.1 migration: add-unique-datastore-id + tag: v1.7.1 - id: v1.7.0 - tag: v1.7.0 migration: add-unique-datastore-id + tag: v1.7.0 - id: v1.6.0 - tag: v1.6.0 migration: add-unique-datastore-id + tag: v1.6.0 - id: v1.5.0 - tag: v1.5.0 migration: add-transaction-timestamp-index + tag: v1.5.0 - id: v1.4.0 - tag: v1.4.0 migration: add-transaction-timestamp-index + tag: v1.4.0 - id: v1.3.0 - tag: v1.3.0 migration: add-transaction-timestamp-index + tag: v1.3.0 - id: v1.2.0 - tag: v1.2.0 migration: add-transaction-timestamp-index -- name: stable - metadata: - datastore: spanner - default: "true" - edges: + tag: v1.2.0 +- edges: + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 v1.10.0: - v1.11.0 - v1.12.0 @@ -3977,160 +3999,138 @@ channels: - v1.51.1 v1.49.2: - v1.51.1 - v1.8.0: - - v1.9.0 - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 - v1.9.0: - - v1.10.0 - - v1.11.0 - - v1.12.0 - - v1.13.0 - - v1.14.1 - - v1.15.0 - - v1.16.2 - - v1.17.0 - - v1.18.0 - - v1.19.1 - - v1.21.0 - - v1.22.2-phase1 + metadata: + datastore: spanner + default: "true" + name: stable nodes: - id: v1.51.1 - tag: v1.51.1 migration: add-expiration-support + tag: v1.51.1 - id: v1.49.2 - tag: v1.49.2 migration: add-expiration-support + tag: v1.49.2 - id: v1.48.0 - tag: v1.48.0 migration: add-expiration-support + tag: v1.48.0 - id: v1.47.1 - tag: v1.47.1 migration: add-expiration-support + tag: v1.47.1 - id: v1.45.4 - tag: v1.45.4 migration: add-expiration-support + tag: v1.45.4 - id: v1.42.1 - tag: v1.42.1 migration: add-expiration-support + tag: v1.42.1 - id: v1.40.1 - tag: v1.40.1 migration: add-expiration-support + tag: v1.40.1 - id: v1.39.1 - tag: v1.39.1 migration: add-transaction-metadata-table + tag: v1.39.1 - id: v1.38.0 - tag: v1.38.0 migration: add-transaction-metadata-table + tag: v1.38.0 - id: v1.37.1 - tag: v1.37.1 migration: add-relationship-counter-table + tag: v1.37.1 - id: v1.36.2 - tag: v1.36.2 migration: add-relationship-counter-table + tag: v1.36.2 - id: v1.35.3 - tag: v1.35.3 migration: add-relationship-counter-table + tag: v1.35.3 - id: v1.34.0 - tag: v1.34.0 migration: add-relationship-counter-table + tag: v1.34.0 - id: v1.33.1 - tag: v1.33.1 migration: delete-older-changestreams + tag: v1.33.1 - id: v1.32.0 - tag: v1.32.0 migration: delete-older-changestreams + tag: v1.32.0 - id: v1.31.0 - tag: v1.31.0 migration: delete-older-changestreams + tag: v1.31.0 - id: v1.30.0 - tag: v1.30.0 migration: delete-older-changestreams + tag: v1.30.0 - id: v1.29.5 - tag: v1.29.5 migration: delete-older-changestreams - - id: v1.29.5-phase1 tag: v1.29.5 + - id: v1.29.5-phase1 migration: register-combined-change-stream phase: write-both-read-new + tag: v1.29.5 - id: v1.26.0 - tag: v1.26.0 migration: drop-changelog-table + tag: v1.26.0 - id: v1.25.0 - tag: v1.25.0 migration: drop-changelog-table + tag: v1.25.0 - id: v1.24.0 - tag: v1.24.0 migration: drop-changelog-table + tag: v1.24.0 - id: v1.23.1 - tag: v1.23.1 migration: drop-changelog-table + tag: v1.23.1 - id: v1.22.2 - tag: v1.22.2 migration: drop-changelog-table - - id: v1.22.2-phase2 tag: v1.22.2 + - id: v1.22.2-phase2 migration: register-tuple-change-stream phase: write-changelog-read-stream - - id: v1.22.2-phase1 tag: v1.22.2 + - id: v1.22.2-phase1 migration: register-tuple-change-stream phase: write-changelog-read-changelog + tag: v1.22.2 - id: v1.21.0 - tag: v1.21.0 migration: add-caveats + tag: v1.21.0 - id: v1.19.1 - tag: v1.19.1 migration: add-caveats + tag: v1.19.1 - id: v1.18.0 - tag: v1.18.0 migration: add-caveats + tag: v1.18.0 - id: v1.17.0 - tag: v1.17.0 migration: add-caveats + tag: v1.17.0 - id: v1.16.2 - tag: v1.16.2 migration: add-caveats + tag: v1.16.2 - id: v1.16.1 - tag: v1.16.1 migration: add-caveats + tag: v1.16.1 - id: v1.16.0 - tag: v1.16.0 migration: add-caveats + tag: v1.16.0 - id: v1.15.0 - tag: v1.15.0 migration: add-caveats + tag: v1.15.0 - id: v1.14.1 - tag: v1.14.1 migration: add-caveats + tag: v1.14.1 - id: v1.14.0 - tag: v1.14.0 migration: add-caveats + tag: v1.14.0 - id: v1.13.0 - tag: v1.13.0 migration: add-metadata-and-counters + tag: v1.13.0 - id: v1.12.0 - tag: v1.12.0 migration: add-metadata-and-counters + tag: v1.12.0 - id: v1.11.0 - tag: v1.11.0 migration: add-metadata-and-counters + tag: v1.11.0 - id: v1.10.0 - tag: v1.10.0 migration: add-metadata-and-counters + tag: v1.10.0 - id: v1.9.0 - tag: v1.9.0 migration: add-metadata-and-counters + tag: v1.9.0 - id: v1.8.0 - tag: v1.8.0 migration: add-metadata-and-counters + tag: v1.8.0 +imageName: ghcr.io/authzed/spicedb diff --git a/tools/generate-update-graph/main.go b/tools/generate-update-graph/main.go index b6dbd544..54f7cfeb 100644 --- a/tools/generate-update-graph/main.go +++ b/tools/generate-update-graph/main.go @@ -2,13 +2,12 @@ package main import ( "fmt" - "io" "os" "sort" "strings" "github.com/blang/semver/v4" - "github.com/goccy/go-yaml" + "sigs.k8s.io/yaml" "github.com/authzed/spicedb-operator/pkg/config" "github.com/authzed/spicedb-operator/pkg/updates" @@ -18,17 +17,17 @@ import ( // DatastoreConfig holds per-datastore configuration for a version. type DatastoreConfig struct { - Migration string `yaml:"migration,omitempty"` - Phase string `yaml:"phase,omitempty"` - Deprecated bool `yaml:"deprecated,omitempty"` - Waypoint bool `yaml:"waypoint,omitempty"` + Migration string + Phase string + Deprecated bool + Waypoint bool } // Version is a single entry in the versions YAML file. type Version struct { - ID string `yaml:"id"` - Tag string `yaml:"tag"` - Config map[string]DatastoreConfig `yaml:"config"` + ID string + Tag string + Config map[string]DatastoreConfig } func main() { @@ -55,20 +54,19 @@ func main() { } func readVersions(path string) ([]Version, error) { - f, err := os.Open(path) + data, err := os.ReadFile(path) if err != nil { return nil, err } - defer f.Close() - dec := yaml.NewDecoder(f) var versions []Version - for { + for _, doc := range strings.Split(string(data), "\n---\n") { + doc = strings.TrimSpace(doc) + if doc == "" { + continue + } var v Version - if err := dec.Decode(&v); err != nil { - if err == io.EOF { - break - } + if err := yaml.Unmarshal([]byte(doc), &v); err != nil { return nil, err } if v.ID != "" { diff --git a/tools/go.mod b/tools/go.mod index 76b7d6fd..484b9338 100644 --- a/tools/go.mod +++ b/tools/go.mod @@ -5,8 +5,8 @@ go 1.25.5 require ( github.com/authzed/spicedb-operator v0.0.0-00010101000000-000000000000 github.com/blang/semver/v4 v4.0.0 - github.com/goccy/go-yaml v1.19.2 github.com/stretchr/testify v1.11.1 + sigs.k8s.io/yaml v1.6.0 ) require ( @@ -58,7 +58,6 @@ require ( sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect - sigs.k8s.io/yaml v1.6.0 // indirect ) replace github.com/authzed/spicedb-operator => ../ diff --git a/tools/go.sum b/tools/go.sum index b3d6e21a..0dc5e6b2 100644 --- a/tools/go.sum +++ b/tools/go.sum @@ -28,8 +28,6 @@ github.com/go-openapi/swag v0.23.0 h1:vsEVJDUo2hPJ2tu0/Xc+4noaxyEffXNIs3cOULZ+Gr github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/goccy/go-yaml v1.19.2 h1:PmFC1S6h8ljIz6gMRBopkjP1TVT7xuwrButHID66PoM= -github.com/goccy/go-yaml v1.19.2/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= From b57b9d27903cad00a6df9ccd9422e3ecc1618dfc Mon Sep 17 00:00:00 2001 From: Tanner Stirrat Date: Thu, 7 May 2026 13:48:36 -0600 Subject: [PATCH 3/4] chore: refactor to reintroduce waypoint versions --- magefiles/versions.yaml | 8 + proposed-update-graph.yaml | 744 ------------------------------------- 2 files changed, 8 insertions(+), 744 deletions(-) diff --git a/magefiles/versions.yaml b/magefiles/versions.yaml index cb8c3077..753ca7cb 100644 --- a/magefiles/versions.yaml +++ b/magefiles/versions.yaml @@ -107,13 +107,17 @@ tag: v1.38.0 config: cockroachdb: migration: add-transaction-metadata-table + waypoint: true memory: {} mysql: migration: add_metadata_to_transaction_table + waypoint: true postgres: migration: add-metadata-to-transaction-table + waypoint: true spanner: migration: add-transaction-metadata-table + waypoint: true --- id: v1.37.1 tag: v1.37.1 @@ -133,13 +137,17 @@ tag: v1.36.2 config: cockroachdb: migration: add-integrity-relationtuple-table + waypoint: true memory: {} mysql: migration: add_relationship_counters_table + waypoint: true postgres: migration: create-relationships-counters-table + waypoint: true spanner: migration: add-relationship-counter-table + waypoint: true --- id: v1.35.3 tag: v1.35.3 diff --git a/proposed-update-graph.yaml b/proposed-update-graph.yaml index 8cf0d36b..985d9aa5 100644 --- a/proposed-update-graph.yaml +++ b/proposed-update-graph.yaml @@ -420,16 +420,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.30.0-phase1: - v1.30.0 - v1.31.0 @@ -438,107 +428,31 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.31.0: - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.32.0: - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.33.1: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.34.0: - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.35.3: - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.36.2: - v1.37.1 - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.37.1: - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.38.0: - v1.39.1 - v1.40.1 @@ -1886,16 +1800,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.7.1: - v1.8.0 - v1.9.0 @@ -1923,16 +1827,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.8.0: - v1.9.0 - v1.10.0 @@ -1959,16 +1853,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.9.0: - v1.10.0 - v1.11.0 @@ -1994,16 +1878,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.10.0: - v1.11.0 - v1.12.0 @@ -2028,16 +1902,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.11.0: - v1.12.0 - v1.13.0 @@ -2061,16 +1925,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.12.0: - v1.13.0 - v1.14.1 @@ -2093,16 +1947,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.13.0: - v1.14.1 - v1.15.0 @@ -2124,16 +1968,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.14.0: - v1.14.1 - v1.15.0 @@ -2155,16 +1989,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.14.1: - v1.15.0 - v1.16.2 @@ -2185,16 +2009,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.15.0: - v1.16.2 - v1.17.0 @@ -2214,16 +2028,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.16.0: - v1.16.2 - v1.17.0 @@ -2243,16 +2047,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.16.1: - v1.16.2 - v1.17.0 @@ -2272,16 +2066,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.16.2: - v1.17.0 - v1.18.0 @@ -2300,16 +2084,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.17.0: - v1.18.0 - v1.19.1 @@ -2327,16 +2101,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.18.0: - v1.19.1 - v1.21.0 @@ -2353,16 +2117,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.19.1: - v1.21.0 - v1.22.2 @@ -2378,16 +2132,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.21.0: - v1.22.2 - v1.23.1 @@ -2402,16 +2146,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.22.2: - v1.23.1 - v1.24.0 @@ -2425,16 +2159,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.23.1: - v1.24.0 - v1.25.0 @@ -2447,16 +2171,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.24.0: - v1.25.0 - v1.26.0 @@ -2468,16 +2182,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.25.0: - v1.26.0 - v1.29.5 @@ -2488,16 +2192,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.26.0: - v1.29.5 - v1.30.0 @@ -2507,16 +2201,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.29.5: - v1.30.0 - v1.31.0 @@ -2525,16 +2209,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.30.0: - v1.31.0 - v1.32.0 @@ -2542,107 +2216,31 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.31.0: - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.32.0: - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.33.1: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.34.0: - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.35.3: - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.36.2: - v1.37.1 - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.37.1: - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.38.0: - v1.39.1 - v1.40.1 @@ -2936,16 +2534,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.14.0-phase1: - v1.14.0-phase2 v1.14.0-phase2: @@ -2970,16 +2558,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.14.1: - v1.15.0 - v1.16.2 @@ -3000,16 +2578,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.15.0: - v1.16.2 - v1.17.0 @@ -3029,16 +2597,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.16.0: - v1.16.2 - v1.17.0 @@ -3058,16 +2616,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.16.1: - v1.16.2 - v1.17.0 @@ -3087,16 +2635,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.16.2: - v1.17.0 - v1.18.0 @@ -3115,16 +2653,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.17.0: - v1.18.0 - v1.19.1 @@ -3142,16 +2670,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.18.0: - v1.19.1 - v1.21.0 @@ -3168,16 +2686,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.19.1: - v1.21.0 - v1.22.2 @@ -3193,16 +2701,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.21.0: - v1.22.2 - v1.23.1 @@ -3217,16 +2715,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.22.2: - v1.23.1 - v1.24.0 @@ -3240,16 +2728,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.23.1: - v1.24.0 - v1.25.0 @@ -3262,16 +2740,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.24.0: - v1.25.0 - v1.26.0 @@ -3283,16 +2751,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.25.0: - v1.26.0 - v1.29.5 @@ -3303,16 +2761,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.26.0: - v1.29.5 - v1.30.0 @@ -3322,16 +2770,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.29.5: - v1.30.0 - v1.31.0 @@ -3340,16 +2778,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.30.0: - v1.31.0 - v1.32.0 @@ -3357,107 +2785,31 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.31.0: - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.32.0: - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.33.1: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.34.0: - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.35.3: - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.36.2: - v1.37.1 - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.37.1: - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.38.0: - v1.39.1 - v1.40.1 @@ -3818,16 +3170,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.29.5-phase1: - v1.29.5 - v1.30.0 @@ -3837,16 +3179,6 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.30.0: - v1.31.0 - v1.32.0 @@ -3854,107 +3186,31 @@ channels: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.31.0: - v1.32.0 - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.32.0: - v1.33.1 - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.33.1: - v1.34.0 - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.34.0: - v1.35.3 - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.35.3: - v1.36.2 - - v1.37.1 - - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.36.2: - v1.37.1 - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.37.1: - v1.38.0 - - v1.39.1 - - v1.40.1 - - v1.42.1 - - v1.45.4 - - v1.47.1 - - v1.48.0 - - v1.49.2 - - v1.51.1 v1.38.0: - v1.39.1 - v1.40.1 From 3b7f0d6ea5d06156dd6f58248681beba0ee85c8c Mon Sep 17 00:00:00 2001 From: Tanner Stirrat Date: Thu, 7 May 2026 13:48:36 -0600 Subject: [PATCH 4/4] chore: add some justifications for the diff --- diff-update-graphs.py | 133 ++ graph-diff-summary.md | 74 + old-proposed-update-graph.yaml | 3371 ++++++++++++++++++++++++++++++++ script-output.txt | 35 + 4 files changed, 3613 insertions(+) create mode 100644 diff-update-graphs.py create mode 100644 graph-diff-summary.md create mode 100644 old-proposed-update-graph.yaml create mode 100644 script-output.txt diff --git a/diff-update-graphs.py b/diff-update-graphs.py new file mode 100644 index 00000000..16dab8e4 --- /dev/null +++ b/diff-update-graphs.py @@ -0,0 +1,133 @@ +#!/usr/bin/env python3 +""" +Semantic diff of two update-graph YAML files. + +Treats the `channels` list as an unordered set keyed by (name, datastore metadata). +Reports per-channel differences in nodes and edges. + +Usage: + python3 diff-update-graphs.py + python3 diff-update-graphs.py # defaults to old-proposed-update-graph.yaml vs proposed-update-graph.yaml +""" + +import sys +import yaml + + +def load_graph(path): + with open(path) as f: + return yaml.safe_load(f) + + +def index_channels(graph): + idx = {} + for ch in graph.get("channels", []): + key = (ch["name"], ch.get("metadata", {}).get("datastore", "")) + idx[key] = ch + return idx + + +def semver_sort_key(s): + # Simple sort key: split on dots and dashes, numeric parts as ints + import re + return [int(p) if p.isdigit() else p for p in re.split(r"[.\-]", s.lstrip("v"))] + + +def diff_graphs(old_path, new_path): + old = load_graph(old_path) + new = load_graph(new_path) + + old_ch = index_channels(old) + new_ch = index_channels(new) + + old_keys = set(old_ch.keys()) + new_keys = set(new_ch.keys()) + + print(f"Comparing:\n OLD: {old_path}\n NEW: {new_path}\n") + + only_old = sorted(old_keys - new_keys) + only_new = sorted(new_keys - old_keys) + + if only_old: + print("=== Channels only in OLD ===") + for k in only_old: + print(f" {k}") + print() + + if only_new: + print("=== Channels only in NEW ===") + for k in only_new: + print(f" {k}") + print() + + print("=== Per-channel comparison ===") + any_diff = False + for key in sorted(old_keys & new_keys): + oc = old_ch[key] + nc = new_ch[key] + + old_nodes = {n["id"]: n for n in oc.get("nodes", [])} + new_nodes = {n["id"]: n for n in nc.get("nodes", [])} + + only_old_nodes = sorted(set(old_nodes) - set(new_nodes), key=semver_sort_key) + only_new_nodes = sorted(set(new_nodes) - set(old_nodes), key=semver_sort_key) + + old_edges = {k: set(v) for k, v in (oc.get("edges") or {}).items()} + new_edges = {k: set(v) for k, v in (nc.get("edges") or {}).items()} + + all_from_nodes = set(old_edges) | set(new_edges) + edge_diffs = {} + for fn in all_from_nodes: + oe = old_edges.get(fn, set()) + ne = new_edges.get(fn, set()) + only_old_e = sorted(oe - ne, key=semver_sort_key) + only_new_e = sorted(ne - oe, key=semver_sort_key) + if only_old_e or only_new_e: + edge_diffs[fn] = (only_old_e, only_new_e) + + # Node field-level diffs + field_diffs = {} + for nid in sorted(set(old_nodes) & set(new_nodes), key=semver_sort_key): + on = old_nodes[nid] + nn = new_nodes[nid] + diffs = {} + for f in set(on) | set(nn): + if on.get(f) != nn.get(f): + diffs[f] = (on.get(f), nn.get(f)) + if diffs: + field_diffs[nid] = diffs + + channel_label = f"{key[1]}/{key[0]}" + if not only_old_nodes and not only_new_nodes and not edge_diffs and not field_diffs: + print(f"\n {channel_label}: IDENTICAL") + else: + any_diff = True + print(f"\n {channel_label}: DIFFERS") + if only_old_nodes: + print(f" Nodes only in OLD: {only_old_nodes}") + if only_new_nodes: + print(f" Nodes only in NEW: {only_new_nodes}") + for fn in sorted(edge_diffs, key=semver_sort_key): + only_old_e, only_new_e = edge_diffs[fn] + if only_old_e: + print(f" Edge {fn} -> REMOVED targets: {only_old_e}") + if only_new_e: + print(f" Edge {fn} -> ADDED targets: {only_new_e}") + for nid, diffs in sorted(field_diffs.items(), key=lambda x: semver_sort_key(x[0])): + print(f" Node {nid} field diffs: {diffs}") + + if not any_diff and not only_old and not only_new: + print("\nGraphs are SEMANTICALLY EQUIVALENT (order-agnostic).") + + +if __name__ == "__main__": + if len(sys.argv) == 3: + old_path, new_path = sys.argv[1], sys.argv[2] + elif len(sys.argv) == 1: + old_path = "old-proposed-update-graph.yaml" + new_path = "proposed-update-graph.yaml" + else: + print("Usage: diff-update-graphs.py [ ]") + sys.exit(1) + + diff_graphs(old_path, new_path) diff --git a/graph-diff-summary.md b/graph-diff-summary.md new file mode 100644 index 00000000..f044d495 --- /dev/null +++ b/graph-diff-summary.md @@ -0,0 +1,74 @@ +# Update Graph Diff: old-proposed-update-graph.yaml vs proposed-update-graph.yaml + +The graphs are **not fully equivalent**. Below is every difference found. + +--- + +## `memory/stable`: IDENTICAL — no differences. + +--- + +## All four DB channels: `v1.37.1` edge set differs + +All of cockroachdb, mysql, postgres, and spanner are affected. + +| Graph | `v1.37.1` edges to | +|-------|-------------------| +| Old | `v1.38.0, v1.39.1, v1.40.1, v1.42.1, v1.45.4, v1.47.1, v1.48.0, v1.49.2, v1.51.1` | +| New | `v1.38.0` only | + +The old code let `v1.37.1` skip past `v1.38.0`; the new waypoint algorithm blocks that +because `v1.38.0` is now a mandatory stop (`waypoint: true`). + +--- + +## Phase nodes have broader outgoing edges in the new graph + +The old code treated phase nodes as strict "step through me to the immediate next version" +nodes. The new waypoint algorithm allows phase nodes to reach any target up to (but not +past) the next waypoint. Affected nodes: + +- **`cockroachdb/stable`**: `v1.30.0-phase1` + - Old: only `→ v1.30.0` + - New: `→ v1.30.0` through `v1.36.2` +- **`postgres/stable`**: `v1.14.0-phase2` + - Old: only `→ v1.14.0` + - New: `→ v1.14.0` through `v1.36.2` +- **`spanner/stable`**: `v1.22.2-phase2` and `v1.29.5-phase1` + - Old: each pointed only to the immediate next version + - New: each can reach further (up to the `v1.38.0` waypoint) + +--- + +## `spanner/stable`: `v1.51.1` node missing from old graph + +The old graph encoded the latest spanner version as a quirk: node `v1.49.2` had `tag: +v1.51.1`. The new graph correctly has `v1.49.2` with `tag: v1.49.2` and a separate +`v1.51.1` node, which adds outgoing edges from all existing spanner nodes to `v1.51.1`. + +--- + +## Node field differences + +| Channel | Node | Field | Old value | New value | +|---------|------|-------|-----------|-----------| +| `cockroachdb/stable` | `v1.30.0-phase1` | `phase` | missing | `write-both-read-new` | +| `spanner/stable` | `v1.29.5-phase1` | `phase` | missing | `write-both-read-new` | +| `spanner/stable` | `v1.49.2` | `tag` | `v1.51.1` | `v1.49.2` | + +--- + +## Bottom line + +The graphs differ in four ways: + +1. **`v1.37.1` edge narrowing** (all DB channels) — likely correct; `v1.38.0` is now a + hard waypoint. +2. **Phase-node outgoing edge expansion** — semantic change: old code was "phase node → + immediate next release only"; new algorithm is "phase node → anything up to the next + waypoint". Whether multi-hop skips from a phase node are safe depends on whether + those intermediate versions require a migration stop. +3. **`spanner/stable` `v1.51.1` node added** — likely a bug fix in the old graph where + `v1.49.2` was carrying the wrong tag. +4. **`phase` field missing on phase nodes in old graph** — old serialization omitted the + `phase` field from those nodes; new graph includes it. diff --git a/old-proposed-update-graph.yaml b/old-proposed-update-graph.yaml new file mode 100644 index 00000000..5a330f3f --- /dev/null +++ b/old-proposed-update-graph.yaml @@ -0,0 +1,3371 @@ +channels: +- edges: + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.5.0: + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.6.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.11.0: + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.12.0: + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.13.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.14.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.14.1: + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.15.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.16.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.16.1: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.16.2: + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.17.0: + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.18.0: + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.19.1: + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.21.0: + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.22.2: + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.23.1: + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.24.0: + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.25.0: + - v1.26.0 + - v1.29.5 + - v1.30.0-phase1 + v1.26.0: + - v1.29.5 + - v1.30.0-phase1 + v1.29.5: + - v1.30.0-phase1 + v1.30.0: + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.30.0-phase1: + - v1.30.0 + v1.31.0: + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.32.0: + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.33.1: + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.34.0: + - v1.35.3 + - v1.36.2 + v1.35.3: + - v1.36.2 + v1.36.2: + - v1.37.1 + - v1.38.0 + v1.37.1: + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.38.0: + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.39.1: + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + metadata: + datastore: cockroachdb + default: "true" + name: stable + nodes: + - id: v1.51.1 + migration: add-expiration-support + tag: v1.51.1 + - id: v1.49.2 + migration: add-expiration-support + tag: v1.49.2 + - id: v1.48.0 + migration: add-expiration-support + tag: v1.48.0 + - id: v1.47.1 + migration: add-expiration-support + tag: v1.47.1 + - id: v1.45.4 + migration: add-expiration-support + tag: v1.45.4 + - id: v1.42.1 + migration: add-expiration-support + tag: v1.42.1 + - id: v1.40.1 + migration: add-expiration-support + tag: v1.40.1 + - id: v1.39.1 + migration: add-transaction-metadata-table + tag: v1.39.1 + - id: v1.38.0 + migration: add-transaction-metadata-table + tag: v1.38.0 + - id: v1.37.1 + migration: add-integrity-relationtuple-table + tag: v1.37.1 + - id: v1.36.2 + migration: add-integrity-relationtuple-table + tag: v1.36.2 + - id: v1.35.3 + migration: add-relationship-counters-table + tag: v1.35.3 + - id: v1.34.0 + migration: add-relationship-counters-table + tag: v1.34.0 + - id: v1.33.1 + migration: remove-stats-table + tag: v1.33.1 + - id: v1.32.0 + migration: remove-stats-table + tag: v1.32.0 + - id: v1.31.0 + migration: remove-stats-table + tag: v1.31.0 + - id: v1.30.0 + migration: remove-stats-table + tag: v1.30.0 + - id: v1.30.0-phase1 + migration: add-caveats + tag: v1.30.0 + - id: v1.29.5 + migration: add-caveats + tag: v1.29.5 + - id: v1.26.0 + migration: add-caveats + tag: v1.26.0 + - id: v1.25.0 + migration: add-caveats + tag: v1.25.0 + - id: v1.24.0 + migration: add-caveats + tag: v1.24.0 + - id: v1.23.1 + migration: add-caveats + tag: v1.23.1 + - id: v1.22.2 + migration: add-caveats + tag: v1.22.2 + - id: v1.21.0 + migration: add-caveats + tag: v1.21.0 + - id: v1.19.1 + migration: add-caveats + tag: v1.19.1 + - id: v1.18.0 + migration: add-caveats + tag: v1.18.0 + - id: v1.17.0 + migration: add-caveats + tag: v1.17.0 + - id: v1.16.2 + migration: add-caveats + tag: v1.16.2 + - id: v1.16.1 + migration: add-caveats + tag: v1.16.1 + - id: v1.16.0 + migration: add-caveats + tag: v1.16.0 + - id: v1.15.0 + migration: add-caveats + tag: v1.15.0 + - id: v1.14.1 + migration: add-caveats + tag: v1.14.1 + - id: v1.14.0 + migration: add-caveats + tag: v1.14.0 + - id: v1.13.0 + migration: add-metadata-and-counters + tag: v1.13.0 + - id: v1.12.0 + migration: add-metadata-and-counters + tag: v1.12.0 + - id: v1.11.0 + migration: add-metadata-and-counters + tag: v1.11.0 + - id: v1.10.0 + migration: add-metadata-and-counters + tag: v1.10.0 + - id: v1.9.0 + migration: add-metadata-and-counters + tag: v1.9.0 + - id: v1.8.0 + migration: add-metadata-and-counters + tag: v1.8.0 + - id: v1.7.1 + migration: add-metadata-and-counters + tag: v1.7.1 + - id: v1.7.0 + migration: add-metadata-and-counters + tag: v1.7.0 + - id: v1.6.0 + migration: add-metadata-and-counters + tag: v1.6.0 + - id: v1.5.0 + migration: add-transactions-table + tag: v1.5.0 + - id: v1.4.0 + migration: add-transactions-table + tag: v1.4.0 + - id: v1.3.0 + migration: add-transactions-table + tag: v1.3.0 + - id: v1.2.0 + migration: add-transactions-table + tag: v1.2.0 +- edges: + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.5.0: + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.6.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.11.0: + - v1.12.0 + - v1.13.0 + - v1.14.0-phase1 + v1.12.0: + - v1.13.0 + - v1.14.0-phase1 + v1.13.0: + - v1.14.0-phase1 + v1.14.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.14.0-phase1: + - v1.14.0-phase2 + v1.14.0-phase2: + - v1.14.0 + v1.14.1: + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.15.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.16.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.16.1: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.16.2: + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.17.0: + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.18.0: + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.19.1: + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.21.0: + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.22.2: + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.23.1: + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.24.0: + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.25.0: + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.26.0: + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.29.5: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.30.0: + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.31.0: + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.32.0: + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.33.1: + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.34.0: + - v1.35.3 + - v1.36.2 + v1.35.3: + - v1.36.2 + v1.36.2: + - v1.37.1 + - v1.38.0 + v1.37.1: + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.38.0: + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.39.1: + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + metadata: + datastore: postgres + default: "true" + name: stable + nodes: + - id: v1.51.1 + migration: add-index-for-transaction-gc + tag: v1.51.1 + - id: v1.49.2 + migration: add-index-for-transaction-gc + tag: v1.49.2 + - id: v1.48.0 + migration: add-index-for-transaction-gc + tag: v1.48.0 + - id: v1.47.1 + migration: add-index-for-transaction-gc + tag: v1.47.1 + - id: v1.45.4 + migration: add-index-for-transaction-gc + tag: v1.45.4 + - id: v1.42.1 + migration: add-index-for-transaction-gc + tag: v1.42.1 + - id: v1.40.1 + migration: add-index-for-transaction-gc + tag: v1.40.1 + - id: v1.39.1 + migration: add-watch-api-index-to-relation-tuple-table + tag: v1.39.1 + - id: v1.38.0 + migration: add-metadata-to-transaction-table + tag: v1.38.0 + - id: v1.37.1 + migration: create-relationships-counters-table + tag: v1.37.1 + - id: v1.36.2 + migration: create-relationships-counters-table + tag: v1.36.2 + - id: v1.35.3 + migration: create-relationships-counters-table + tag: v1.35.3 + - id: v1.34.0 + migration: create-relationships-counters-table + tag: v1.34.0 + - id: v1.33.1 + migration: add-rel-by-alive-resource-relation-subject + tag: v1.33.1 + - id: v1.32.0 + migration: add-rel-by-alive-resource-relation-subject + tag: v1.32.0 + - id: v1.31.0 + migration: add-rel-by-alive-resource-relation-subject + tag: v1.31.0 + - id: v1.30.0 + migration: add-rel-by-alive-resource-relation-subject + tag: v1.30.0 + - id: v1.29.5 + migration: add-rel-by-alive-resource-relation-subject + tag: v1.29.5 + - id: v1.26.0 + migration: add-rel-by-alive-resource-relation-subject + tag: v1.26.0 + - id: v1.25.0 + migration: add-gc-covering-index + tag: v1.25.0 + - id: v1.24.0 + migration: add-gc-covering-index + tag: v1.24.0 + - id: v1.23.1 + migration: add-gc-covering-index + tag: v1.23.1 + - id: v1.22.2 + migration: add-gc-covering-index + tag: v1.22.2 + - id: v1.21.0 + migration: add-gc-covering-index + tag: v1.21.0 + - id: v1.19.1 + migration: add-gc-covering-index + tag: v1.19.1 + - id: v1.18.0 + migration: drop-bigserial-ids + tag: v1.18.0 + - id: v1.17.0 + migration: drop-bigserial-ids + tag: v1.17.0 + - id: v1.16.2 + migration: drop-bigserial-ids + tag: v1.16.2 + - id: v1.16.1 + migration: drop-bigserial-ids + tag: v1.16.1 + - id: v1.16.0 + migration: drop-bigserial-ids + tag: v1.16.0 + - id: v1.15.0 + migration: drop-bigserial-ids + tag: v1.15.0 + - id: v1.14.1 + migration: drop-bigserial-ids + tag: v1.14.1 + - id: v1.14.0 + migration: drop-bigserial-ids + tag: v1.14.0 + - id: v1.14.0-phase2 + migration: add-xid-constraints + phase: write-both-read-new + tag: v1.14.0 + - id: v1.14.0-phase1 + migration: add-xid-columns + phase: write-both-read-old + tag: v1.14.0 + - id: v1.13.0 + migration: add-ns-config-id + tag: v1.13.0 + - id: v1.12.0 + migration: add-ns-config-id + tag: v1.12.0 + - id: v1.11.0 + migration: add-ns-config-id + tag: v1.11.0 + - id: v1.10.0 + migration: add-ns-config-id + tag: v1.10.0 + - id: v1.9.0 + migration: add-unique-datastore-id + tag: v1.9.0 + - id: v1.8.0 + migration: add-unique-datastore-id + tag: v1.8.0 + - id: v1.7.1 + migration: add-unique-datastore-id + tag: v1.7.1 + - id: v1.7.0 + migration: add-unique-datastore-id + tag: v1.7.0 + - id: v1.6.0 + migration: add-unique-datastore-id + tag: v1.6.0 + - id: v1.5.0 + migration: add-transaction-timestamp-index + tag: v1.5.0 + - id: v1.4.0 + migration: add-transaction-timestamp-index + tag: v1.4.0 + - id: v1.3.0 + migration: add-transaction-timestamp-index + tag: v1.3.0 + - id: v1.2.0 + migration: add-transaction-timestamp-index + tag: v1.2.0 +- edges: + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.11.0: + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.12.0: + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.13.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.14.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.14.1: + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.15.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.16.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.16.1: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.16.2: + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.17.0: + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.18.0: + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.19.1: + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.21.0: + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.22.2: + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.23.1: + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.24.0: + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.25.0: + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.26.0: + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.29.5: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.30.0: + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.31.0: + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.32.0: + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.33.1: + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.34.0: + - v1.35.3 + - v1.36.2 + v1.35.3: + - v1.36.2 + v1.36.2: + - v1.37.1 + - v1.38.0 + v1.37.1: + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.38.0: + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.39.1: + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + metadata: + datastore: mysql + default: "true" + name: stable + nodes: + - id: v1.51.1 + migration: add_expiration_to_relation_tuple + tag: v1.51.1 + - id: v1.49.2 + migration: add_expiration_to_relation_tuple + tag: v1.49.2 + - id: v1.48.0 + migration: add_expiration_to_relation_tuple + tag: v1.48.0 + - id: v1.47.1 + migration: add_expiration_to_relation_tuple + tag: v1.47.1 + - id: v1.45.4 + migration: add_expiration_to_relation_tuple + tag: v1.45.4 + - id: v1.42.1 + migration: add_expiration_to_relation_tuple + tag: v1.42.1 + - id: v1.40.1 + migration: add_expiration_to_relation_tuple + tag: v1.40.1 + - id: v1.39.1 + migration: add_metadata_to_transaction_table + tag: v1.39.1 + - id: v1.38.0 + migration: add_metadata_to_transaction_table + tag: v1.38.0 + - id: v1.37.1 + migration: add_relationship_counters_table + tag: v1.37.1 + - id: v1.36.2 + migration: add_relationship_counters_table + tag: v1.36.2 + - id: v1.35.3 + migration: add_relationship_counters_table + tag: v1.35.3 + - id: v1.34.0 + migration: add_relationship_counters_table + tag: v1.34.0 + - id: v1.33.1 + migration: watch_api_relation_tuple_index + tag: v1.33.1 + - id: v1.32.0 + migration: watch_api_relation_tuple_index + tag: v1.32.0 + - id: v1.31.0 + migration: watch_api_relation_tuple_index + tag: v1.31.0 + - id: v1.30.0 + migration: watch_api_relation_tuple_index + tag: v1.30.0 + - id: v1.29.5 + migration: watch_api_relation_tuple_index + tag: v1.29.5 + - id: v1.26.0 + migration: longblob_definitions + tag: v1.26.0 + - id: v1.25.0 + migration: longblob_definitions + tag: v1.25.0 + - id: v1.24.0 + migration: extend_object_id + tag: v1.24.0 + - id: v1.23.1 + migration: extend_object_id + tag: v1.23.1 + - id: v1.22.2 + migration: extend_object_id + tag: v1.22.2 + - id: v1.21.0 + migration: extend_object_id + tag: v1.21.0 + - id: v1.19.1 + migration: add_caveat + tag: v1.19.1 + - id: v1.18.0 + migration: add_caveat + tag: v1.18.0 + - id: v1.17.0 + migration: add_caveat + tag: v1.17.0 + - id: v1.16.2 + migration: add_caveat + tag: v1.16.2 + - id: v1.16.1 + migration: add_caveat + tag: v1.16.1 + - id: v1.16.0 + migration: add_caveat + tag: v1.16.0 + - id: v1.15.0 + migration: add_caveat + tag: v1.15.0 + - id: v1.14.1 + migration: add_caveat + tag: v1.14.1 + - id: v1.14.0 + migration: add_caveat + tag: v1.14.0 + - id: v1.13.0 + migration: add_ns_config_id + tag: v1.13.0 + - id: v1.12.0 + migration: add_ns_config_id + tag: v1.12.0 + - id: v1.11.0 + migration: add_ns_config_id + tag: v1.11.0 + - id: v1.10.0 + migration: add_ns_config_id + tag: v1.10.0 + - id: v1.9.0 + migration: add_unique_datastore_id + tag: v1.9.0 + - id: v1.8.0 + migration: add_unique_datastore_id + tag: v1.8.0 + - id: v1.7.1 + migration: add_unique_datastore_id + tag: v1.7.1 + - id: v1.7.0 + migration: add_unique_datastore_id + tag: v1.7.0 +- edges: + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.11.0: + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.12.0: + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.13.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.14.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.14.1: + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.15.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.16.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.16.1: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.16.2: + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.17.0: + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.18.0: + - v1.19.1 + - v1.21.0 + - v1.22.2-phase1 + v1.19.1: + - v1.21.0 + - v1.22.2-phase1 + v1.21.0: + - v1.22.2-phase1 + v1.22.2: + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5-phase1 + v1.22.2-phase1: + - v1.22.2-phase2 + v1.22.2-phase2: + - v1.22.2 + v1.23.1: + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5-phase1 + v1.24.0: + - v1.25.0 + - v1.26.0 + - v1.29.5-phase1 + v1.25.0: + - v1.26.0 + - v1.29.5-phase1 + v1.26.0: + - v1.29.5-phase1 + v1.29.5: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.29.5-phase1: + - v1.29.5 + v1.30.0: + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.31.0: + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.32.0: + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.33.1: + - v1.34.0 + - v1.35.3 + - v1.36.2 + v1.34.0: + - v1.35.3 + - v1.36.2 + v1.35.3: + - v1.36.2 + v1.36.2: + - v1.37.1 + - v1.38.0 + v1.37.1: + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + v1.38.0: + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + v1.39.1: + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + v1.47.1: + - v1.48.0 + - v1.49.2 + v1.48.0: + - v1.49.2 + metadata: + datastore: spanner + default: "true" + name: stable + nodes: + - id: v1.49.2 + migration: add-expiration-support + tag: v1.51.1 + - id: v1.48.0 + migration: add-expiration-support + tag: v1.48.0 + - id: v1.47.1 + migration: add-expiration-support + tag: v1.47.1 + - id: v1.45.4 + migration: add-expiration-support + tag: v1.45.4 + - id: v1.42.1 + migration: add-expiration-support + tag: v1.42.1 + - id: v1.40.1 + migration: add-expiration-support + tag: v1.40.1 + - id: v1.39.1 + migration: add-transaction-metadata-table + tag: v1.39.1 + - id: v1.38.0 + migration: add-transaction-metadata-table + tag: v1.38.0 + - id: v1.37.1 + migration: add-relationship-counter-table + tag: v1.37.1 + - id: v1.36.2 + migration: add-relationship-counter-table + tag: v1.36.2 + - id: v1.35.3 + migration: add-relationship-counter-table + tag: v1.35.3 + - id: v1.34.0 + migration: add-relationship-counter-table + tag: v1.34.0 + - id: v1.33.1 + migration: delete-older-changestreams + tag: v1.33.1 + - id: v1.32.0 + migration: delete-older-changestreams + tag: v1.32.0 + - id: v1.31.0 + migration: delete-older-changestreams + tag: v1.31.0 + - id: v1.30.0 + migration: delete-older-changestreams + tag: v1.30.0 + - id: v1.29.5 + migration: delete-older-changestreams + tag: v1.29.5 + - id: v1.29.5-phase1 + migration: register-combined-change-stream + tag: v1.29.5 + - id: v1.26.0 + migration: drop-changelog-table + tag: v1.26.0 + - id: v1.25.0 + migration: drop-changelog-table + tag: v1.25.0 + - id: v1.24.0 + migration: drop-changelog-table + tag: v1.24.0 + - id: v1.23.1 + migration: drop-changelog-table + tag: v1.23.1 + - id: v1.22.2 + migration: drop-changelog-table + tag: v1.22.2 + - id: v1.22.2-phase2 + migration: register-tuple-change-stream + phase: write-changelog-read-stream + tag: v1.22.2 + - id: v1.22.2-phase1 + migration: register-tuple-change-stream + phase: write-changelog-read-changelog + tag: v1.22.2 + - id: v1.21.0 + migration: add-caveats + tag: v1.21.0 + - id: v1.19.1 + migration: add-caveats + tag: v1.19.1 + - id: v1.18.0 + migration: add-caveats + tag: v1.18.0 + - id: v1.17.0 + migration: add-caveats + tag: v1.17.0 + - id: v1.16.2 + migration: add-caveats + tag: v1.16.2 + - id: v1.16.1 + migration: add-caveats + tag: v1.16.1 + - id: v1.16.0 + migration: add-caveats + tag: v1.16.0 + - id: v1.15.0 + migration: add-caveats + tag: v1.15.0 + - id: v1.14.1 + migration: add-caveats + tag: v1.14.1 + - id: v1.14.0 + migration: add-caveats + tag: v1.14.0 + - id: v1.13.0 + migration: add-metadata-and-counters + tag: v1.13.0 + - id: v1.12.0 + migration: add-metadata-and-counters + tag: v1.12.0 + - id: v1.11.0 + migration: add-metadata-and-counters + tag: v1.11.0 + - id: v1.10.0 + migration: add-metadata-and-counters + tag: v1.10.0 + - id: v1.9.0 + migration: add-metadata-and-counters + tag: v1.9.0 + - id: v1.8.0 + migration: add-metadata-and-counters + tag: v1.8.0 +- edges: + v1.2.0: + - v1.3.0 + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.3.0: + - v1.4.0 + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.4.0: + - v1.5.0 + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.5.0: + - v1.6.0 + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.6.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.7.0: + - v1.7.1 + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.7.1: + - v1.8.0 + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.8.0: + - v1.9.0 + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.9.0: + - v1.10.0 + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.10.0: + - v1.11.0 + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.11.0: + - v1.12.0 + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.12.0: + - v1.13.0 + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.13.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.14.0: + - v1.14.1 + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.14.1: + - v1.15.0 + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.15.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.16.0: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.16.1: + - v1.16.2 + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.16.2: + - v1.17.0 + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.17.0: + - v1.18.0 + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.18.0: + - v1.19.1 + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.19.1: + - v1.21.0 + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.21.0: + - v1.22.2 + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.22.2: + - v1.23.1 + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.23.1: + - v1.24.0 + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.24.0: + - v1.25.0 + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.25.0: + - v1.26.0 + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.26.0: + - v1.29.5 + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.29.5: + - v1.30.0 + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.30.0: + - v1.31.0 + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.31.0: + - v1.32.0 + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.32.0: + - v1.33.1 + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.33.1: + - v1.34.0 + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.34.0: + - v1.35.3 + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.35.3: + - v1.36.2 + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.36.2: + - v1.37.1 + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.37.1: + - v1.38.0 + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.38.0: + - v1.39.1 + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.39.1: + - v1.40.1 + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.40.1: + - v1.42.1 + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.42.1: + - v1.45.4 + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.45.4: + - v1.47.1 + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.47.1: + - v1.48.0 + - v1.49.2 + - v1.51.1 + v1.48.0: + - v1.49.2 + - v1.51.1 + v1.49.2: + - v1.51.1 + metadata: + datastore: memory + default: "true" + name: stable + nodes: + - id: v1.51.1 + tag: v1.51.1 + - id: v1.49.2 + tag: v1.49.2 + - id: v1.48.0 + tag: v1.48.0 + - id: v1.47.1 + tag: v1.47.1 + - id: v1.45.4 + tag: v1.45.4 + - id: v1.42.1 + tag: v1.42.1 + - id: v1.40.1 + tag: v1.40.1 + - id: v1.39.1 + tag: v1.39.1 + - id: v1.38.0 + tag: v1.38.0 + - id: v1.37.1 + tag: v1.37.1 + - id: v1.36.2 + tag: v1.36.2 + - id: v1.35.3 + tag: v1.35.3 + - id: v1.34.0 + tag: v1.34.0 + - id: v1.33.1 + tag: v1.33.1 + - id: v1.32.0 + tag: v1.32.0 + - id: v1.31.0 + tag: v1.31.0 + - id: v1.30.0 + tag: v1.30.0 + - id: v1.29.5 + tag: v1.29.5 + - id: v1.26.0 + tag: v1.26.0 + - id: v1.25.0 + tag: v1.25.0 + - id: v1.24.0 + tag: v1.24.0 + - id: v1.23.1 + tag: v1.23.1 + - id: v1.22.2 + tag: v1.22.2 + - id: v1.21.0 + tag: v1.21.0 + - id: v1.19.1 + tag: v1.19.1 + - id: v1.18.0 + tag: v1.18.0 + - id: v1.17.0 + tag: v1.17.0 + - id: v1.16.2 + tag: v1.16.2 + - id: v1.16.1 + tag: v1.16.1 + - id: v1.16.0 + tag: v1.16.0 + - id: v1.15.0 + tag: v1.15.0 + - id: v1.14.1 + tag: v1.14.1 + - id: v1.14.0 + tag: v1.14.0 + - id: v1.13.0 + tag: v1.13.0 + - id: v1.12.0 + tag: v1.12.0 + - id: v1.11.0 + tag: v1.11.0 + - id: v1.10.0 + tag: v1.10.0 + - id: v1.9.0 + tag: v1.9.0 + - id: v1.8.0 + tag: v1.8.0 + - id: v1.7.1 + tag: v1.7.1 + - id: v1.7.0 + tag: v1.7.0 + - id: v1.6.0 + tag: v1.6.0 + - id: v1.5.0 + tag: v1.5.0 + - id: v1.4.0 + tag: v1.4.0 + - id: v1.3.0 + tag: v1.3.0 + - id: v1.2.0 + tag: v1.2.0 +imageName: ghcr.io/authzed/spicedb diff --git a/script-output.txt b/script-output.txt new file mode 100644 index 00000000..ca3817d3 --- /dev/null +++ b/script-output.txt @@ -0,0 +1,35 @@ +Comparing: + OLD: old-proposed-update-graph.yaml + NEW: proposed-update-graph.yaml + +=== Per-channel comparison === + + cockroachdb/stable: DIFFERS + Edge v1.30.0-phase1 -> ADDED targets: ['v1.31.0', 'v1.32.0', 'v1.33.1', 'v1.34.0', 'v1.35.3', 'v1.36.2'] + Edge v1.37.1 -> REMOVED targets: ['v1.39.1', 'v1.40.1', 'v1.42.1', 'v1.45.4', 'v1.47.1', 'v1.48.0', 'v1.49.2', 'v1.51.1'] + Node v1.30.0-phase1 field diffs: {'phase': (None, 'write-both-read-new')} + + memory/stable: IDENTICAL + + mysql/stable: DIFFERS + Edge v1.37.1 -> REMOVED targets: ['v1.39.1', 'v1.40.1', 'v1.42.1', 'v1.45.4', 'v1.47.1', 'v1.48.0', 'v1.49.2', 'v1.51.1'] + + postgres/stable: DIFFERS + Edge v1.14.0-phase2 -> ADDED targets: ['v1.14.1', 'v1.15.0', 'v1.16.2', 'v1.17.0', 'v1.18.0', 'v1.19.1', 'v1.21.0', 'v1.22.2', 'v1.23.1', 'v1.24.0', 'v1.25.0', 'v1.26.0', 'v1.29.5', 'v1.30.0', 'v1.31.0', 'v1.32.0', 'v1.33.1', 'v1.34.0', 'v1.35.3', 'v1.36.2'] + Edge v1.37.1 -> REMOVED targets: ['v1.39.1', 'v1.40.1', 'v1.42.1', 'v1.45.4', 'v1.47.1', 'v1.48.0', 'v1.49.2', 'v1.51.1'] + + spanner/stable: DIFFERS + Nodes only in NEW: ['v1.51.1'] + Edge v1.22.2-phase2 -> ADDED targets: ['v1.23.1', 'v1.24.0', 'v1.25.0', 'v1.26.0', 'v1.29.5-phase1'] + Edge v1.29.5-phase1 -> ADDED targets: ['v1.30.0', 'v1.31.0', 'v1.32.0', 'v1.33.1', 'v1.34.0', 'v1.35.3', 'v1.36.2'] + Edge v1.37.1 -> REMOVED targets: ['v1.39.1', 'v1.40.1', 'v1.42.1', 'v1.45.4', 'v1.47.1', 'v1.48.0', 'v1.49.2'] + Edge v1.38.0 -> ADDED targets: ['v1.51.1'] + Edge v1.39.1 -> ADDED targets: ['v1.51.1'] + Edge v1.40.1 -> ADDED targets: ['v1.51.1'] + Edge v1.42.1 -> ADDED targets: ['v1.51.1'] + Edge v1.45.4 -> ADDED targets: ['v1.51.1'] + Edge v1.47.1 -> ADDED targets: ['v1.51.1'] + Edge v1.48.0 -> ADDED targets: ['v1.51.1'] + Edge v1.49.2 -> ADDED targets: ['v1.51.1'] + Node v1.29.5-phase1 field diffs: {'phase': (None, 'write-both-read-new')} + Node v1.49.2 field diffs: {'tag': ('v1.51.1', 'v1.49.2')}