December 2025 Summaries
4 posts from Zed
Filter
Month:
Year:
Post Summaries
Back to Blog
Zed has introduced a worktree trust mechanism in its preview release v0.218.2-pre to enhance developer and supply chain security by adopting secure-by-default principles. This mechanism ensures that Zed does not automatically download or execute language servers or Model Context Protocol (MCP) servers configured in project settings without user consent, thereby protecting against potential malicious content. Triggered by recent vulnerability reports indicating that Zed was executing potentially harmful code without user knowledge, the update includes a Restricted Mode that requires user approval before proceeding with potentially risky actions. This approach shifts the initial security burden from the user to the software, aligning with the secure-by-default design principle. Users can manually trust projects, and trust decisions are remembered across sessions, though an option exists to automatically trust all worktrees, which should be used with caution. The update aims to balance security with user experience, ensuring that Zed remains secure while minimizing workflow disruptions.
Dec 17, 2025
1,742 words in the original blog post.
Zed introduced a new Settings Editor, offering a user-friendly interface to manage various settings, which previously required navigating a complex settings.json file. This update led to a significant architectural overhaul, shifting from a distributed settings model to a centralized, strongly-typed structure, simplifying configuration management and enhancing the user experience. The process involved overcoming challenges in integrating UI components with the existing code structure, ultimately leading to improvements in Zed's custom UI framework, GPUI, to better handle focus navigation and component state management. This foundational change not only streamlined current settings management but also set the stage for future development, offering users a more intuitive and efficient way to interact with the editor.
Dec 12, 2025
2,010 words in the original blog post.
Zed's productivity tools offer several enhancements for developers, including customizable task commands, integration with Bun for JavaScript and TypeScript testing, and the use of monochrome or customizable file icons to visually distinguish file types. The platform allows users to emulate Vim's Telescope via a plugin called Television and supports project-specific tmux sessions for terminal use, catering to those who prefer keyboard-driven workflows. Additionally, Zed provides the ability to map unknown file types to known languages, ensuring seamless syntax highlighting and language server support, with persistent configurations achievable through the file_types setting. These features, along with community-contributed guides for Apple platform development and Maya scripting, showcase Zed's versatility and adaptability for various development needs.
Dec 11, 2025
1,075 words in the original blog post.
Zed has introduced a highly requested feature called rainbow brackets, which aids developers in visually distinguishing nested code blocks by coloring brackets at different nesting levels. This feature, available on the stable release, was built using Zed's architecture that primarily leverages tree-sitter and language servers but differs from other implementations like VS Code by not storing entire syntax trees in memory. Instead, Zed uses a chunk-based approach, dividing buffers into non-overlapping 50-row segments, allowing efficient bracket colorization without maintaining global bracket state. This design decision ensures that bracket data is stored in buffers rather than ephemeral editors, with queries only executed when needed. The feature also allows customization via theme overrides and per-language settings. The implementation involved significant testing, visual notation for bracket coloring, and performance optimizations to ensure efficiency even with complex grammars. Future enhancements may include extending this concept to HTML and JSX tag pairs and refining the feature based on user feedback.
Dec 03, 2025
1,687 words in the original blog post.