Changelog 4

November 5, 2021

Whats New in Verve

I'm incredibly excited about our most recent release. It's packed with workflow improvements in the System Editor, the addition of Verification Status for Verification Events, frequently requested features in the Approvals workflow, and a string of bugfixes, technical debt reduction, and backend development work. Please scroll down for more details and animations!

Additionally, while most of our emails highlight the features built in the frontend of our web app, at the core is an API-accessible graph database capable of capturing a wide swath of engineering decisions. In this release we've also added significant polish to the OpenAPI reference page typically used by our internal developer team, and are happy to highlight this for our customers wishing to build out advanced integrations. If you aren't sure how to access the API documentation in your deployment, please email our team or ask on Slack and we'll help get you started!

Lastly, Zeke and I will be heading to the AIAA ASCEND conference in Las Vegas, NV, November 15-17. We'd love to meet up in person and learn about your systems engineering needs, so please send me an email if you are interested in setting up a time to meet.


New: Verification Event Status

ve state2

The Verification Event item type now has a selectable status. We'll be expanding the use of this status to other parts of the app in the coming releases.

New: Simplified Tree and Display Options; Improved Relationship Manager

manage relates and tree change

We've added a new view of the system editor, called "simplified." Currently, our classic (now labeled "advanced") view of the system editor generates a complex tree spreading all items with their various relationship types inline. With this release, we've added an option to view a simpler hierarchy that only shows "contains" relationship types, leaving "verfied_by", "derives", and others to be indicated in other areas. In the coming releases, this will be paired with a "relationships" tab detailing in a single location the items immediately upstream and downstream of those items along with detailed metadata on approval status, verification status, and relationship type.

During this process, we've also consolidated the array of view option buttons into a single dropdown list. By default, the "advanced" view is still selected, and you can switch to the "simplified" view as needed.

New: Comment on Approval Rejection, Abstain Option

reject abstain

We've improved the Approval flow by now requiring that any user rejecting an item to provide a comment detailing their reasoning. Users also now have the option to select "abstain", should they feel their approval or rejection is not appropriate and do not want to sway the item's status towards rejection or approval.

Improved: Add Item Is Now Context-Aware

context additem-1

Add Item now provides context-relevant options depending on what kind of parent item you have selected. For example, if you're adding a Requirement to a folder, it will establish a "contains" relationship as that folder contains the requirement. If you go to add that same Requirement to another Requirement, it will instead establish a "derives" relationship between the two requirements.

November 5 Release Notes

See below for a detailed list of changes in this release. It's since been rolled out to our existing cloud customers, as well as made available in our delivery repo for our self-hosted customers.

Most of these updates not otherwise detailed in the above discussion were either technical debt resolution or incremental work supporting the imminent release of our branching and merging feature.

Core Product

  • Authored detailed API documentation and made available via deployment's /openapi/ui address
  • Update GET /relationship/item/pid endpoint to accept an array of rtypes and return only a list of items that can be traversed through those rtypes
  • Updated endpoints that return one or more Items, to ensure the Items return a list of all Parents (including their IDs, rtypes, and titles), matching the list of Children returned. This replaces the single “parent” endpoint returned.
  • Added an option to add a Project via the Project dropdown menu.

System Editor

  • Manage Relationships dialog now allows user to set relationship type
  • Simplified system editor produces a tree that only shows "contains" relationships. (A future update will add other relationship types)

Branching and Merging

  • Finishing up the Merge endpoint by including relationships, item/group mappings, and file locations.
  • Added an option to the frontend Branch dropdown to begin a Merge of two branches and kick off that flow.

Bugfixes and Technical Debt

  • Significant refactoring of how the frontend handles interactive modals.
  • Fixed a regression that occurred in the calculated group approval state. A group's member item Group Root's approval status is no longer taken into account, as it is a virtual item used to compute a tree and not an actual engineering artifact.
  • Adding a new item as child to an existing item while viewing a group had an unexpected behavior
  • When creating a group, we were not passing in the userid of whoever is creating the group but instead "system". We now pass in the relevant userID.
  • Locked down backend access further by removing the provided userID and instead relying on provided authentication token when recording which userID made an update.
  • More cleanly hide error traces when an error occurs during a production deployment.
  • Update the error handler to handle an undefined project, or a situation where the localStorage is corrupted or updated to an invalid project ID.
  • Prevent ItemGroup with blank spaces from being added
  • Selecting a new project via the dropdown would occasionally not correctly load the next project.