From e76853fd0008277da7db1b220f9fe073e8c5ebfa Mon Sep 17 00:00:00 2001 From: Ofer Mendelevitch Date: Sat, 16 May 2026 11:06:50 -0700 Subject: [PATCH 1/2] added ROADMAP file and suggested location in sidebar Signed-off-by: Ofer Mendelevitch --- src/documentation/roadmap.malloynb | 79 ++++++++++++++++++++++++++++++ src/table_of_contents.json | 9 ++++ 2 files changed, 88 insertions(+) create mode 100644 src/documentation/roadmap.malloynb diff --git a/src/documentation/roadmap.malloynb b/src/documentation/roadmap.malloynb new file mode 100644 index 00000000..342a00a9 --- /dev/null +++ b/src/documentation/roadmap.malloynb @@ -0,0 +1,79 @@ +>>>markdown +# Malloy Public Roadmap + +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. +* This is directional, not a commitment schedule. +* Items shift as PRs land and priorities change. + +**2026 goal:** Make Malloy + Publisher as capable as commercially available semantic modeling & BI tools - from warehouse connection to dashboard - fully open source. + +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) + +--- + +## In Progress 馃毀 + +### Language + +- **The `in` operator** - membership testing: `carrier in ['UA', 'AA']` *(accepted)* +- **Persistent sources** - `#@ persist` to cache expensive intermediate results as tables *(experimental: `persistence`)* +- **Type declarations & virtual sources** - abstract source schemas bindable at runtime *(experimental: `virtual_source`)* +- **Givens (model-level parameters)** - runtime-bound `$NAME` values for row-level access control, per-tenant filtering, and other request-scoped context *(experimental: `givens`)* + +### Ecosystem + +- **Publisher UI refresh** - new layout and navigation, with better visualization defaults +- **Materialization via CLI** - `#@ persist` annotation + `malloy build` to persist tables with dependency ordering +- **Query result cache & pagination** - handle large result sets without timeouts +- **Python DataFrame client** - Publisher REST client returning pandas/Polars DataFrames +- **MCP toolset** - revised core tools for model discovery, query execution, and result retrieval +- **Core chart enhancements** - reference lines, combo charts, dual Y-axes, `snake_case`鈫扵itle Case +- **Table enhancements** - pinned header, conditional formatting (heatmap coloring), interactive sort + +--- + +## Planned 馃搵 + +### Language + +Full proposal details in [malloydata/whatsnext](https://github.com/malloydata/whatsnext). + +| Feature | What it enables | +|---|---| +| [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 | +| [Drill](https://github.com/malloydata/whatsnext/blob/main/wns/WN-0021-drill/wn-0021.md) | Structured drill-down from summary views to detail rows | +| [Modules](https://github.com/malloydata/whatsnext/blob/main/wns/WN-0010-module-support/wn-0010.md) | URL-based module imports for shared Malloy libraries | + +### Database Support + +Current: BigQuery 路 Snowflake 路 DuckDB 路 MotherDuck 路 PostgreSQL 路 MySQL 路 Trino 路 Presto 路 Databricks + +Other databases under consideration: + +| Connector | Notes | +|---|---| +| Redshift | Amazon Redshift / Serverless / Spectrum | +| Oracle | Oracle Database / Autonomous DB | +| Native T-SQL (SQL Server / Azure SQL) | High priority; MS Fabric requires Entra ID auth | + +### Publisher & Ecosystem + +| Area | Feature | +|---|---| +| **Explorer** | Dimensional index values in filter UI; field documentation display; cross-filtering between charts | +| **Publisher** | Standalone Python MCP server; `malloy-pub` CLI; Windows/Linux support | +| **Renderer** | Dark/light mode; CSS variables for embedding; chart legend consistency; `# area_chart`, `# pie_chart`, `# heatmap` | +| **Python** | Ibis-style API: `ibis.malloy.connect(...)` with `s.dimensions()`, `s.measures()` selectors | +| **Docs** | LLM-optimized documentation page; expanded `malloy-samples` | + +--- + +## How to Influence This Roadmap + +| Channel | Best for | +|---|---| +| [malloydata/whatsnext](https://github.com/malloydata/whatsnext) | Formal language change proposals (WNs) | +| [GitHub Discussions](https://github.com/malloydata/malloy/discussions) | RFCs, design conversations, questions | +| [GitHub Issues](https://github.com/malloydata/malloy/issues) | Bug reports, concrete feature requests - 馃憤 votes signal demand | +| [Slack `#feedback`](https://malloydata.github.io/slack) | Informal ideas and early feedback | +| [Pull requests](https://github.com/malloydata/malloy/blob/main/CONTRIBUTING.md) | New database connectors especially welcome | diff --git a/src/table_of_contents.json b/src/table_of_contents.json index ffe9c621..3a45c5f4 100644 --- a/src/table_of_contents.json +++ b/src/table_of_contents.json @@ -437,6 +437,15 @@ "link": "/experiments/givens.malloynb" } ] + }, + { + "title": "Roadmap", + "items": [ + { + "title": "Roadmap", + "link": "/roadmap.malloynb" + } + ] } ] } From 0d34e61b6e8b4dcccf70be43697c5ba6b1e4a4cf Mon Sep 17 00:00:00 2001 From: Ofer Mendelevitch Date: Wed, 10 Jun 2026 19:23:15 -0700 Subject: [PATCH 2/2] clean up and simplify Signed-off-by: Ofer Mendelevitch --- src/documentation/roadmap.malloynb | 65 +++--------------------------- 1 file changed, 6 insertions(+), 59 deletions(-) diff --git a/src/documentation/roadmap.malloynb b/src/documentation/roadmap.malloynb index 342a00a9..793b335b 100644 --- a/src/documentation/roadmap.malloynb +++ b/src/documentation/roadmap.malloynb @@ -1,50 +1,12 @@ >>>markdown # Malloy Public Roadmap -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. -* This is directional, not a commitment schedule. -* Items shift as PRs land and priorities change. +This roadmap file is our best effort to share with the community our thoughts about the Malloy roadmap. +This is directional, not a commitment. -**2026 goal:** Make Malloy + Publisher as capable as commercially available semantic modeling & BI tools - from warehouse connection to dashboard - fully open source. +Have a request or idea? [Open an issue](https://github.com/malloydata/malloy/issues/new/choose) 路 [Talk to us on Slack](https://malloydata.github.io/slack) -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) - ---- - -## In Progress 馃毀 - -### Language - -- **The `in` operator** - membership testing: `carrier in ['UA', 'AA']` *(accepted)* -- **Persistent sources** - `#@ persist` to cache expensive intermediate results as tables *(experimental: `persistence`)* -- **Type declarations & virtual sources** - abstract source schemas bindable at runtime *(experimental: `virtual_source`)* -- **Givens (model-level parameters)** - runtime-bound `$NAME` values for row-level access control, per-tenant filtering, and other request-scoped context *(experimental: `givens`)* - -### Ecosystem - -- **Publisher UI refresh** - new layout and navigation, with better visualization defaults -- **Materialization via CLI** - `#@ persist` annotation + `malloy build` to persist tables with dependency ordering -- **Query result cache & pagination** - handle large result sets without timeouts -- **Python DataFrame client** - Publisher REST client returning pandas/Polars DataFrames -- **MCP toolset** - revised core tools for model discovery, query execution, and result retrieval -- **Core chart enhancements** - reference lines, combo charts, dual Y-axes, `snake_case`鈫扵itle Case -- **Table enhancements** - pinned header, conditional formatting (heatmap coloring), interactive sort - ---- - -## Planned 馃搵 - -### Language - -Full proposal details in [malloydata/whatsnext](https://github.com/malloydata/whatsnext). - -| Feature | What it enables | -|---|---| -| [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 | -| [Drill](https://github.com/malloydata/whatsnext/blob/main/wns/WN-0021-drill/wn-0021.md) | Structured drill-down from summary views to detail rows | -| [Modules](https://github.com/malloydata/whatsnext/blob/main/wns/WN-0010-module-support/wn-0010.md) | URL-based module imports for shared Malloy libraries | - -### Database Support +## Database Support Current: BigQuery 路 Snowflake 路 DuckDB 路 MotherDuck 路 PostgreSQL 路 MySQL 路 Trino 路 Presto 路 Databricks @@ -52,28 +14,13 @@ Other databases under consideration: | Connector | Notes | |---|---| -| Redshift | Amazon Redshift / Serverless / Spectrum | | Oracle | Oracle Database / Autonomous DB | -| Native T-SQL (SQL Server / Azure SQL) | High priority; MS Fabric requires Entra ID auth | -### Publisher & Ecosystem +## Publisher & Ecosystem | Area | Feature | |---|---| -| **Explorer** | Dimensional index values in filter UI; field documentation display; cross-filtering between charts | | **Publisher** | Standalone Python MCP server; `malloy-pub` CLI; Windows/Linux support | | **Renderer** | Dark/light mode; CSS variables for embedding; chart legend consistency; `# area_chart`, `# pie_chart`, `# heatmap` | -| **Python** | Ibis-style API: `ibis.malloy.connect(...)` with `s.dimensions()`, `s.measures()` selectors | | **Docs** | LLM-optimized documentation page; expanded `malloy-samples` | - ---- - -## How to Influence This Roadmap - -| Channel | Best for | -|---|---| -| [malloydata/whatsnext](https://github.com/malloydata/whatsnext) | Formal language change proposals (WNs) | -| [GitHub Discussions](https://github.com/malloydata/malloy/discussions) | RFCs, design conversations, questions | -| [GitHub Issues](https://github.com/malloydata/malloy/issues) | Bug reports, concrete feature requests - 馃憤 votes signal demand | -| [Slack `#feedback`](https://malloydata.github.io/slack) | Informal ideas and early feedback | -| [Pull requests](https://github.com/malloydata/malloy/blob/main/CONTRIBUTING.md) | New database connectors especially welcome | +| **Python** | Ibis-style API: `ibis.malloy.connect(...)` with `s.dimensions()`, `s.measures()` selectors |