What’s New in Upsource 2018.2

Please welcome Upsource 2018.2!

800x500_blogUP_2018_2_

The latest version of Upsource brings you a number of nice improvements to simplify the process of creating and updating reviews. There’s more automation and a lot of it is enhanced, so you can focus on coding and reviewing code instead of performing admin tasks. There’s also extra support for Java 9, and, of course the usual updates to the IntelliJ IDEA engine that manages the code warnings and suggestions.

Continue reading

Posted in Announcements, Newsletter, Release | Tagged , , | 1 Comment

Webinar recording: “Code Review Best Practices”

The recording of our webinar “Code Review Best Practices” is now available on JetBrains YouTube channel.

In the past we’ve looked at the specifics of what to look for in code review and code review best practices in Upsource, in this webinar recording we take a step back to look at what we’re trying to achieve with our code reviews, so we can maximize the value of the code review and minimize the pain.

About presenter:

Trisha_Gee
Trisha has developed Java applications for a range of industries, including finance, manufacturing, software and non-profit, for companies of all sizes. She has expertise in Java high performance systems, is passionate about enabling developer productivity, and dabbles with Open Source development. Trisha is a Java Champion and is a Developer Advocate for Upsource and IntelliJ IDEA.

Q&A

As promised, here are Trisha’s responses to questions that have been left unanswered during the webinar.
Continue reading

Posted in Webinars | Leave a comment

Live webinar: Code Review Best Practices

We’ve recently published a screencast highlighting some of the best practices teams may want to keep in mind when approaching code reviews. We’ve also shown how Upsource can help you follow these practices. Given how broad this topic is, we feel it deserves more attention. This is why we’ve decided to host a live webinar in which we’ll dive deeper into code review best practices with Trisha Gee.

Join us Wednesday, October 10th, 16:00 – 17:00 CEST (14:00 – 15:00 GMT / 10:00 AM – 11:00 AM EDT) to learn how your team can make code review process more efficient.

Upsource webinar: Code Review Best Practices

Space is limited, please register now.

About presenter:

Trisha_Gee
Trisha has developed Java applications for a range of industries, including finance, manufacturing, software and non-profit, for companies of all sizes. She has expertise in Java high performance systems, is passionate about enabling developer productivity, and dabbles with Open Source development. Trisha is a Java Champion and is a Developer Advocate for Upsource and IntelliJ IDEA.

Posted in Webinars | Leave a comment

Code Review Best Practices

We’ve created a new screencast outlining some of the best practices that apply to performing code reviews, and how Upsource can help apply those best practices. In this blog post we’ve also transcribed the content, and have provided links to further information.

Continue reading

Posted in Code review practices | Leave a comment

What to Look for in Java 9 Code

We’ve previously covered at What to Look for in Java 8 Code, now Java is moving faster than ever it’s time to do an update and cover what to look for in Java 9 code. While Java 9 has even now been replaced with Java 10, and Java 11 in coming in September, these Java 9 features are, of course, available in Java 10 and 11. If your application is using any version later than Java 8 you may benefit from these tips.

Continue reading

Posted in Code review practices | Tagged , , | Leave a comment

Upsource 2018.1.584 is available

The new update comes with a number of bug fixes including a fix to a regression in JIRA integration where it was not possible to enable it for newly created projects (UP-9992).

For those of you using the Upsource Integration IDE plugin, this update brings a small new feature. You can now share the Server URL setting you’ve set in your plugin with the rest of the team (UP-9637).

Check out the complete release notes and download the new build.

Posted in Update | Leave a comment

Orderly code reviews in Upsource

Code review like no other development practice relies on humans being efficient. And for most of us to achieve that, it’s important to have our tasks well organized and our time well planned.

Upsource takes care of a lot of things for you without any need to configure anything. For example, if you have a branch review, it’ll automatically add new revisions to it. It’ll promptly notify you about things that require your attention. It keeps track of which changes you have seen, and which you haven’t so that you only need to review those you haven’t seen.

With some configuration required you can automate away a lot more. You can set up a custom workflow that can create reviews, assign reviewers from a certain pool of users, close reviews and/or resolve discussions upon everyone accepting the changes.

If that’s not enough, Upsource gives you some tools to add that extra orderliness. Let’s look at some of them.

By and large, it is preferable for reviewers to do their part as soon as possible so that code reviews do not pile up, block the process, become less relevant, and harder to merge. However, it may happen that a certain reviewer or a group of reviewers accumulates a number of code reviews to go through. In such scenario, it would be helpful to them to be aware of the priorities of those code reviews. One way to go about it would be to have a habit of manually setting a Due Date for code reviews when you know it.

Code Review Due Date

Alternatively, as a team, you can have code review-level labels to signify priorities. You can have a single label to mark certain code reviews as “urgent” or create a more granular system of priority labels.

Code Review Priority Labels

Labels, of course, can be used for other things too. For example, if you create a code review for a branch or a pull request, and want to consult with your colleagues on some design decisions early on, when it’s not too late to discuss these things, you can label that review as “help wanted”. If, on the other hand, you’re not ready to show your changes to reviewers, you can put “work in progress” there and switch to “ready for review” when needed.

