OPM Live

On April 10th we released Beta 6 (read changelog here). This update fixed a lot of internal issues with resolving and referencing SDK objects in dependencies and set the stage for the release of the public OPM Registry.

Registry Status

This week we wrote the registry and since we did it in scala, we were able to make use of the common & opm packages that are part of the core project. V1 supports creating accounts, registering namespaces, publishing new versions, and collecting a list of packages and their dependencies — all that we need right now. Everything works locally and this week we’ll be pushing it to a production environment on AWS. Beta 7 (coming this week) will implement a new provider that looks up and includes packages from the registry.

Editor Love

Some users have asked us to help them build support for favorite IDEs. This week we laid the groundwork for any user to build an Optic plugin for their favorite IDE by releasing a detailed editor plugin spec. In addition to the spec we released a python sdk and updated our javascript sdk. If your favorite IDE implements their plugins/extensions using one of those two target languages the process of building an Optic plugin has been rendered pretty trivial.

A big thank you to our first outside contributor Dave Bryand for starting the Optic plugin for Vim.

What’s Next?

Syncing

Most of the code programmers write is derivative. For example, we define models that become routes **which are then consumed by Forms** or **API Calls. **When you make a change to one of these sources of truth, for instance a model’s schema, the routes, forms and networking code in your app changes in a deterministic way. Many hours go into making these manual updates every single day and the monotony of the task makes the updates prone to bugs or omissions.

Optic is going to automate all those menials tasks by allowing programmers to specify relationships between different parts of their codebases. When a change is made to one of these sources of truth, Optic will calculate a diff and notify the programmer of the changes it thinks they should make. This functionality can even work between projects (ie changes to a Rest API written in Java affecting the networking code and forms of your React frontend).

Syncing is the last big feature on Optic’s V1 Roadmap and we plan to release it in mid-May.

Thanks to all our Beta Testers & Contributors!