Today I welcomed more than 1,500 people to our second annual Universe conference in San Francisco, an event designed to celebrate the people building the future of software. It’s an important reminder about who we’re here for—whether it’s the open source maintainer whose project is transforming healthcare, an automotive company building a self-driving car, or a teenager teaching herself how to program after she finishes her homework.
Our goal is to make building software easier for you. And with that goal in sight, we’re announcing our biggest update to the platform yet. We’re making it easier for you to work together to ship high-quality code through improved code review tools, and we’re giving our profiles an update to better show who you are as a developer. We’re making integrating with GitHub a first class experience through major API improvements. And we’re taking steps toward making GitHub a better place for businesses to get work done with added security measures for organizations.
I’m proud of our team for coming together to ship so many improvements to the platform, and I hope you’ll find them useful as you continue to build amazing things. Read on for more specifics, and keep an eye out for continued improvements to your GitHub experience in the coming months.
Taking projects from idea to launch isn’t easy. There’s a lot to coordinate behind the scenes, and so many tools out there to help you organize and distribute work. To help you integrate project management into your development cycle without skipping a beat (or even opening a new browser tab), we’re introducing Projects.
With Projects, you can manage work directly from your GitHub repositories. Create cards from Pull Requests, Issues or Notes and organize them into custom columns, whether it’s “In-progress,” “Done,” “Never going to happen” or any other framework your team uses. Drag and drop the cards inside a column to prioritize them or move them from one column to another as your work progresses. And with Notes, you can capture every early idea that comes up as part of your standup or team sync, without polluting your list of issues. For more on what’s changed, watch this quick overview.
Although we’ll quickly be adding to Projects, our initial release currently supports:
- A New Projects tab–at the same level as Code, Issue, Pull Requests within a repository–that lists all of your projects
- Workflow columns that you can name and reorder
- Cards that you can drag and drop between columns pointing to issues, Pull Requests, or notes
- Tools built on top of Projects by some fantastic partners, including Waffle.io and ZenHub
Collaboration is the core of building great software—and code review is critical to collaboration. When another person looks at your code and gives it the same level of critique that you did while writing it, your work gets better. We’re improving code review on GitHub to help you share the weight of building software and improve the software you build.
Designing the best way for you to review code is a continuous process, but our first step is now available on all pull requests—Reviews. In addition to commenting on specific lines of code, Reviews let you formally “approve” or “request changes” to pull requests. You can also leave a review summary and delete, edit, or bundle comments before you submit them.
To streamline conversations and cut down on noise, you can reply to inline comments without drafting a formal review or starting a new conversation. This also means you can have multiple conversations per line of code—creating more explicit feedback loops, smarter conversations, and better code review.
Finally, administrators can require Reviews before merging via protected branches. When Reviews are required, you must have a least one approval and no changes requested before you can merge.
These changes are only the first step of a much greater roadmap toward faster, friendlier code reviews. We’re working on a handful of follow-up feature improvements—including the ability to request reviews from your peers. For more information on Reviews, including what we’ve shipped today, check out the documentation or a quick tutorial video on Reviews.
Developers use a variety of tools to ship their software and we’ve seen hundreds of integrations built to work with GitHub. Now we’re shipping some major improvements to our API and adding new ways to collaborate transparently not only with GitHub engineers but also the broader community of integrators. As host to the largest community of developers, we want to make the GitHub platform uniquely enjoyable for integrators to build applications that change how people work. Here’s what we’re launching right away:
- A public Platform Roadmap that demonstrates what GitHub Platform Engineers are launching next and why
- A formalized process to solicit feedback and launch updates to our platform
- Early-access and pre-release programs that let you access new features and APIs and provide you with the support you need to ensure launch readiness for the software you build on top of GitHub
- The GitHub Platform Forum which provides a direct communication channel between ecosystem developers and GitHub engineers.
With that, we are excited to announce two new projects that aim to make our platform more flexible:
We’re rethinking our integrations model to provide better ways for tools to extend and integrate with GitHub. We’ve added the ability for an integration to act on its own behalf instead of impersonating a user—making it a first class actor on GitHub without using a paid seat. Admins will have the ability to configure integrations directly on Organizations and control which repositories they allow access to. Read more about Integrations on our Developer Blog or check out the documentation.
The GraphQL API simplifies your product development by letting developers access all the data they need, and only the data they need, with one API call. With the GitHub GraphQL API, you get the same API we use to build GitHub features. To learn more and see how it works, check out our Engineering Blog.
Organizations on GitHub are the best way for teams of developers to build and ship software together, and with the added security of two-factor authentication enforcement and upcoming product enhancements, they’ve never been better.
Now Organization administrators can require two-factor authentication for all members—making it easier to support security policies.
Admins will be asked to confirm the two-factor authentication requirement and a confirmation modal will list members and forks that will be removed as a result. GitHub will notify members if they’re being removed from an organization with email and in-product notifications. Finally, as always, admins can invite members back with their forks and settings intact once their security is up to speed. Read more about requiring two-factor authentication in your organization.
Over the last few years, we’ve rolled out LDAP and CAS to securely and efficiently manage permissions on GitHub Enterprise. Now we’re making sure businesses on GitHub.com have the tools they need to automate identity and access management. Our first public launch is a SAML-based Single Sign-on (SSO) option. Administrators will have the ability to manage their GitHub users through the identity provider that already manages access to the host of applications they use in their current workflow. This option isn’t ready quite yet, but it will launch as a beta in the coming months. Sign up to try it out when it does.
We’re grateful to have a community of more than 16 million developers. While developers gain experience implicitly on GitHub as they work alongside other developers, we know that’s not enough. To help, we’re creating a dedicated space for you to learn from each other—and to have conversations about GitHub itself.
The GitHub Community Forum will become a place where developers can talk shop, get help, and learn together. It will also help us introduce new features and improvements and give developers the ability to share thoughts and feedback with us directly. Look out for the GitHub Community Forum in 2017.
Your profile now contains your entire history of work on GitHub, from your first commit to your most recent pull request. And a per-repository breakdown reveals where you’re spending your time each month. You can see special events in your history—the day you signed up for GitHub, opened your first pull request, or joined an organization—and showcase your best work by pinning favorite projects to your profile. For more on what’s changed, take a look at the documentation or watch the video.
While I’m really excited about these improvements to GitHub, I’m more excited to see what you’ll create with them.