You can, if you want to, use code review labels to identify the type of a change in a code review (bug, feature, etc.), although, one can argue that it’s more appropriate to have this information in either commit message or linked through an issue tracker ticket. On the contrary, labeling discussions within a code review can be helpful. Upsource has pre-defined discussion labels like “bug”, “enhancement”, etc., but you can, of course, add more. For instance, “technical debt”.

Discussion Labels

When starting a discussion in a code review, you can also structure your own feedback in an actionable manner. If you have a number of suggestions on how to improve the code you are reviewing, use markdown to generate a checklist in your comment. Indicate incomplete items with - [ ], and completed ones with - [x]. This will render a list of checkboxes in the comment. As you or the code author go through the checklist, you can simply check or clear boxes to automatically update your checklist.

Checklist in a comment

Last but not least, check your notification settings – click on your profile picture at the top right corner, and go to “Notifications”. While the most important notifications are turned on by default, there are some that are considered optional but you may find useful. Like, a reminder that you have forgotten to complete a review, or notification about activities sync with GitHub.
You can also customize your notifications to receive updates on very specific things like certain files being changed.

Custom Notifications

While there’s no “one suits all” guide on how to better organize your code reviews, I hope you’ve found some ideas in this post that’ll work for your team.

Happy code reviews!

Posted in Code review practices, Feature | 2 Comments

Upsource 2018.1.539 update is out!

In this Upsource update we have made adding revisions to a code review a little easier (UP-9849). Also, a revision’s page now has links to its parent revisions to provide you with more context (UP-9879).

The IDE plugin gained the ability to merge pull requests for GitHub and GitLab projects.

As always, an update like this comes with a bunch of fixes. To name a couple, we have addressed the issue of Upsource not working in Safari in certain setups, and the problem with filtering suggested users (UP-9875).

Built-in Hub was updated to version 2018.2.9958.

Last but not least, if you have a large Upsource installation and you have been experiencing memory consumption issues, this update contains some important fixes for such installations.

If you’d like to see the complete list of fixes, take a look at the release notes. Now, go ahead and download the new build!

Posted in Update | 4 Comments

Upsource 2018.1 is out!

Good news, everyone – Upsource 2018.1 is here! This release adds a number of frequently requested features to give you even more control over the code review process. It also incorporates brand new versions of IntelliJ IDEA engine, Hub, and Cassandra. But there’s more – read on for the release highlights.

Code review labels
To help your team better organize code reviews, Upsource 2018.1 introduces code review labels. Use them to mark urgent code reviews, categorize different types of code reviews, and add any other significant identifiers that will help you later find the code review faster. This functionality also allows Upsource to support GitHub pull request labels.

Attachments in reviews
Previously, you could attach images (e.g. screenshots) to Upsource code review comments. With this release, we’re taking this functionality one step further. Now you can attach a file to a code review comment, for instance, a relevant piece of documentation, some specifications, or any other file that isn’t in your repository.

Mark file as unread
To give you more control over the code review process and pace, we have added an option to mark a file as “unread”. This way you can clearly see which files you intended to return to and so be sure not to forget anything.

Checklists in comments
If you have a number of suggestions on how to improve the code you are reviewing, use markdown to generate a checklist in the comment. Indicate incomplete items with [ ], and completed ones with [x]. This will render a list of checkboxes in the comment. As you or the code author go through the checklist, you can simply check or clear boxes to automatically update your checklist.

Updated IntelliJ IDEA and Hub
This release comes with a built-in Hub 2018.1 which brings in the required functionality so you could make your Upsource instance GDPR compliant.
We have also updated the IntelliJ IDEA engine to enable support for Android Studio 3.0 projects, and we have switched to a newer Cassandra.

Built-in TLS support
In this release, we have added built-in TLS support that allows you to establish an encrypted HTTPS connection with TLS (SSL) between your Upsource server and its clients. You can configure all the necessary settings in the Upsource installation wizard. What this means is that you no longer have to use a third-party TLS-terminating proxy server although you still can if you choose to.

There’s more! If you’d like to learn more about the new Upsource 2018.1 features, please check out the What’s New page.

Eager to try? Download the build and don’t forget to backup your current instance!

Posted in Release | Leave a comment

Upsource 2017.3.2888: security update with functionality for GDPR compliance

This Upsource update addresses a recently discovered security issue and is recommended for all users.

Upsource 2017.3.2888 also includes the latest version of Hub (Hub 2018.1). This new version introduces an important feature — “User Agreement”. It is required for GDPR (General Data Protection Regulation) compliance.

Hub 2018.1 comes with the functionality to store a user agreement to meet GDPR requirements. To access and use Hub, users should accept this agreement. If you are an admin, you are now able to add the agreement, edit, and download it.

This lets you collect and track individual acceptance of an information notice as outlined in the General Data Protection Regulation (GDPR) requirements for businesses that operate in EU member states.

Additionally, this build contains a number of bug-fixes.

Check out the Release Notes for more details and download the build.

Posted in Update | Leave a comment