THE WRITE-AHEAD BLOG

Changelog 0.20

The theme of the last couple changelogs has been heads down work on Big Features. Next week, we'll be announcing those Big Features more formally to get your feedback.

What Big Features?

The Membrane Dashboard

If you follow Juan on Twitter, you've been seeing some sneak previews of the dashboard, a customizable visual canvas where you can view program data and run common workflows (i.e. invoke actions).

P.S. Should we come up with a better name than Dashboard? Control Panel? Something else? Send us your ideas.

Brane

Brane is our LLM assistant and agent.

This week Thomas continued Brane's tool use capabilities. As a reminder, Brane can read a program's schema (i.e. to know what a program can do), query a program's graph (i.e. to fetch program data), invoke program actions, and create new programs. Expect to see more tools in Brane's toolbox soon.

While Brane becomes more capable with more tools, it also got smarter and faster this week. Thomas added context warmup and chat caching to speed up initial and subsequent responses, respectively. We're continuing to assess what Brane should automatically have in context and what manual levers you the programmer can pull. On that note—your feedback is always welcome!

Thomas also improved our markdown renderer, which is used liberally by Brane but also by the explorer and other UIs.

Inline completions

Like Brane, inline completions consider both context of the program you're editing and broad Membrane-isms (i.e. code patterns, syntax).

To enable inline completions, go to your editor settings (cmd+,) and select "Membrane: Enable Inline Code Completions." You can also select which model to run (but you don't have to——we'll default to the best one).

Inline completions settings

Romet has been fine-tuning Qwen2.5-Coder-7B with Membrane-specific training data. Completions should be fast and relevant today and faster and more relevant over time.

sys-db

As covered in previous write-ups, Romet implemented a system program, sys-db, that allows you to connect your PostgreSQL, MySQL, or Microsoft SQL Server database to a Membrane program. There's nothing to report this week other than new docs that you can follow to wire up your db.

Durable state is a core part of Membrane, so you don't have to BYODatabase, but of course there are some tools that need to access and modify your data.

Not So Big Features

We also shipped some other features and bug fixes throughout the week:

  • - Pete wrote a Membrane program and blog post that allows us to automating tests of our email verification signup flow
  • - Pete fixed a bug where the package publisher would not always refresh after updating a program
  • - Pete added a logout option to the email verification page to allow using a different account for signup/login
  • - Juan fixed a bug with context menus not always closing
  • - Jhonny added richer program status info in the file tree, like npm pacakge downloads and errors

- Pete Millspaugh (pete@membrane.io)

© 2024 Programmability, Inc.