Skip to main content

dagayn

DAG is All You Need — a knowledge-graph-centered approach to code review and impact analysis.

dagayn is a fork of code-review-graph focused on practical AI-assisted review for polyglot repositories, especially infrastructure-heavy codebases.

This fork keeps the graph-centered review model from the upstream project, but it is documented and maintained as its own product. The most visible differences are first-class Terraform support, commit-pinned grammar fetching for fork-specific parsing, broader platform-install flows, and a stronger focus on monorepos that mix application code, docs, and infra.

What dagayn does

dagayn parses your repository into a local SQLite knowledge graph. It records files, symbols, references, call edges, imports, test links, communities, and execution flows. AI agents can query that graph instead of re-reading the whole repository on every task.

In practice, that means:

  • smaller review context windows
  • faster impact analysis
  • safer refactors
  • better navigation across large repositories
  • a single workflow for code, docs, notebooks, and Terraform

Fork status

dagayn is explicitly a fork of code-review-graph.

It does not treat upstream documentation as canonical. All project guidance, examples, and command descriptions in this repository are written for dagayn itself.

See NOTICE for upstream attribution and original author information.

Highlights

  • first-class Terraform parsing for .tf and .tfvars
  • Markdown structure and dependency extraction, including directive comments and dagayn: documentation links
  • notebook parsing for .ipynb and marimo .py / .md notebooks
  • native Japanese FTS (Lindera IPADIC morphemes plus CJK bigrams), so inflected queries still AND-match
  • incremental graph updates, watch mode, worktree sync, and session prepare
  • MCP server for AI coding tools
  • graph queries for impact radius, review context, communities, flows, and refactors
  • native Rust graph store, parsers, FTS, flows, and post-processing (dagayn._core)
  • multi-repo registry and daemon workflows
  • GraphML, Mermaid C4, SVG, Cypher, and Obsidian graph exports

Supported languages and file types

dagayn covers mainstream application languages plus repo-adjacent formats.

Highlights include:

  • Python, JavaScript, TypeScript, TSX, Go, Rust, Java, C, C++, C#, Ruby, PHP, Kotlin, Swift, Scala, Solidity, Dart, Lua, Luau, Objective-C, Bash, Elixir, Zig, PowerShell, Julia, Perl, R, GDScript, Vue, Svelte, Astro
  • Markdown
  • Jupyter notebooks, Databricks notebook sources/exports, and marimo .py / .md notebooks as graph inputs
  • Terraform

See docs/FEATURES.md and docs/LLM-OPTIMIZED-REFERENCE.md for the current coverage summary.

Terraform support

dagayn treats Terraform as a first-class language alongside application code. Both .tf and .tfvars files are parsed by a dedicated Tree-sitter grammar.

Parsed block types

Block Qualified-name pattern Graph kind
resource "type" "name" resource.type.name Class
data "type" "name" data.type.name Class
variable "name" var.name Function
locals { key = … } local.key (per attribute) Function
output "name" output.name Function
module "name" module.name Class
provider "name" provider.name Class
terraform {} terraform Class
check "name" check.name Test
ephemeral "type" "name" ephemeral.type.name Class
import {} edges only —
moved {} edges only —
removed {} edges only —

Edge types produced

  • REFERENCES — any var.x, local.x, module.x, output.x, provider.x, data.type.name, or resource_type.name expression inside a block body. The parser extracts these with a dedicated regular expression and skips Terraform built-in prefixes (count, each, path, self, terraform).
  • CALLS — built-in function calls such as merge(…) or length(…).
  • IMPORTS_FROM — the source attribute in module and terraform required_providers blocks, and the target of import blocks.
  • CONTAINS — file to every block defined in it.
  • DEPENDS_ON — required_providers version constraints in terraform blocks.

Cross-module analysis

When a module block references a local path in source, dagayn records an IMPORTS_FROM edge from the calling module to the target directory. This lets impact-radius queries cross module boundaries.

.tfvars files

Variable value files (.tfvars) are parsed as Terraform. Their top-level attribute assignments become var.name nodes linked to the corresponding variable block in .tf files via REFERENCES edges, giving the graph a complete picture of variable data flow.

Markdown support

