Skip to content

Commit e76853f

Browse files
committed
added ROADMAP file and suggested location in sidebar
Signed-off-by: Ofer Mendelevitch <ofermend@gmail.com>
1 parent be353b8 commit e76853f

2 files changed

Lines changed: 88 additions & 0 deletions

File tree

src/documentation/roadmap.malloynb

Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
>>>markdown
2+
# Malloy Public Roadmap
3+
4+
It is a common request for "what to expect next". This roadmap file is our best effort to share with the community our thoughts about Malloy roadmap.
5+
* This is directional, not a commitment schedule.
6+
* Items shift as PRs land and priorities change.
7+
8+
**2026 goal:** Make Malloy + Publisher as capable as commercially available semantic modeling & BI tools - from warehouse connection to dashboard - fully open source.
9+
10+
Have a request or idea? [Open an issue](https://github.com/malloydata/malloy/issues/new/choose) · [Start a Discussion](https://github.com/malloydata/malloy/discussions) · [Join Slack](https://malloydata.github.io/slack)
11+
12+
---
13+
14+
## In Progress 🚧
15+
16+
### Language
17+
18+
- **The `in` operator** - membership testing: `carrier in ['UA', 'AA']` *(accepted)*
19+
- **Persistent sources** - `#@ persist` to cache expensive intermediate results as tables *(experimental: `persistence`)*
20+
- **Type declarations & virtual sources** - abstract source schemas bindable at runtime *(experimental: `virtual_source`)*
21+
- **Givens (model-level parameters)** - runtime-bound `$NAME` values for row-level access control, per-tenant filtering, and other request-scoped context *(experimental: `givens`)*
22+
23+
### Ecosystem
24+
25+
- **Publisher UI refresh** - new layout and navigation, with better visualization defaults
26+
- **Materialization via CLI** - `#@ persist` annotation + `malloy build` to persist tables with dependency ordering
27+
- **Query result cache & pagination** - handle large result sets without timeouts
28+
- **Python DataFrame client** - Publisher REST client returning pandas/Polars DataFrames
29+
- **MCP toolset** - revised core tools for model discovery, query execution, and result retrieval
30+
- **Core chart enhancements** - reference lines, combo charts, dual Y-axes, `snake_case`→Title Case
31+
- **Table enhancements** - pinned header, conditional formatting (heatmap coloring), interactive sort
32+
33+
---
34+
35+
## Planned 📋
36+
37+
### Language
38+
39+
Full proposal details in [malloydata/whatsnext](https://github.com/malloydata/whatsnext).
40+
41+
| Feature | What it enables |
42+
|---|---|
43+
| [Source & query parameters](https://github.com/malloydata/whatsnext/blob/main/wns/WN-0002-parameters/wn-0002.md) | Parameterized `time_filter`, `string_filter`, `numeric_filter` on sources and views |
44+
| [Drill](https://github.com/malloydata/whatsnext/blob/main/wns/WN-0021-drill/wn-0021.md) | Structured drill-down from summary views to detail rows |
45+
| [Modules](https://github.com/malloydata/whatsnext/blob/main/wns/WN-0010-module-support/wn-0010.md) | URL-based module imports for shared Malloy libraries |
46+
47+
### Database Support
48+
49+
Current: BigQuery · Snowflake · DuckDB · MotherDuck · PostgreSQL · MySQL · Trino · Presto · Databricks
50+
51+
Other databases under consideration:
52+
53+
| Connector | Notes |
54+
|---|---|
55+
| Redshift | Amazon Redshift / Serverless / Spectrum |
56+
| Oracle | Oracle Database / Autonomous DB |
57+
| Native T-SQL (SQL Server / Azure SQL) | High priority; MS Fabric requires Entra ID auth |
58+
59+
### Publisher & Ecosystem
60+
61+
| Area | Feature |
62+
|---|---|
63+
| **Explorer** | Dimensional index values in filter UI; field documentation display; cross-filtering between charts |
64+
| **Publisher** | Standalone Python MCP server; `malloy-pub` CLI; Windows/Linux support |
65+
| **Renderer** | Dark/light mode; CSS variables for embedding; chart legend consistency; `# area_chart`, `# pie_chart`, `# heatmap` |
66+
| **Python** | Ibis-style API: `ibis.malloy.connect(...)` with `s.dimensions()`, `s.measures()` selectors |
67+
| **Docs** | LLM-optimized documentation page; expanded `malloy-samples` |
68+
69+
---
70+
71+
## How to Influence This Roadmap
72+
73+
| Channel | Best for |
74+
|---|---|
75+
| [malloydata/whatsnext](https://github.com/malloydata/whatsnext) | Formal language change proposals (WNs) |
76+
| [GitHub Discussions](https://github.com/malloydata/malloy/discussions) | RFCs, design conversations, questions |
77+
| [GitHub Issues](https://github.com/malloydata/malloy/issues) | Bug reports, concrete feature requests - 👍 votes signal demand |
78+
| [Slack `#feedback`](https://malloydata.github.io/slack) | Informal ideas and early feedback |
79+
| [Pull requests](https://github.com/malloydata/malloy/blob/main/CONTRIBUTING.md) | New database connectors especially welcome |

src/table_of_contents.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -437,6 +437,15 @@
437437
"link": "/experiments/givens.malloynb"
438438
}
439439
]
440+
},
441+
{
442+
"title": "Roadmap",
443+
"items": [
444+
{
445+
"title": "Roadmap",
446+
"link": "/roadmap.malloynb"
447+
}
448+
]
440449
}
441450
]
442451
}

0 commit comments

Comments
 (0)