Skip to content

0.8 b1 - #411

Merged
Chenglong Wang (Chenglong-MS) merged 40 commits into
mainfrom
dev
Aug 15, 2026
Merged

0.8 b1#411
Chenglong Wang (Chenglong-MS) merged 40 commits into
mainfrom
dev

Conversation

@Chenglong-MS

Copy link
Copy Markdown
Collaborator

This pull request introduces a portable desktop build for Data Formulator, adds ClickHouse support, improves Azure CLI integration, and strengthens model config security. The most significant changes are summarized below.


Desktop Application Support

  • Added a new portable desktop build using PyInstaller and pywebview, allowing users to run Data Formulator as a standalone native app without needing to install Python or Node.js. Includes a new entrypoint (data_formulator_desktop.py), build script, and PyInstaller spec file. [1] [2] [3] [4] [5] [6]
  • The desktop launcher ensures the Azure CLI is available in PATH by searching common install locations and amending the environment as needed. [1] [2]

Azure CLI Integration and Authentication

  • Refactored Azure CLI detection and invocation into a reusable utility (expose_azure_cli), used by both the backend and desktop launcher to ensure seamless authentication for Kusto and other Azure connectors. [1] [2] [3] [4] [5]
  • When running as a desktop app, Azure authentication uses AzureCliCredential instead of DefaultAzureCredential for improved user experience. [1] [2]
  • Suppressed browser auto-launch for the backend server when running in desktop mode.

Database Support

  • Added ClickHouse support as a data source, including dependency, loader registration, and SQL dialect definition. [1] [2] [3]

Security Improvements

  • Hardened model config handling: the is_global flag is now validated by checking the server registry rather than trusting client claims, preventing privilege escalation and SSRF attacks. [1] [2]
  • Improved error handling for API base URL allowlist validation.

Other Improvements

  • Changed SQL Server data loader to use SELECT TOP n for limiting results, simplifying query construction. [1] [2]
  • Added auth_mode to the public model info to distinguish between Azure Identity and API key authentication.
  • Minor frontend refactor: added useRef and useNavigate imports in App.tsx. [1] [2]

1. 更新构建脚本步骤,替换旧的build-desktop.sh为直接使用uv run pyinstaller
2. 重写Windows平台下pythonnet程序集的打包逻辑,修复PyInstaller重写托管程序集导致的CLR加载失败问题
3. 添加构建后校验步骤,确保打包的Python.Runtime.dll与源文件一致
4. 移除旧的调试用程序集比较步骤
1. 添加入口加载页面,避免启动时空白等待
2. 实现Per-Monitor V2 DPI感知,修复窗口缩放错位问题
3. 将后端启动逻辑移至后台线程,保持加载页响应性
@Chenglong-MS Chenglong Wang (Chenglong-MS) changed the title 0.8 0.8 b1 Aug 15, 2026
@Chenglong-MS
Chenglong Wang (Chenglong-MS) merged commit 5477f0e into main Aug 15, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants