The Wayback Machine - https://web.archive.org/web/20180617150756/https://blog.github.com/

Project board issue and pull request details view

You can now view and edit key information in issues and pull requests from within your project board.

Clicking on the title of an issue or pull request card opens a side panel on the right hand side of the screen. The following actions are supported within this side panel view:

  • Adding and editing reactions
  • Adding and removing labels
  • Editing titles and descriptions
  • Editing assignees
  • Editing and requesting reviewers
  • Editing projects the issue or pull request is in

Details view animation

Additionally, clicking the link at the bottom of the side panel view opens your issue or pull request in a new tab while your project board remains open.

Read the documentation for more information.

Release Radar · May 2018

GitHub Release Radar · May 2018

You may have noticed there were a lot of great open source releases this past month. Here are a few of our favorites.

mitmproxy 4.0

mitmproxy is a versatile and interactive man-in-the-middle proxy for HTTP and HTTPS traffic, letting you inspect, modify, and play back web traffic. The latest release, mitmproxy 4, sees substantial speed increases and other improvements, such as new keybinding configuration and support for Python versions 3.6 and above. Read the project’s release blog post for more details.

mitmproxy in action

Did you know? mitmproxy has been used to help discover many security vulnerabilities. Learn more about them on mitmproxy’s publications page.

Electron 2.0

Electron is a framework for developing desktop apps with JavaScript, HTML, and CSS. Electron has recently shipped version 2.0, which marks the beginning of Electron’s adoption of Semantic Versioning and a new process for pre-release stability. Head over to the Electron blog for more details.

Did you know? Electron was used to build things like the Slack, Atom, and Discord desktop apps.

VideoJS 7.0

Video.js is an HTML5 web video player. Version 7.0 adds VHS (the other VHS, known as Video.js HTTPS Streaming project) which enables support for new HTTP streaming protocols, like HTTP Live Streaming and dynamic adaptive streaming over HTTP. Video.js 7 also drops support for Internet Explorer 8, 9, and 10. Check out their announcement for more details.

spin.js 4.0

spin.js is a JavaScript library for creating spinning activity indicators. To improve performance, the latest release uses CSS keyframes to run animation. Check out the release notes on GitHub for more information.

Rancher 2.0

Rancher is an open source container management platform. The latest release, Rancher 2.0, supports Kubernetes exclusively and adds a host of new features, including a CI pipeline and interoperability with Kubernetes services offered by cloud services providers. It’s a big change for the project, so check out the release announcement and project docs for more information.

Nest 5.0

Nest is a framework for building server-side Node.js applications. The project recently released version 5, which unveils changes like supporting async lifecycle hooks and HTTP server independence, plus bug fixes and other improvements. See the release notes for more.

Nuke 7.0

Nuke is an image loading and caching library for writing iOS and macOS applications. Nuke 7 introduces support for new formats (progressive JPEG, WebP, and GIF), resuming downloads, and performance metrics. Refer to the extensive release notes for all the details.

Pendulum 2.0

Pendulum is a library that extends Python’s date and time handling, adds a friendly timezone API, and more. Pendulum 2.0 now supports year and month durations, parses ISO 8601 durations, and renames some parts of the API.

import pendulum

now = pendulum.now('Europe/Paris')

# Changing timezone
now.in_timezone('America/Toronto')

# Default support for common datetime formats
now.to_iso8601_string()

# Shifting
now.add(days=2)

See the Pendulum blog for a complete breakdown.

Vapor 3.0

Vapor is a Swift language web framework. Its newly-released version 3.0 now runs completely async (for handling higher levels of concurrency) and dispenses with JSON configuration files in favor of a pure Swift approach. Read the announcement on Medium to learn more about this release!

Policy 2.0

Lemonade, a home and renter’s insurance company, released the first-ever open source insurance policy. The goals of Policy 2.0 are to both make insurance policies dynamic, digital first, and easy to understand for consumers. Check out Lemonade’s Policy 2.0 blog post to learn more.

Polymer 3.0

The Polymer library helps you make custom web elements that behave like regular DOM elements. Polymer 3.0 adopts a few mainstream JavaScript development tools, like ES6 modules and npm. Check out the release announcement on their blog or watch their roadmap talk.

Did you know? True to its name, the Polymer Project is made up of several other parts, including PWA Starter Kit and Material Web Components.


That’s just a handful of releases you shipped last month—keep them coming! If you’ve got a release that should be on our radar, send us a note.

Life as a GitHub Intern: What laser cutting taught me about contribution graphs

Anisha Gupta is a recent graduate from Arizona State University, a Campus Expert, and developer workshop leader at events around the world. She joined the GitHub Developer Marketing team in January as a Developer Relations Intern and will be working through Summer 2018. In this post, Anisha shares how she was able to connect with diverse communities and find inspiration, while working remotely from ASU, by laser cutting contribution graphs.

Students don’t realize how much stuff they get for free—I didn’t until I was three months away from graduation. I’d just started an internship on GitHub’s Developer Relations team when I also discovered my university’s laser cutting lab. I passed by the lab daily but never entered because I didn’t even know what laser cutting was. It didn’t occur to me to try it out until I found the perfect design idea: contribution graphs. My contribution graph tells me what I’ve contributed to, how I contributed, and how often I worked on projects.

After talking to a mentor from the GitHub Team, Katrina Owen, I learned that she works daily on her open source project, exercism.io, and it takes 100 commits to turn a gray square green on her contribution graph. This was humbling and inspiring to hear as a recent graduate just about to enter the developer industry. That’s when I decided to laser cut @kytrinyx’s contribution graphs from 2013 and 2014 to remind myself of the effort one has to take to reach their goals. What started as something cool to have on my desk is now my source of inspiration as I look ahead to building my skills as a developer.

Getting started with laser cutting

I worked with my school’s lab manager to outline the steps for the laser-cut contribution graph I wanted to create. These are the steps I followed:

  • Take a screenshot of the contribution graph you want to laser cut
  • Use software that’s connected with your laser cutter (in this case, CorelDraw)
  • Import the screenshot and convert it to a grayscale image
  • Adjust the laser cutter’s settings to fit the wood density and thickness
  • Click print

ContributionGraphs

ContributionCards1

Once I started laser cutting more contribution graphs, including one I gave to Katrina, I set out to work on a project which allowed all GitHub users to create laser-cut contribution graphs. I consulted Ladies Storm Hackathons (LSH), a Facebook group that empowers women to collaborate and go to hackathons together. I got an overwhelming response from members who were excited to be part of the project.

But now I had to screenshot 20 different contribution graphs, adjust their sizes, and put them into one SVG file. My team suggested that I create an application to automate the process, so I set out to build an app that would let me create laser-cut contribution graphs and then place an order for business cards.

Building the application

A first attempt

I started out by reaching out to the GitHub Ecosystem team, and Katrina suggested I look at Puppeteer, a headless Chrome tool that renders and screenshots pages without having to pull up the browser itself. I found a Puppeteer sample on Glitch, which I used as the basis of my application. I dove into testing different methods within Puppeteer and was able to grab screenshots of contribution graphs from GitHub usernames. The few lines of code below show the two core methods that powered the application. It navigated to my profile page and took a screenshot based on the clip parameters I specified:

await page.goto('https://github.com/ani6gup');
await page.screenshot({path: __dirname+'/public/puppeteer.png', clip: {x: 320, y:630, width:660, height:100}});

However, the clip parameters were too specific. Each user’s contribution graph is placed at a different pixel based on a user’s descriptions and pinned repositories. In short, the application only worked perfectly with my profile.

Try out the application

Refining the app

I pair programmed with John Crepezzi, who introduced me to Ruby and various gems and packages such as Nokogiri, a parser of many file types, and Octokit.rb, a simple way to connect with the GitHub API. Nokogiri parsed the profile page into one HTML file that’s used to grab and filter the GitHub contribution graph into its own variable (and later converts it to an SVG file):

doc = Nokogiri::HTML.parse(contents)
doc.css('.js-calendar-graph-svg > g').first['transform'] = nil
graph = doc.css(".js-calendar-graph-svg").first

