This week the team merged 20 PRs with 2 major themes!
QA and Reliability
In Optic 8, the diff engine was completely rewritten to support Optic being deployed in production. There are still some bugs in the new diff engine, and we’re working hard to fix them and write unit tests to improve reliability between releases.
- Dev created a snapshot testing rig that makes it easy to snapshot test all of Optic. If a PR breaks diffing or other important behaviors it can’t be merged.
- Aidan made a simple DSL for unit testing different diff use cases. This will help us increase coverage on the diff engine and prevent future breaks.
- We launched the Debug Capture, which allows users to safety share captures with our team so we can reproduce their bugs. The Debug Capture uses Shape Hash to remove sensitive values from bodies making it safe to share with our team.
Deploying Optic in Production
Users have found ways to get Optic into deployed environments and aggregate captures from multiple nodes. This capability has been a big ask, and we’re in the final stretch of getting an officially supported approach into the core project.
The code has started making its way out of experimental + POC branches and into the core project.
- The POC optic-agent is introduced in See #173
- Shape hashes are now base64 encoded instead of byte arrays
The main benefit of running Optic is production is the Live Contract Testing dashboard Jaap has been working on — this week a lot of the finishing touches were added. The work on this feature is finally going vertical, laying the groundwork for consuming real reports from live environments.
Through our testing efforts, and with the help of users sharing their debug captures, we identified the source of most of the bugs. We’re hoping to ship important changes that make Optic much more reliability.
At the same time, we’ll work towards getting the Optic Agents for prod released in the main project and start on-boarding users to the live versions of Optic. If you’re interested in trying these new features out setup some time here!
As always, if you have cool ideas for Optic, questions about how to use the tool, or just want to chill and talk open source — you can schedule a Meet the Mainers Zoom call anytime.
Thanks to all our users 😃! Have a great weekend!
P.S -- sounds cool? Want to work on Optic full time. Check out our Jobs Board