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

Upsource 2017.3.2774 update is out!

Please welcome the first Upsource update of the year 2018. It comes packed with bug fixes and improvements.

Among major changes we’d like to mention, we have updated the database engine and performed a massive refactoring of the database layer to increase responsiveness, especially on larger installations.

We’ve also introduced a couple of small features:

  • UP-9474: Support searching for reviews by branch name
  • UP-9493: Add the ability to remove (or hide) predefined labels
  • UP-9508: Reopen review when commit matches review or issue ID

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

Posted in Update | Leave a comment

Upsource 2017.3

Hi everyone!

With holidays just around the corner, we’re happy to bring you one more Upsource update – Upsource 2017.3. The major focus of this release is on updating the core Code Intelligence engine to bring you all the newest code inspections and navigation functionality for all the supported languages.

Updated code intelligence engine

Apart from this, we’ve added some features you may also find useful, such as:

  • User groups in custom workflows
  • Read/unread status of reviews
  • Discussions filter in all code views
  • Built-in Hub was updated to 2017.4
  • And more!

Check out our What’s new page for more information and download the new version.

PS: We haven’t changed the database version in this release so you can upgrade your instance as you would with a bug-fix update.

Happy code reviews!

Posted in Release | 2 Comments

Upsource 2017.2.2398 is out!

A new bug-fix update for Upsource 2017.2 has been published — build 2398. It contains more compatibility fixes for Google Chrome 61 as well as several other improvements:

  • When running a distributed installation of Upsource with multiple analyzers, it is no longer necessary to manually distribute projects between analyzers as this is now done automatically.
  • When code intelligence is enabled, Upsource is now able to detect the build system automatically: IntelliJ IDEA, Maven, or Gradle. It is still possible to configure it manually, of course.
  • PHP Composer support was improved significantly.
  • Some Gradle projects rely on the “Create separate module per source set” option being disabled in IntelliJ IDEA. It is now possible to disable it in Upsource as well.

See the Release Notes for more details. This minor update is recommended for all users and can be downloaded by following this link.

Posted in Uncategorized | Leave a comment

Upsource 2017.2.2307 update is out

Today we have published a new bug-fix update for Upsource 2017.2 — build 2307. It contains important compatibility fixes for Google Chrome and a number of other fixes. This minor release is recommended for all users. Check out the Release Notes for more details and download the update.

The Upsource Team

Posted in Update | 4 Comments

JIRA Workflows support in Upsource

If you’re using JIRA workflows and have code review as a part of it, you’ll be pleased to find out that Upsource 2017.2 can apply issue transitions automatically.

Let’s say you have a JIRA workflow set up that looks something like this. We won’t go into detail on how to configure a JIRA workflow – please refer to JIRA documentation.

JIRA diagram

Now, if we look at the text version of it, we’ll see which transitions we should let Upsource know about:

JIRA transitions

We, of course, assume that you already have JIRA integration enabled and configured in Upsource. If not, check out this post.
Now, in Upsource, go to Integrations tab in your project’s settings, and simply fill in the transitions names you want Upsource to apply to JIRA issues when a code review is updated.

Transitions in Upsource

That’s it! Have fun reviewing and enjoy smooth workflow integration!

Posted in Feature | Leave a comment

NPM support in Upsource 2017.2

In the latest Upsource release we have further extended the reach of JavaScript code intelligence by introducing support for npm and yarn package managers.

Upsource will look into your package.json file(s) and install the required dependencies so that you can get more out of Go to declaration and Find usages actions.

The downloaded dependencies are intelligently cached.

npm support

Here’s how you can enable JavaScript support in your project:

  • Make sure Node.js, npm and/or Yarn are installed on the Upsource server.
  • Remember: it’s better to have package-lock.json (for npm) and yarn.lock (for Yarn) stored in version control, it makes installation of dependencies much faster.
  • In Upsource, go to the Code Intelligence tab in your project’s settings, and click Enable.
  • Choose your JavaScript flavor, and enjoy!

Want to learn more about JavaScript support in Upsource? Check out this post.

Posted in Feature | Leave a comment

Upsource 2017.2.2197 is hot off the press

Please welcome the first bug-fix update for Upsource 2017.2 — build 2197. This minor release contains over 30 fixes and is recommended for all users. See the Release Notes for more details.

Posted in Release | Leave a comment

Python support in Upsource

The latest Upsource release brings Python code insight functionality to help developers understand new changes in a familiar manner and be more efficient when reviewing them.
The code insight features in Upsource include server-side static code analysis and code-aware navigation. These features allow you to understand code better when browsing through it and perform code reviews more efficiently. Let’s take a look at them.

Navigation

It might seem like a trivial thing, but the ability to navigate through the code is something we simply take for granted when using an IDE. Yet these features are often missing when viewing code in a web-based tool. Upsource, however, lets you click on a symbol to navigate to its declaration.

Python Navigation

When there’s a new change, you most likely would like to see its impact. Say, if a function has been modified, you’d probably want to know how it affected its usages. You can see in the screenshot above that you can simply highlight symbol’s usages in the file when browsing it, or find all usages. When viewing the contents of a commit, in addition to Find Usages action, you can get a usages diff that helps to learn how this change affected the usages of a particular symbol.

Find Usages

Intuitive navigation is great for a reviewer as it lets you browse through the code in a way that’s natural for you, rather than having some arbitrary order imposed on you – it makes it easier to see the context of the changes under review.

Static code analysis

There’s another IDE feature that would be extremely useful during code review – code inspections. You’re probably used to an IDE, like PyCharm, giving you pointers on where the code could be simpler, clearer, and generally a bit better. If your code review tool offered the same kind of advice, it would be easier to evaluate the quality of the code.
Python Code Inspections

Introduced and fixed issues

You can see the static code analysis results for any revision when simply browsing the code or doing a code review. However, when a change is part of a code review, you get additional help from Upsource. It shows what problems have been fixed with the new change and what new possible issues the change introduced.

Introduced issues

Upsource aims to make code review not only as painless as possible but also provide as much help as a tool can, freeing you up to worry about the things that humans are really good at.

Great! How do I get started?

To configure Python support in Upsource, go to the Code Intelligence in your project’s settings. Choose the version of Python and make sure to have python, pip, and virtualenv installed on your Upsource service. Happy reviewing!

Posted in Feature | Leave a comment