Vector35 / Vector35/binaryninja-api

Show a log of changes for each snapshot

Open
#6,346 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Component: UI Effort: Medium Impact: High
Dominant language
C++
Stars
1.3k
Forks
298
Avg merge
5d 5h
Merged PRs (30d)
19

Description

What is the feature you'd like to have?
Enterprise users have wanted a way to view what has changed within a given snapshot since we've released the product. As a stop-gap, we've introduced a "commit message" where users can describe changes, and a "File Changelog..." dialog where users can view them. But, users (even non-Enterprise ones) have requested this.

Conceptually, I think this should be 'simple', since we should already have the metadata required to implement this. In reality, I think this will be difficult as we'll need to be able to show this to users in a way that makes sense to them and avoids performance issues.

Is your feature request related to a problem?
Users would like to know what has changed within a given snapshot. This is mostly relevant to Enterprise users where you are pulling in changes from other users and you want to know what changed. But, it's also relevant to non-Enterprise users that are receiving databases from others. And, as we continue to add ways for users to interact with their database, perform additional analysis with plugins, and so on, it would be great to have this functionality in the core product rather than just Ultimate/Enterprise.

Additional Information:
Issue migrated here from the internal Enterprise issue tracker.

We should also try and consider a future where we might want to let users remove a particular change from a snapshot (e.g. rewrite it without a given thing) when we implement this, at least from a UI/UX perspective. This is also desired, but is a considerable leap in difficulty-to-implement and not planned in any current roadmap.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by examining the existing "commit message" metadata and the "File Changelog..." dialog, then map how snapshot changes are represented and presented. Done means users can understand what changed in a snapshot without unacceptable performance, while leaving removal or rewriting of individual changes out of scope.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.