---
title: "HeliosDB Nano v3.16.0 Release Notes"
---

# HeliosDB Nano v3.16.0 Release Notes

**Theme:** Code-graph phase 2 — TypeScript / JavaScript, `CREATE EXTENSION hdb_code`, cross-file resolver

---

## Highlights

Phase 2 of the code-graph track lights up TypeScript / JavaScript / TSX support, surfaces `CREATE EXTENSION hdb_code` as DDL, and adds a corpus-wide cross-file symbol resolver so `lsp_references` returns precise hits across module boundaries.

```bash
cargo build --release --features code-graph
```

---

## What's New

### `CREATE EXTENSION hdb_code` DDL

```sql
CREATE EXTENSION hdb_code;
-- Or, idempotent
CREATE EXTENSION IF NOT EXISTS hdb_code;
```

Parses through the standard planner, runs the code-graph bootstrap, and marks the extension installed in the process. `IF NOT EXISTS` with an unknown extension is a silent no-op (matches PG's permissive migration behaviour).

New `LogicalPlan::{CreateExtension, DropExtension}` variants. `DropExtension` is reserved for forward compatibility (sqlparser 0.53 doesn't expose `DROP EXTENSION`).

### TypeScript / JavaScript / TSX Grammar

Via `tree-sitter-typescript`. The `Language` enum extends to TypeScript / JavaScript / TSX; the symbol extractor handles:

- `function_declaration`
- `method_definition`
- `class_declaration`
- `abstract_class_declaration`
- `interface_declaration`
- `type_alias_declaration`
- `enum_declaration`

### Cross-File Symbol Resolver

After the per-file pass, `code_index` rebinds every `resolution='unresolved'` edge against a corpus-wide name index:

- Single match → `resolution='exact'`
- Multiple matches → first one with `resolution='heuristic'`

This is the difference between "X is referenced somewhere" and "X is referenced in `module/foo.ts:42`."

---

## Regression Coverage

- `tests/code_graph_phase2.rs` — 5 integration tests:
  - `typescript_extracts_class_and_method`
  - `create_extension_hdb_code_bootstraps_tables`
  - `create_extension_unknown_errors`
  - `create_extension_unknown_if_not_exists_is_noop`
  - `cross_file_ref_resolves`

---

## Migration

Additive. Default builds still compile without `code-graph`. Existing v3.15 callers of `EmbeddedDatabase::code_index` continue to work — TypeScript files are now parsed automatically when the language is recognised.

---

## Compatibility Matrix

| Component | Version |
|-----------|---------|
| PostgreSQL wire | 14, 15, 16 |
| MySQL wire | 5.7, 8.0 |
| MCP protocol | 1.0 |
| tree-sitter | 0.23 |
| tree-sitter-rust | 0.23 |
| tree-sitter-python | 0.23 |
| tree-sitter-typescript | 0.23 |
