GitClear made strides in its security posture, AI research, and implementing several customer requests during the first quarter. Other areas of focus have been "improved notifications," "diff viewer upgrades," and "snap changelog upgrades."
Here are the level-ups that GitClear delivered for our customers in the past couple months:
One of the highlights from this quarter is the release of GitClear’s newest AI research paper, which has generated a wave of interest among media (LeadDev, TheNewStack, Software Architecture Insights).
Our 211m lines of changed code measures the extent to which code refactoring has plunged as a percentage of all work. TheNewStack article by Steve Fenton helps to frame the implications of developers abandoning long-held principles like "Don't Repeat Yourself":
Before we became productivity-obsessed, there were some foundational practices that the software industry found to be highly valuable. One of these is refactoring. You build more reliable systems when you continuously revisit your code to keep components loosely coupled and to make sure you define concepts just once. You would keep things together if they changed for the same reason and tease them apart if they had different drivers for change
My bookshelf creaks beneath the weight of software design literature by Kent Beck, Emily Bache, Martin Fowler, Robert C. Martin, Michael Feathers, Rebecca Parsons, Steve McConnell and more. These books contain lasting techniques and practices that are vital to successful software over the long haul. Coding assistants don’t change the fundamentals of software development..
As we have discussed with some of the technical minds on LinkedIn, it's not that we believe AI will always be poisoning repos with redundant and semi-redundant code. But we need to spark lively discussions about best practices for authoring code that is maintainable in the long-term. If GitClear is correct that "implementing fewer, better-designed methods" is preferable to widespread duplication, then we need to ensure that the makers of next-generation AI Assistants will dedicate more attention to avoiding copy/pasted code than they have to date.
We’re proud that this paper underscores our commitment to bringing empirical rigor to the engineering management domain. If you haven’t already, we encourage you to explore the paper to learn more about the methods and results that are helping shape modern software development metrics.
After some 12 months of gradual progress, we have finally finished the audit and achieved full SOC 2 Type 2 accreditation.
This is on top of our ISO 27001 Audit and our recent penetration test. GitClear takes the security of code as our highest priority, but we thought it was important to back up our stated intent with our proven actions, so here we are, with the full set of security credentials:
Of course, the other essential element of a secure product is transparency, which is why we try to share every applicable detail of our infrastructure. We also offer financial rewards to any security researcher who presents us with a security weakness that we act upon.
Effective communication is critical for development teams, and we’ve made several updates to ensure that notifications are more flexible and user-friendly.
Teams can now publish notifications to Slack in addition to email and the GitClear dashboard. This ensures that important updates are visible in the tools teams already use daily. Teams can also set a default Slack channel for all notifications. We are also open to allowing publishing notifications to Microsoft Teams if a large customer requests it.
Notification update emails can now be marked "reviewed" en masse, so that they don't show up as "unread" upon visiting the site (and don't get re-sent again later).
We’ve rewritten the weekly email that showcases Weekly Developer Highlights, to fix a bug that was causing 30% of developers not to receive the email:
These updates ensure that teams stay informed and aligned, no matter where they are or what tools they prefer. Developers are encouraged to click into their recent historical graphs in order to use the built in "share" functionality to surface their greatest recent accomplishments to their manager(s).
By default, if more than 3 days elapse between when a developer makes a commit, and when a commenter leaves a comment, this notification will nudge the participants to keep the momentum of the pull request rolling along.
When you visit Highlights => Goals, we will now recount your recent performance on the goals you set for your team.
Our Snap Changelog feature has received several enhancements to make it more versatile and user-friendly.
Now, any work that a developer publishes over the course of the year will be published in the newly launched "Annual Review" tab available under the "Work in Review" primary tab.
The "Annual Reviews" tab shows visual Committer Changelogs from the past year
This upgrade offers a prime opportunity for developers to tell their own story about what they accomplished over the course of the year, to ensure that their greatest achievements are immediately available when their annual review day rolls around.
Teams can now configure Snap Changelogs to publish charts for internal team use, in addition to building them to share with the general public. This allows for more targeted sharing of progress and insights.
We’ve added a “Share” link to Changelog elements, enabling users to easily copy and share URLs for specific changelog improvements. Click the link if you don't believe me. 😉
A fully functional changelog editor is now available from the Commit Activity Browser, making it easier to document and publish changes.
No longer is it essential that you remember to preface a commit with "#pub," you can just click "Publish" when reviewing your commit (or a teammate's commit) any time
These updates make it easier for teams to document, share, and review their progress in a way that suits their workflow.
We’ve introduced several features to streamline code reviews and pull requests, helping teams maintain high standards of code quality.
The diff viewer now shows the function context for the code being reviewed. If the function/method has documentation, that can also be viewed. A link to view the full function code is also provided.
We now show the function, arguments, documentation, and a link to see the full function
A new tab in the “Recent Activity Summary” module shows pull requests awaiting review, helping developers prioritize their work.
Teams can now set a goal for the maximum time allowed between rounds of activity in multi-round pull requests. This helps keep PRs moving forward efficiently.
Teams can now toggle whether a committer’s activity should be included in stats, providing more flexibility in how contributions are tracked.
How dare GitHub launch a diff viewer feature before us?! 😉 After seeing a notification that they allowed users to toggle between "split" and "unified" diff without a page reload, we remembered that we had intended to offer the same. About 4 hours later, diff viewers of GitClear rejoiced:
These features empower teams to manage pull requests more effectively and ensure that code reviews are thorough and timely.
Understanding and improving developer productivity is a core focus at GitClear, and we’ve added several tools to help teams measure and optimize their performance.
Area charts will now automatically zoom in when a user clicks to hide or reveal a series. This makes it easier to see what is happening with the smaller segments in a chart.
No more hiding a section of the chart and being unable to clearly see the scale of the remaining data. Thanks for the suggestion, Davit!
We’ve finished implementing the team goal that monitors "file complexity." We now calculate the 80th, 90th, 95th and 98th percentiles of complexity for code files in different categories ("Python," "AI," "Typescript tests," etc). When a file is changed, with an update that adds at least 5% more complexity to a file that was already in the top tier (relative to the threshold that was chosen when setting up the team goal), a notification is generated.
If the user chooses a duration interval other than "Instant," like "Weekly" or "Monthly," then we will generate a notification if we observe that a file has gradually become at least 5% more complex, when it was already at the 80th/90th/95th/98th percentile of complexity (again, depending on if you set the threshold to be "Very aggressive," "Medium" or "Very lax").
Developers, Managers and Executives can now privately calibrate their intuition to the five major development metrics (Commit count, LoC changed, PRs opened, Story Points complete). For the most skeptical users, this tool lets them directly measure the extent to which Diff Delta corresponds with their natural intuitions about the speed their teammates change code at.
This functionality is made available via an email that is sent within a week of signing up. The data is never shared with any teammate. Once we get several hundred data points, we plan to release the cumulatively aggregated correlation observed between the various metrics, so if nothing else, participate for science! 🧪
Critical Defects submitted via the API have a new "Category" key available, so that users can better group defects when assessing them during a postmortem.
We have also made several a series of dogfood upgrades to the notification for Google DORA Cycle Time, which is based upon the time measured to resolve Critical Defects. Now, when you receive a defect, you receive a link to "See all details" about the defect, plus a link to "Mark defect as resolved" when applicable.
In addition to the major updates outlined above, we’ve made several smaller but impactful improvements:
Trial Eligibility for Free Plan Users. Users who initially signed up on a free plan can now begin a 15-day trial of our elite plan, giving them access to advanced features.
Issue processing for non-Jira users: We will now identify and create placeholder issues for customers using non-Jira, non-Github issue trackers, so it's still possible to see the largest tickets that have been worked on in the recent past
Squash commit processing: We now check for pull requests that are merged via squash, and ensure that the commits that were outdated are stripped of their Diff Delta while the squash commit receives full Diff Delta, and processes up to 2x the normal number of changed lines.
Team Managers can update team member names. For users that have not yet signed up for GitClear, they can now visit the team page (which is newly linked from the "Selected Developer" area) and click their name to change it
Bots now auto-separated from charts. Previous bot handling would ambiguously show them on CAB, showtimes show them in PRs, and sometimes show them in graphs. Now, if a user purchases a seat for a bot, it will by default show only in PR feedback, but can be configured in the Team Viewer to show in more contexts if desired.
Add CSX and Astro as file types processed. We are also now processing the Astro Open Repo, having heard from the Syntax podcast that this build framework was the royal hotness of 2024.
We’re committed to helping teams write better code, faster, and with a more joyful developer experience. If you're a GitClear customer, you've probably already observed that we frequently base our roadmap around the use cases our customers present. Become a customer, and help direct what we build next.
To stay up-to-date with our daily updates, visit our Snap Changelog or explore our latest AI Code Quality Research.