Releases: dsx-ai-factory/topograph
Releases · dsx-ai-factory/topograph
Release list
v1.0.0
What's Changed
- chore(fern): register v0.5.0 by @github-actions[bot] in #373
- fix(helm): point node-observer at rendered service name by @dmitsh in #376
- fix(provider/lambdai): align client with the Lambda topology API by @alaski-lambda in #374
- feat(provider/lambdai): Kubernetes node-data-broker support by @alaski-lambda in #375
- chore(docker): add OCI image labels and chart metadata by @giuliocalzo in #377
- ci(go): add govulncheck and bump Go to 1.25.11 by @giuliocalzo in #378
- fix(slinky): consolidate and guard pod-to-SLURM node name resolution by @faganihajizada in #380
- feat(engine/slinky): report why useGpuCliqueLabel found no matching nodes by @giuliocalzo in #379
- feat(engine/slinky): discover partitions via the controller pod by @giuliocalzo in #362
- feat(helm): add container customization hooks by @giuliocalzo in #381
- chore(go): bump Go toolchain to 1.26.5 by @dmitsh in #395
- refactor(models): simplify simulation model schema by @dmitsh in #394
- fix(chart): drop unused RBAC verbs from API server and node-data-broker ClusterRoles by @ArangoGutierrez in #384
- docs(changelog): add missed unreleased entries by @dmitsh in #396
- docs(dra): attribute gpu.clique label to GPU Feature Discovery, not the DRA driver by @hjchoi0330 in #391
- fix(chart): tighten node-observer ClusterRole (drop unused get, gate node access) by @ArangoGutierrez in #385
- feat(chart)!: harden default pod security context to restricted PSS by @ArangoGutierrez in #392
- refactor(helm): fold node components into main chart by @dmitsh in #398
- fix(models): distinguish hostnames from instance IDs by @dmitsh in #401
- fix(node-observer): gate topology generation on broker readiness by @dmitsh in #400
- feat(kwok): generate KWOK nodes from topology models by @dmitsh in #397
- docs(design): propose NFD engine for topology groups by @dmitsh in #382
- pre-release v0.6.0-alpha.1 by @dmitsh in #406
- fix(models): synthesize omitted leaf switches by @dmitsh in #409
- feat(engine/nfd): publish topology as NFD custom resources by @dmitsh in #402
- feat(topology): support variable network fabric tiers by @dmitsh in #411
- fix(slurm): update topology trigger provider list by @dmitsh in #414
- fix(deps): upgrade golang.org/x/text to v0.39.0 by @dmitsh in #418
- fix(provider/dra): match nodes by annotated instance ID by @dmitsh in #405
- build(deps): bump google.golang.org/grpc from 1.81.1 to 1.82.1 by @dependabot[bot] in #420
- feat(demos): add interactive Kubernetes deployment demos by @dmitsh in #417
- docs(dra): clarify Slinky scope and fabric limitations by @dmitsh in #419
- ci(docker): upgrade actions to Node.js 24 by @dmitsh in #426
- feat(slurm): derive block names from node names by @dmitsh in #425
- fix(slinky): reduce Kubernetes API throttling by @dmitsh in #427
- ci(helm): upgrade setup-helm action to Node.js 24 by @dmitsh in #428
- feat(provider/oci): add rack-aware accelerator domains by @dmitsh in #429
- refactor(models): use annotations for simulation topology metadata by @dmitsh in #430
- Add opt-in ValidatingAdmissionPolicy for node-data-broker by @Shankar-v27 in #410
- ci(k8s): add kind integration tests for simulated providers by @dmitsh in #434
- feat(demos): add OCI simulation Slinky demo by @dmitsh in #435
- fix(k8s): reduce client-side throttling and centralize Kubernetes client rate limits by @dmitsh in #438
- fix(ci): wait for Slinky admission webhook readiness by @dmitsh in #444
- fix(ci): wait for Slinky admission TLS listener by @dmitsh in #447
- refactor(node-observer): reconcile topology with workqueue by @dmitsh in #446
- feat(provider/lambdai): add Kubernetes workload identity auth by @alaski-lambda in #440
- fix: Security Hardening by @ravisoundar in #448
- fix(aws): use default credential chain by @olegleyz in #403
- feat: Dual-level accelerated domain support - Design and Prototype by @ravisoundar in #416
- chore(release): prepare v1.0.0-rc.1 by @dmitsh in #450
- chore(coderabbit): strengthen automated PR reviews by @dmitsh in #453
- chore(docs): update diagrams by @dmitsh in #451
- chore: fix minor issues by @dmitsh in #454
- chore(release): prepare v1.0.0-rc.2 by @dmitsh in #455
- feat(k8s): use vendor-neutral topology label domains by @dmitsh in #456
- fix(infiniband): make accelerator discovery pluggable by @dmitsh in #457
- feat(engines): make accelerator domain source labels configurable by @dmitsh in #460
- refactor(providers): share Kubernetes accelerator discovery by @dmitsh in #462
- fix(provider/oci): prevent repeated pagination loops by @dmitsh in #464
- feat(topology): migrate metadata keys to topograph.run by @dmitsh in #465
- build(go): upgrade toolchain to 1.26.6 by @dmitsh in #467
- fix(translate): reject empty block size inference by @dmitsh in #469
- fix(provider/lambdai): name the real credential problem by @alaski-lambda in #471
- fix(provider/lambdai): follow the webhook's identity-lrn rename by @alaski-lambda in #472
- chore(release): prepare v1.0.0 by @dmitsh in #466
New Contributors
- @github-actions[bot] made their first contribution in #373
- @alaski-lambda made their first contribution in #374
- @ArangoGutierrez made their first contribution in #384
- @hjchoi0330 made their first contribution in #391
- @Shankar-v27 made their first contribution in #410
- @olegleyz made their first contribution in #403
Full Changelog: v0.5.0...v1.0.0
v0.5.0
What's Changed
- chore(github): add issue template by @dmitsh in #244
- docs: add InfiniBand, NetQ, and DRA provider documentation, update README by @resker in #243
- feat(k8s): node observer to retry failed requests after delay by @dmitsh in #242
- feat: Slinky Engine - Dynamic Nodes Reconciliation by @ravisoundar in #241
- chore(github): add copy-pr-bot.yaml config by @dmitsh in #245
- docs(readme): add 'Motivation and Problem Statement' section by @dmitsh in #247
- fix: Topology Spec with the switch hierarchy by @ravisoundar in #246
- chore(deps): Bump github.com/moby/spdystream from 0.5.0 to 0.5.1 by @dependabot[bot] in #251
- chore(github): set gh runners by @dmitsh in #250
- docs: add Fern documentation scaffolding by @pdmack in #249
- chore: fix print_env.sh template placeholder and copyright year by @resker in #252
- docs: add AGENTS.md and .claude/CLAUDE.md for AI coding agents by @resker in #253
- build: add make qualify pre-push aggregator by @resker in #256
- docs: small-batch reconciliation of blog draft content into repo docs by @resker in #264
- docs: document gpu.clique relationship and non-MNNVL topology source by @resker in #255
- docs: organize docs into sections by @dmitsh in #267
- docs(agents): add Documentation Impact Evaluation section and refresh stale references by @resker in #269
- docs(k8s): add Kubernetes access patterns section by @resker in #259
- docs(fern): add fern/README.md describing the Fern docs workflow by @resker in #270
- chore(github): update fern github actions by @dmitsh in #268
- docs(governance): add CODE_OF_CONDUCT, SECURITY, and pull request template by @resker in #273
- docs(reference): add authoritative node labels and annotations reference by @resker in #254
- chore(go): update go version and packages by @dmitsh in #277
- docs: post-#254 follow-ups — KEP-4962 note + Doc-Impact table rows by @resker in #278
- fix(ci): extract PR metadata from ref_name for copy-PR-bot push trigger by @pdmack in #280
- fix(docs/ci): self-close img tags and add MDX safety check to CI by @pdmack in #282
- chore(chart): add values schema, helm test hooks, and chart README by @resker in #275
- fix(ci): extend MDX img check to fern/ and .mdx files by @pdmack in #283
- feat(chart): add Gateway API (HTTPRoute) support by @resker in #276
- chore: standardize SPDX file headers by @pdmack in #286
- chore: unify naming in Helm values examples by @dmitsh in #288
- docs(fern): restore Reference section, label v0.3.0, surface errors by @resker in #284
- docs(reference): clarify accelerator / Capacity Block / clique semantics by @resker in #289
- fix(ci): include docs/ in Fern preview artifact by @resker in #290
- chore(chart): declare kubeVersion ">=1.27.0-0" in chart + subcharts by @resker in #291
- docs(get-started): add install-path quickstarts for Kubernetes and Slurm by @resker in #292
- feat(slinky): support podSelector in partition topologies by @dmitsh in #295
- fix: Docker buildkit proxy setting for nv-gh-runners by @ravisoundar in #296
- fix(slurm/slinky): by @dmitsh in #297
- chore(docs): update logo by @dmitsh in #298
- chore(docs): add documentation about 'test' provider and update test payloads by @dmitsh in #299
- fix(topograph): flatten error messages into single-line strings by @dmitsh in #301
- fix(ci): restore branches filter on Fern publish push trigger by @resker in #304
- docs(reference): clarify gpu.clique distinguishability vs proximity by @resker in #305
- feat(dsx): provider simulator by @ravisoundar in #287
- fix(ci): harden Fern docs CI and configure custom domain by @pdmack in #308
- feat(topograph): refactor topology graph to reduce complexity by @dmitsh in #306
- chore(topograph): remove obsolete toposim and protobufs by @dmitsh in #310
- feat(model): refactor simulation models to include node attributes by @dmitsh in #309
- feat(slinky): Support ConfigUpdateMode parameter by @ravisoundar in #300
- feat(fern): add versioned docs dropdown with CI version stamping by @pdmack in #313
- feat(model): allow to specify nodes explicitly and implicitly by @dmitsh in #311
- fix(fern): pin frozen version content via git archive at publish time by @pdmack in #316
- fix(fern): align v0.3.0 nav with actual tag content by @pdmack in #318
- fix(slinky): Skip exec scontrol show partition for DynamicNodes by @ravisoundar in #319
- feat(nscale): implement topology provider by @dmitsh in #239
- fix(ci): populate frozen version content in preview build and surface fern errors by @pdmack in #322
- fix(slinky): tighten pods exec RBAC for partition discovery by @dmitsh in #320
- chore(topograph): release v0.4.0 by @dmitsh in #323
- feat(fern): add v0.4.0 version entry and automate version registration by @pdmack in #325
- chore(docs): add nscale docs by @dmitsh in #326
- fix(ci): use heredoc for version entry insertion to avoid YAML parse error by @pdmack in #327
- chore(docs): update docs by @dmitsh in #328
- fix(ci): use yq for YAML manipulation in publish workflow by @pdmack in #329
- fix(ci): install yq to user-local path with arch detection by @pdmack in #330
- fix(helm): minor fixes by @dmitsh in #331
- feat(build): opt-in env-var knobs for downstream packaging by @resker in #333
- fix(build): quote remaining $REPO_HOME-derived paths in build-deb.sh by @resker in #335
- fix(build): quote DEB_OUTPUT_DIR-derived paths in build-deb.sh by @resker in #334
- feat(ci): port AICR publish pattern — tag resolution, pruning, PR persistence by @pdmack in #337
- test(charts): Helm Chart Tests by @ravisoundar in #336
- feat(engine): Graph engine simulation by @ravisoundar in #314
- fix(ci): skip version registration for latest release and sort by semver by @pdmack in #338
- feat(fern): adopt global-theme nvidia, remove per-repo theme assets by @pdmack in #339
- fix(fern): add multi-source to enable global theme JS assets by @pdmack in #340
- fix(k8s): prefer GPU clique label for accelerator domains by @dmitsh in #341
- feat(helm): add node-data-broker ConfigMap mounts by @dmitsh in #347
- fix(server): preserve replacement timer in trailing delay queue by @dmitsh in #348
- chore(topograph): simplify node attributes by @dmitsh in #349
- fix(server): snapshot queue completion results by @fallintoplace in #351
- feat: Empty Block Complementing by @ravisoundar in #343
- feat: Restart deployments when there are changes to config maps by @ravisoundar in #346
- fix: formatting by @dmitsh in #354
- refactor(providers): replace string map helper with mapstructure by @dmitsh in #355
- fix(providers): reuse retrying HTTP ...
v0.4.0
v0.3.0
What's Changed
- return accurate HTTP errors on topology requests by @dmitsh in #177
- chore: improve code coverage by @dmitsh in #178
- fix: add option to skip TLS verification when creating HTTP client by @dmitsh in #181
- chore: add utility function to generate URL by @dmitsh in #182
- fix: in the status observer, trigger topology discovery when pods are ready by @dmitsh in #183
- feat: add option to select k8s nodes for topology config by @dmitsh in #184
- feat: add support for NVLink domain discovery in NetQ provider by @dmitsh in #180
- feat: fetch OPIDs programmatically from NetQ API by @dmitsh in #186
- Bump golang.org/x/crypto from 0.42.0 to 0.45.0 by @dependabot[bot] in #185
- chore: update Nebius docs by @dmitsh in #187
- fix: in Slinky, locate the login pod in the Running state by @dmitsh in #188
- chore: return an error if the DRA provider has an empty domain set by @dmitsh in #189
- chore: add docker image for ib tools by @dmitsh in #190
- chore(k8s): update values file for deployment with InfiniBand provider by @dmitsh in #191
- fix(topograph): the 'topology' endpoint to return '102 Processing' when the request has't completed yet by @dmitsh in #192
- fix(topograph): golang does not support '102 Processing', fallback to '202 Accepted' by @dmitsh in #193
- fix(topograph): update README by @dmitsh in #194
- Update k8s.md image reference by @resker in #195
- fix(topograph) fix retry logic by @dmitsh in #196
- chore(topograph) simplify http helper functions by @dmitsh in #197
- feat(lambdai) implement initial draft of topology provider by @dmitsh in #198
- chore(k8s) add ServiceMonitor by @dmitsh in #199
- feat(lambdai): implement provider simulator by @ravisoundar in #200
- chore(k8s) upgrade to Kubernetes 1.34 by @dmitsh in #201
- feat(slurm) add support for dynamic nodes by @dmitsh in #202
- feat(gcp): allow external API authentication by @dmitsh in #204
- feat(topograph) add payloads for integration tests by @dmitsh in #203
- fix(slurm): fix block order by @dmitsh in #207
- chore(topograph): rename backend switch tiers by @dmitsh in #208
- fix(slurm): revert dynamic node usage by @dmitsh in #206
- feat(topograph): Integration Test Support by @ravisoundar in #205
- fix(topograph): log an error for HTTP error status codes by @dmitsh in #209
- fix(topograph): return HTTP 202 for requests in progress by @dmitsh in #210
- chore(topograph): include topograph version in metrics by @dmitsh in #211
- feat: replace model_path with modelFileName by @dmitsh in #212
- chore(topograph): update otel to v1.40.0 by @dmitsh in #213
- chore(aws): upgrade SDK version to support Secondary Networks by @dmitsh in #214
- fix(topograph): tune topology request latency buckets for better percentile accuracy by @dmitsh in #215
- feat: Request Aggregation based on payload by @ravisoundar in #217
- feat: lookup endpoint by @ravisoundar in #218
- chore(topograph): use FNV-64 for payload hashing by @dmitsh in #219
- chore(k8s): set topology node label names only if defined by @dmitsh in #221
- fix(gcp): allow getting project ID from credentials by @dmitsh in #220
- chore: Updated helm releases to keep existing files by @ravisoundar in #222
- fix(topograph): allow credentials to contain 'any' values by @dmitsh in #223
- feat(gcp): enable k8s deployment with federated workload identity by @dmitsh in #224
- chore(helm): update version to 0.3.0 by @dmitsh in #226
- chore(gcp): Documentation for GCP workload identity federation by @ravisoundar in #225
- Nebius GoSDK integration enhancement by @complynx in #227
- chore(topograph): clean up go.[mod|sum] by @dmitsh in #228
- fix(topograph): remove node from partition topology when node data is missing by @dmitsh in #229
- fix(k8s): update resource requests and limits by @dmitsh in #231
- fix(topograph): fix typo in Slurm YAML format by @dmitsh in #232
- feat: Add default provider and engine params by @ravisoundar in #234
- feat(topograph): support trimming upper network tiers by @dmitsh in #233
- feat(slurm): default to flat YAML topology if partition topology is absent by @dmitsh in #235
- chore(deps): Bump google.golang.org/grpc from 1.75.1 to 1.79.3 by @dependabot[bot] in #236
- fix(k8s): make NVIDIA device plugin daemonset and namespace configurable by @dmitsh in #237
- chore(k8s): simplify values.yaml by using subchart defaults by @dmitsh in #238
- draft v0.3.0 release by @dmitsh in #240
New Contributors
- @resker made their first contribution in #195
- @ravisoundar made their first contribution in #200
- @complynx made their first contribution in #227
Full Changelog: v0.1.0...v0.3.0