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.
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.
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.