Advanced Transformations

This week we released Optic Beta 3 which came out on March 25th. You can go download it here.

The major feature we released this week are Advanced Transformations. We announced this feature and the rationale behind it in our last Weekly Update. At the time we thought it would take around 2 weeks to finish so we’re happy to ship it a week early.

Advanced transformations allow you to use one section of code to generate another section of code. The updates we’ve made allow these transformations to pull from an arbitrary number of Optic knowledge packages to render a complex piece of code. For instance a Model can be turned into a Create Route by connecting the knowledge from Express-JS and Mongoose into one section of code.

Here’s the full change log (all built this week):

  • Advanced Transformations fully supported. You can see the commit here and read the docs here.

  • Updated Transform SDK Objects

  • Ask SDK for Optic Markdown

  • Nested code rendering API

  • All Renders go through the same code generation pipeline now

  • Object Literals can have generated code used as their values

  • Knowledge graphs can now be serialized, sent to the client, and used to present dropdown options/autocompletions

  • Markdown parsing caches for better performance

Bug Fixes:

  • Fixed issues where Node/NPM install checks were showing on startup even if those programs were installed

  • Fixed issues with Schema References not working for some version numbers

What’s Next:

Update Pipeline:

As discussed last week, we’re trying to figure out the way to push Optic releases to our users. We’d prefer Optic to be like a website where we could update the system several times a day, but that isn’t feasible with a desktop app.

Before we push any new Optic capabilities we’re going to spend a few days incorporating Sparkle into the Optic macOS app. This will enable us to push patches (5–10MB) to our users when they open the Optic App. With those changes in place we’ll be able to push out changes as soon as they pass our integration tests and get through QA.

This will be included in Beta Release 4, slated for the end of March, and should be the last version of Optic you have to download from our website until we finish the Beta.

Optic Markdown Tooling

Optic Markdown is pretty simple, but it’s very hard to test and debug. Even we have trouble using it and almost all our Beta Testers have been asking for better tooling. We’re going to make it happen. What would you like to see here? Any ideas for the best way to implement these tools?

Please let us know by commenting on this post or reaching out to us on Twitter.

Thanks so much to all our Beta Testers! More to come!