dagayn extracts graph nodes and edges from Markdown documentation alongside source code, so prose architecture decisions and code they describe appear in the same graph.

Parsed node types

Element Qualified-name pattern Graph kind
Document file path File
# Heading … ###### Heading file::slug DocSection
Setext H1 / H2 (underline style) file::slug DocSection
Paragraph/list/table/code body under a heading file::slug--body-N DocBody

Heading slugs follow the GitHub Markdown convention: lowercase, spaces and hyphens collapsed to -, non-alphanumeric characters removed. Duplicate headings within a file get a numeric suffix (slug-1, slug-2, …).

Edge types produced

  • CONTAINS — heading hierarchy. A level-2 heading that appears under a level-1 heading is recorded as a child of that section.
  • REFERENCES — inline or reference-style links between sections: [text](./other.md#heading) or [text](#local-heading). Source is the containing section; target is resolved to file::slug form.
  • IMPORTS_FROM — cross-file links. When a link or directive points to a different Markdown file, an IMPORTS_FROM edge is added from the current file to the target.
  • DEPENDS_ON — directive comments (see below).

Directive comments

Directive comments are HTML comments with a structured form that express inter-document dependencies machine-readably:

<!-- constrained-by ./decisions/adr-001.md#context -->
<!-- blocked-by ./specs/open-issue.md -->
<!-- supersedes ./old-api.md#endpoint-design -->
<!-- derived-from ./research/background.md#findings -->

Supported directive kinds:

Directive Meaning
constrained-by This section's design is constrained by the referenced document or section
blocked-by Implementation is blocked pending the referenced item
supersedes This document replaces the referenced content
derived-from This section is derived from the referenced source

Each directive becomes a DEPENDS_ON edge. The markdown_directive_kind edge attribute records the specific directive type for downstream filtering.

Documentation directives (dagayn:)

HTML comments of the form <!-- dagayn: implemented-by path::symbol --> create CROSS_ARTIFACT edges from a Markdown section to a code (or other artifact) target. Supported kinds include implemented-by, discusses-artifact, and raises-issue-for. Code can point the other way with line comments such as # dagayn: implements docs/spec.md#Section.

See docs/MARKDOWN-AUTHORING.md for the full contract.

The parser handles:

  • [text](./relative/path.md#section) — resolved relative to the source file
  • [text](#local-section) — resolves to the same file
  • [ref]: path reference-definition style
  • External URLs (http://, https://, mailto:) are ignored

Installation

pip install dagayn

For a persistent isolated CLI environment, uv tool install works too:

uv tool install dagayn

For an isolated one-shot CLI, uvx works well:

uvx --from dagayn dagayn --help

Published wheels include the compiled extension for supported targets, so the normal PyPI install paths do not require building from the Git repository.

If you prefer persistent isolated tool installs, pipx also works.

Quick start

dagayn install
dagayn build
dagayn status

install auto-detects supported AI coding platforms and writes MCP configuration where appropriate. Run without arguments on a TTY to be prompted for an embedding mode (see below); under -y or a non-TTY stdin the mode must be passed explicitly.

build creates the initial graph.

Use dagayn build --force-full-build (or --force) when you want to delete the existing graph database before rebuilding from scratch.

status confirms the graph exists and reports basic counts.

Choosing an install mode

dagayn install supports these embedding strategies as first-class options:

# 1. FTS only — no embeddings, fastest, no model download.
dagayn install --mode fts-only

# 2. Local — managed BGE-M3 llama.cpp GGUF sidecar.
dagayn install --mode local-embedding

# 3. Managed Qwen3 llama.cpp GGUF sidecar.
dagayn install --mode local-embedding-llama --preset low    # Qwen3-Embedding-0.6B (~1 GB)

# 4. Remote — OpenAI-compatible / Google / MiniMax cloud embeddings.
dagayn install --mode remote-embedding --provider openai
dagayn install --mode remote-embedding --provider google
dagayn install --mode remote-embedding --provider minimax

For --mode remote-embedding, set the provider's environment variables in the shell that launches your AI coding tool (e.g. CRG_OPENAI_API_KEY, CRG_OPENAI_BASE_URL, CRG_OPENAI_MODEL for openai); the MCP server inherits those at launch time and the generated dagayn serve --remote-embedding <provider> entry makes MCP search use that provider automatically. The exact env-var list is printed at install time. Legacy install shortcuts such as --mode fts, --mode local, --mode local --preset low, --mode llama-qwen3, --mode remote, and --local-embedding low still work as aliases for the new explicit mode names.

Native graph store

The graph store, parsers, FTS, flows, and post-processing run in the native Rust extension (dagayn._core). There is no Python graph engine to fall back to: DAGAYN_BACKEND=python is rejected. Hybrid search ranking and manifest-bridge extraction stay in Python.

Parsers cover Markdown, Terraform, Rust, Python/notebooks, Bash, Go, Java, Ruby, C#, PHP, Kotlin, Swift, Scala, Solidity, Dart, Lua, Luau, C / C headers / Perl XS, C++, Objective-C, Elixir, GDScript, R, Julia, Perl, Vue, Svelte, Zig, PowerShell, extensionless shebang scripts for supported scripting languages, and core JavaScript / JSX / TypeScript / TSX / Astro files:

dagayn build
dagayn update

Source checkouts without the native extension fail clearly.

Common CLI flows

dagayn build
dagayn update
dagayn watch
dagayn worktree sync
dagayn detect-changes --base HEAD~1
dagayn visualize --format graphml
dagayn serve

MCP tool surface

dagayn serve exposes a compact default workflow surface: the main tools plus dispatcher tools such as review_tool, flow_tool, and architecture_analysis_tool, so routine sessions no longer need named server profiles.

dagayn serve
dagayn serve --tools query_graph_tool,semantic_search_nodes_tool

--tools is an exact comma-separated allow-list for deployments that need to hide some public tools. Persistent server configs can use CRG_TOOLS for the same control.

Tool responses use a calibrated guidance contract. Compatibility fields such as status, summary, _hints, and next_tool_suggestions remain, while review, architecture, flow, refactor, search, and query responses can also include guidance, answerability, and missingness. Guidance items carry claim, evidence, confidence, missingness, action, reason_codes, and counts so agents can treat graph output as evidence-ranked leads rather than verdicts. Use detail_level="minimal" for the top recommendations and detail_level="standard" for the full supporting sections. query_graph_tool zero-result and not-found responses include zero_result_reason, next_action, result_count, results, answerability, and missingness; treat absence as graph-limited until source or tests confirm it. Documentation bridge results label evidence as authored, extracted, or heuristic_reachable so Markdown traceability is not confused with a verified contract.

Reporting and export outputs

dagayn visualize exports static graph artifacts.

  • --format is required and supports graphml, mermaid-c4, svg, cypher, and obsidian
  • mermaid-c4 emits Mermaid C4Component code with files collapsed into components and cross-file relations
  • svg export uses matplotlib, so install the eval extra when you need it: pip install "dagayn[eval]"
  • Jupyter / Databricks / marimo notebooks are parsed as graph inputs, not emitted as report formats

AI platform integration

dagayn install can configure MCP for these targets:

  • Codex
  • Claude / Claude Code
  • Cursor
  • Windsurf
  • Zed
  • Continue
  • OpenCode
  • Antigravity
  • Qwen Code
  • Kiro
  • Qoder
  • Pi
  • Hermes Agent

You can limit installation to a single platform with --platform <name>. For Codex, install also creates global ~/.codex/hooks.json and enables hooks in ~/.codex/config.toml so the graph refreshes during Codex sessions. Claude hooks are written to global ~/.claude/settings.json. Installed git hooks run dagayn update --skip-flows before commit-time checks and a full dagayn update after each commit. When a local embedding install mode is selected, generated AI-tool update hooks also pass the same local embedding sidecar arguments so edit-time refreshes keep vectors current.

Platform-specific instruction files are also installed where needed:

  • Claude uses ~/.claude/CLAUDE.md
  • Codex uses ~/.codex/AGENTS.md
  • OpenCode uses ~/.config/opencode/AGENTS.md
  • Qoder uses QODER.md
  • --platform qcoder is accepted as an alias for qoder

How the graph is used

A typical review loop looks like this:

  1. build or update the graph
  2. ask for minimal context or a change review
  3. inspect only the affected files and symbols
  4. follow communities, flows, or cross-file references as needed
  5. refresh incrementally after edits

The graph is stored locally under .dagayn/ by default. No external database is required.

Semantic search and embeddings

semantic_search_nodes combines exact/name search with embedding-backed fuzzy search when embeddings are available, and falls back to FTS-only search when they are not. It reports which search path contributed through search_mode and per-result source fields. Native FTS segments Japanese with Lindera IPADIC morphemes (plus dictionary base forms) and overlapping CJK bigrams, so an inflected query such as 検索する AND-matches 検索を行う.

For implementation details such as FTS indexing, RRF merge, reranking, text modes, and provider setup, see docs/ARCHITECTURE.md#hybrid-search and docs/LOCAL-EMBEDDINGS.md.

Embedding modes and providers

Mode/provider Runs where Extra install Required env vars
--local-embedding Managed localhost llama-server GGUF sidecar — —
openai Cloud or self-hosted gateway — CRG_OPENAI_API_KEY, CRG_OPENAI_BASE_URL, CRG_OPENAI_MODEL
google Google Cloud dagayn[google-embeddings] GOOGLE_API_KEY
minimax MiniMax Cloud — MINIMAX_API_KEY

The openai provider speaks the standard /v1/embeddings schema, so it works with real OpenAI, Azure OpenAI, LiteLLM, vLLM, LocalAI, Ollama (in OpenAI mode), and similar gateways. When CRG_OPENAI_BASE_URL points to localhost the cloud egress warning is suppressed automatically.

Vector search uses the Rust native cosine-similarity backend by default. It computes dot products with architecture-specific SIMD intrinsics directly in Rust (NEON on aarch64, AVX with SSE fallback on x86_64, and a scalar fallback elsewhere), so no external BLAS or Accelerate library is required. Set DAGAYN_EMBEDDING_SEARCH_BACKEND=auto to fall back to the Python path when native search is unavailable, or DAGAYN_EMBEDDING_SEARCH_BACKEND=python for A/B testing. The Python path uses an optional numpy BLAS matmul when numpy is installed (pip install "dagayn[numpy]") and otherwise a pure-Python cosine loop — numpy is never a required hard dependency. dagayn serve --local-embedding runs BGE-M3 through a managed llama.cpp GGUF sidecar so acceleration stays out of the Python process. The older sentence-transformers/PyTorch provider="local" mode has been removed; local embedding now means the managed llama-server sidecar or another localhost OpenAI-compatible endpoint.

Running embedding

Call embed_graph_tool via MCP (or let your AI agent call it after build_or_update_graph_tool). For fully local embeddings, prefer dagayn build --local-embedding, dagayn update --local-embedding, or dagayn serve --local-embedding; these manage llama-server and then use the OpenAI-compatible localhost endpoint internally. Pass provider and optionally model only when using an already configured provider.

dagayn build --local-embedding
embed_graph_tool(provider="openai")   # reads CRG_OPENAI_* from env
embed_graph_tool(provider="google")   # reads GOOGLE_API_KEY from env
embed_graph_tool(provider="minimax")  # reads MINIMAX_API_KEY from env

Embeddings are stored in the embeddings table inside .dagayn/graph.db. Switching provider, model, or DAGAYN_EMBEDDING_TEXT_MODE partitions the cache and triggers a re-embed for that provider/text-mode pair on the next call.

Search quality

The current search benchmark has 20 queries: 12 standard queries for exact/name and purpose-style lookup, plus 8 structural queries for purpose and process-pattern prose over function behavior.

Search mode Query set MRR Hit@5 Hit@20
material text all (20) 0.5528 14/20 18/20
narrative text all (20) 0.6671 18/20 19/20
intent-routed all (20) 0.6725 18/20 19/20

On the 8 structural queries, narrative improves over material from 0.2881 to 0.5875 MRR and from 3/8 to 7/8 Hit@5. See docs/LOCAL-EMBEDDINGS.md#search-quality for the detailed benchmark tables, search-mode notes, and local model comparison.

Privacy and cloud egress

Before sending any data to a cloud provider, dagayn prints a warning to stderr listing what will be transmitted (function names, docstrings, file paths). To acknowledge once and suppress the warning in subsequent runs:

export CRG_ACCEPT_CLOUD_EMBEDDINGS=1

To stay fully offline, use --local-embedding so dagayn manages a localhost llama-server endpoint. No Python ML stack or PyTorch dependency is required.

Documentation map

  • docs/USAGE.md — installation and day-to-day workflows
  • docs/RECIPES.md — copy-paste recipes for watch, registry/daemon, and embeddings
  • docs/COMMANDS.md — CLI, MCP tools, prompts, and exported artifacts
  • docs/FEATURES.md — what the fork emphasizes and where it differs
  • docs/ARCHITECTURE.md — parser, storage, and post-processing pipeline
  • docs/SCHEMA.md — node, edge, and metadata model
  • docs/MARKDOWN-AUTHORING.md — graph-aware Markdown directives and dagayn: links
  • docs/SESSION-GRAPH-FRESHNESS.md — session prepare, worktrees, and MCP first-tool readiness
  • docs/EVALUATION-SEMANTICS.md — metric roles, profile summaries, gates, costs, and semantic report outputs
  • docs/LOCAL-EMBEDDINGS.md — managed sidecar and local embedding setup
  • docs/DAEMON-CONFIG.md — registry and watch daemon file formats
  • docs/TROUBLESHOOTING.md — practical fixes
  • docs/LLM-OPTIMIZED-REFERENCE.md — machine-oriented reference sections

Current development direction

The fork currently emphasizes:

  • infra-aware review, especially Terraform
  • mixed-language monorepos
  • stable relative-path graph registration from the repo root
  • MCP-first workflows for terminal and editor agents
  • reproducible local analysis without hosted services

Security and privacy

dagayn is designed around local graph storage. Some optional embedding providers can call remote APIs, but those flows are opt-in and documented separately.

See SECURITY.md and docs/LEGAL.md for details.

Contributing

See CONTRIBUTING.md for development setup, verification commands, and contribution rules.

License

MIT. See LICENSE.

Release files for dagayn 4.15.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dagayn 4.15.0
File Size Uploaded
dagayn-4.15.0.tar.gz 915.7 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for dagayn 4.15.0
File
dagayn-4.15.0-cp314-cp314-manylinux_2_39_x86_64.whl CPython 3.14 CPython 3.14 Linux glibc 2.39+ x86-64 Details
dagayn-4.15.0-cp314-cp314-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 macOS 11.0+ ARM64 Details
dagayn-4.15.0-cp313-cp313-manylinux_2_39_x86_64.whl CPython 3.13 CPython 3.13 Linux glibc 2.39+ x86-64 Details
dagayn-4.15.0-cp313-cp313-macosx_11_0_arm64.whl CPython 3.13 CPython 3.13 macOS 11.0+ ARM64 Details
dagayn-4.15.0-cp312-cp312-manylinux_2_39_x86_64.whl CPython 3.12 CPython 3.12 Linux glibc 2.39+ x86-64 Details
dagayn-4.15.0-cp312-cp312-macosx_11_0_arm64.whl CPython 3.12 CPython 3.12 macOS 11.0+ ARM64 Details

Total release size: 231.5 MB

Release files / dagayn-4.15.0.tar.gz

Download URL dagayn-4.15.0.tar.gz
Size 915.7 kB
Tags Source
SHA-256 checksum
How to use checksums
02f5d120b2a75babd4701ea3c5cdb71187f386c8ced5ad753c6ce67d42ae2d60
BLAKE2b-256 checksum
How to use checksums
fcdd3be419bc04fcfdc26a7b071d50897d6a7e9893996a9a3ffb201ae2756048
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / dagayn-4.15.0-cp314-cp314-manylinux_2_39_x86_64.whl

Download URL dagayn-4.15.0-cp314-cp314-manylinux_2_39_x86_64.whl
Size 38.3 MB
Tags CPython 3.14 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
b35be75b1707ddc224897da95d00ff82c8303a6a1ad3097eeb7bdf35dca86fe2
BLAKE2b-256 checksum
How to use checksums
2a30759ff49e7958de337382ce9092a2c090943603743c9908e90e6f7b934a24
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / dagayn-4.15.0-cp314-cp314-macosx_11_0_arm64.whl

Download URL dagayn-4.15.0-cp314-cp314-macosx_11_0_arm64.whl
Size 38.5 MB
Tags CPython 3.14 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
aa48e3046779c24f07b55c52ce7a19c7d601fe062e8e91c6d10c035db072bd04
BLAKE2b-256 checksum
How to use checksums
753d1f74fd88e89654dcf16af33a7f3609fb426e37b5bff2a58d23dcb77cc42f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / dagayn-4.15.0-cp313-cp313-manylinux_2_39_x86_64.whl

Download URL dagayn-4.15.0-cp313-cp313-manylinux_2_39_x86_64.whl
Size 38.3 MB
Tags CPython 3.13 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
6021b54e83f0d91ae6ff3dc90686087d078f291bfde594169f6465e8848ba015
BLAKE2b-256 checksum
How to use checksums
2801dc7dd7a5cf9908f13898553456f7ca9b8b1e2d5cec4638598f477c37fe61
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / dagayn-4.15.0-cp313-cp313-macosx_11_0_arm64.whl

Download URL dagayn-4.15.0-cp313-cp313-macosx_11_0_arm64.whl
Size 38.5 MB
Tags CPython 3.13 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
33624ac83caaad34e561fc8275d1319db53818cf54c978cd1879966f94c3955b
BLAKE2b-256 checksum
How to use checksums
efdc770f3c805fe302f6bda80d3c51784acadf75d83d21dd4d3055323a363f73
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / dagayn-4.15.0-cp312-cp312-manylinux_2_39_x86_64.whl

Download URL dagayn-4.15.0-cp312-cp312-manylinux_2_39_x86_64.whl
Size 38.3 MB
Tags CPython 3.12 Linux glibc 2.39+ x86-64
SHA-256 checksum
How to use checksums
90acc819b62f38930d70806b700c1542d23e3500d9ea2f7538ab2b7cdec63d48
BLAKE2b-256 checksum
How to use checksums
f4a87a91b5394b8fec506e7e27c6a155c157931a601a032ee0ed6498a67b0962
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release files / dagayn-4.15.0-cp312-cp312-macosx_11_0_arm64.whl

Download URL dagayn-4.15.0-cp312-cp312-macosx_11_0_arm64.whl
Size 38.5 MB
Tags CPython 3.12 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d7262c6bcca4df867c366696ed5e0ce302557363f26d629e8742b68efaffd7b3
BLAKE2b-256 checksum
How to use checksums
e2d78a893170aeff4531c88f2331e2e51c8be9460528fa63d0de87aba6dcfdde
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.3

Release history Release notifications | RSS feed

This release

4.15.0 This release

7 release files

4.13.0

7 release files

4.12.0

7 release files

4.11.0

7 release files

4.10.5

7 release files

4.10.4

7 release files

4.10.3

7 release files

4.10.2

7 release files

4.10.0

7 release files

4.9.0

7 release files

4.8.4

7 release files

4.8.3

7 release files

4.8.2

7 release files

4.8.1

7 release files

4.8.0

7 release files

4.7.0

7 release files

4.6.1

7 release files

4.6.0

7 release files

4.5.0

7 release files

4.4.1

7 release files

4.4.0

7 release files

4.3.0

7 release files

4.2.8

7 release files

4.2.7

7 release files

4.2.6

7 release files

4.2.5

7 release files

4.2.4

7 release files

4.2.3

7 release files

4.2.2

7 release files

4.2.1

7 release files

4.2.0

7 release files

4.1.4

7 release files

4.1.3

7 release files

4.1.2

7 release files

4.1.1

7 release files

4.1.0

7 release files

4.0.6

7 release files

4.0.5

7 release files

4.0.4

3 release files

4.0.3

3 release files

4.0.2

3 release files

4.0.1

3 release files

4.0.0

3 release files

3.2.0

3 release files

3.1.0

3 release files

3.0.0

3 release files

2.11.2

3 release files

2.11.1

3 release files

2.11.0

3 release files

2.10.1

3 release files

2.10.0

3 release files

2.9.0

3 release files

2.8.0

3 release files

2.7.0

3 release files

2.6.1

3 release files

2.6.0

3 release files

2.5.0

3 release files

2.4.1

3 release files

2.4.0

3 release files

2.3.9

3 release files

2.3.8

3 release files

2.3.7

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page