For the front and back side of the business cards, the app provides SVG templates and information from the GitHub profile page are used to fill in the name and handle. Octokit collects the profile information based on the username, and it only requires one line to connect to the API: user = Octokit.user(login). The end product is an application which requires only a username to create three SVG files and place them into a folder.

By automating this process, I was able to print out 28 business cards at one time. The 28 in the photo below are a combination of people who have helped me, community members from LSH, and my GitHub Team.

28ContributionCards

How I feel about contribution graphs now

This project showed me how communities can come together to expand on an individual’s idea to create something larger. Working with contribution graphs helped me find common ground with other GitHub community members. I learned about the projects they worked on and how they came to release, maintain, and make their projects thrive on GitHub. In the past, I was intimidated by profiles with green-filled graphs, but I realized that each person has their own story to tell, no matter what their graph looks like. And there are always opportunities to contribute more.

If you’re interested in expanding the projects you contribute to on GitHub and seeing more of those green squares, here are some resources that have helped me:

If you would like laser cut your own business card or any design you had in mind, find a local makerspace to build things and become a part of a maker community.

Project board automation and template updates

We’ve made some changes to project automation that will provide you with more control when managing issues and pull requests in a project. Previously, issue and pull request cards behaved the same when they were added and moved across the board. Now you can specify different actions for them, like creating separate columns for in progress or reopened issues and pull requests.

Automation settings in a column

Template updates

Simplify the process of managing bugs with the new “Bug triage” project board template. It features “To do”, “High priority”, “Low priority,” and “Closed” columns for better bug tracking.

The “Automated kanban” template has also been updated for automated workflows and now places newly-added pull requests to the “In progress” column. New issues will still appear in the “To do” column.

Changing your settings

With the feature flag enabled, anyone with write access can manually configure new issue and pull request automation options on existing projects.

To configure these settings in existing projects, click Manage Automation on the columns you wish to update. For new projects, access the changes by setting up a project with the “Automated kanban” template, or by clicking Manage Automation on any columns you manually create.

Read the documentation to learn more.

Your Pride Month uniform is here: Get the shirt that gives back

pride-2018-blog

For the fourth year running, we’re kicking off Pride Month with limited-edition GitHub Pride and Trans Pride Shirts that help you show some pride and support the work of LGBTQ organizations while you do it.

Get your new favorite tee while you can. They’ll only be in the GitHub Shop until September 30.

Shop the shirts

pride-shirts-photo

pride-shirts-sleeve

Our new shirt design adds a little extra :heart: to your sleeve with retro ‘80s-inspired artwork in colors representing the pride and trans pride flags. The best part: For every shirt you buy, we’ll donate proceeds to some inspiring groups who are helping the LGBTQ community—find more information about their work below.

LGBTQ organizations you’ll be supporting

Jewish Family & Community Services (East Bay)

Rooted in Jewish values and historical experiences, and inspired by the strengths of the diverse communities they serve, Jewish Family & Community Services (East Bay) promotes the well-being of individuals and families by providing essential mental health and social services through every stage of life. Funds will be specifically marked for LGBTQ refugee services.

Trans Lifeline

Trans Lifeline works to end transgender suicide and improve overall mental health of transgender people through education, advocacy, and direct service. They empower transgender people to help one another and to shape our collective efforts by drawing upon our wealth of individual experiences.

Oakland LGBTQ Community Center

The Oakland LGBTQ Community Center is committed to supporting and enhancing the well-being of LGBTQ individuals, their families, and their allies.

Billy DeFrank LGBTQ Community Center

The Billy DeFrank LGBTQ Community Center provides community, leadership, advocacy, services, and support to the Silicon Valley’s LGBTQ people and their allies.

UCSF Alliance Health Project

The mission of the UCSF Alliance Health Project is to support the mental health and wellness of the lesbian, gay, bisexual, transgender, queer, and HIV-affected communities in constructing healthy and meaningful lives.

Newer

Changelog

Subscribe

Discover new ways to build better

Try Marketplace apps free for 14 days

Learn more