Introducing organization webhooks

Webhooks are now available at the organization level on GitHub.com. Organization webhooks send events for all repositories in an organization. They also include new events for repository creation, team membership, and more.

org hooks

If you're extending GitHub into your internal systems, organization webhooks save you time by helping you configure integrations across multiple repositories in one place. The addition of organizational-level events, like team membership, open up new possibilties for integrators building applications that work with GitHub.

For all the details, check out our updated webhook developer guide.

Task Lists are open source

We're open-sourcing the components that power task lists on GitHub, including the HTML rendering pipeline filter packaged as a Gem and the JavaScript update behaviors published as a Bower package.

Open sourcing Task Lists task list

Since the introduction of task lists, we've expanded support to Gist and Markdown files in your repositories, helped the White House move code into the public domain, and enabled waffle.io to integrate seamlessly with your GitHub Issues' task lists.

We can't wait to see what the community builds with them next.

From sticker to sculpture: the making of the Octocat figurine

Last month, we released the Octocat figurine, finally taking our mascot into the third dimension. For years, we’ve illustrated her in different themes—from human culture to pop culture—so a figurine seemed like the next logical step.

We all wanted Octocats on our desks, but we were new to the vinyl figurine world. Here’s a look into the journey we took to make this idea a reality.

teaser

Sculpting the facial structure

We began with her profile. The Octocat is the sum of two merged animals, but where does one animal begin and the other end? Her tentacles clearly originate from an octopus, but we had to decide which animal traits would define her head shape. She also needed some human characteristics to help round out the feline and cephalopod.

Anthropomorphizing animals is nothing new to character design. It helps us relate to a character through traits we find in our own species. Eyes are common elements to anthropomorphize because of their importance for visual communication. They help to emote and give personality, which is why we felt they would be important to emphasize, considering the size of her eyes in relation to her head.

To make the Octocat relatable, we extended her nose and mouth off her face giving the slight impression of a snout. Her ears and whiskers are important elements of her silhouette so we didn’t alter them. We choose to stretch the Octopus epidermis from her tentacles to her head giving her that smooth texture commonly found in sea creatures. This helps to reduce surface friction while swimming and helps to alleviate the unseemly byproduct of cat fur: hair balls. Here is one of our early concepts:

7250a4c0-57d1-11e4-8fb4-b5856c6e8feb

Solving the tentacle debate

Our next challenge was the tentacle count. Does she have eight tentacles or four legs and a tail? This particular dilemma has long been a point of contention and debate among GitHubbers. In the two dimensional world it was easy to leave this question ambiguously unanswered, but in three dimensions we were finally forced to choose.

Part of the beauty of the Octocat is her paradoxical nature, being a mixture of creatures stuck between worlds. She has been represented as a quadruped, a biped, and a pentaped, but never an octoped. While we absolutely respect the opinion of our eight tentacles favoring friends, with eight she would feel inauthentic, so we chose to stick with five.

With the tentacle count question settled, we focused next on her stance. With any mascot, recognition is paramount. Our goal was to design the figurine so the front view would look as close to the original image as possible. The Octocat is both a land and sea creature. She is quick and limber. Gravity and balance are less challenging under water but when she moves onto dry land these elements prove to be much more difficult. You’ll notice her original stance does not take this into consideration. If we were to keep the exact same tentacle pose from the front but in a position that would support her giant head, it would have to be one of these two choices:

legproblem

We were not happy of these two options considering how unnatural they felt, so we decided to make a compromise. In the interest of creating a cartoony yet believable organic creature we had to do some repositioning. The end result was a pentagon configuration which would serve as the base of her tentacles. This meant the elasticity of the tentacles would absorb the weight of her large head, giving them a more round organic shape.

9c96ece4-57d1-11e4-9428-72460f27fbbf

legangle

Perfecting the final product

With our design in place, we received our first samples. From here, it took a series of small adjustments to get us to production.

turnaround

feedback1

Designing the right package

Packaging was just as important to us as the figurine itself; we wanted the box to be emblematic of its precious cargo. We tried our a wide variety of concepts from shipping containers to Octocat head shaped boxes:

box1

In the end, we found that simplicity was the best option:

box-final

The end result

The final product is an Octocat figurine we’re really excited about. Huge thanks to all the amazing people at Dead Zebra who helped us along the way.

result

We hope you enjoy her as much as we do.

Welcome to GitHub, .NET!

Microsoft announced at their Connect event last week that they will be open sourcing much of the .NET technology stack, as well as moving development of these technologies over to GitHub.

And within hours of the announcement contributions were already being accepted!

You can browse and search the projects that Microsoft has made public on GitHub over on their landing page.

This isn't the first team from Microsoft to join us on GitHub - the Microsoft Azure, Microsoft Open Tech, TypeScript and ASP.NET teams are already on GitHub, collaborating in the open with the community.

If you're one of the 6 million developers building applications using .NET, this is your chance to contribute to the future direction of your development stack. Check out the GitHub help site or GitHub Guides to learn more about contributing to open source.

Delete merged branches from your phone

After we introduced the merge button on mobile, we heard from many of you that you'd love to be able to delete merged branches on your phone too. Now you can!

screenshot

Happy branching!

GitHub Pages legacy IP brownout

This week we will be conducting a "brownout" of all misconfigured GitHub Pages sites. If your GitHub Pages site's DNS is pointed at an out-of-date IP address, we will intermittently serve a warning page in place of your site's content. We will update our status site before we do so, and normal functionality will resume at the conclusion of the brownout.

If you use a custom domain with GitHub Pages, please verify that your domain's DNS settings are properly configured to point to the most up-to-date GitHub IP addresses. This will ensure that your site remains available this week and continues to remain available after December 1st, 2014.

For information on how to tell if your site is affected and what to do to fix it, see the original GitHub Pages Legacy IP Deprecation announcement or the setting up a custom domain with GitHub Pages documentation.

Of course, if you have any questions, we're here to help.

The story behind the new GitHub Enterprise

Today we're releasing the fastest and most flexible version of GitHub Enterprise ever, including high availability and disaster recovery options, dramatically improved LDAP and SAML integration, major improvements to features like code review and project management, and support for deploying on Amazon Web Services.

jetpack

We're proud to share this release with you not just because it's our finest work yet, but because it represents a major milestone in our mission to change the way the world builds software together.

Over seven million people and hundreds of thousands of organizations are working together on over 17 million repositories on github.com, but that only begins to scratch the surface. With this release of GitHub Enterprise we're making social coding available to anyone who wants to host code in their AWS-powered cloud, while also shipping a better product experience for the thousands of administrators and developers already using GitHub Enterprise daily.

When GitHub launched in 2008, it was all about sharing. You could quickly sign up for an account and share your open source with the world, or, purchase private repositories and control precisely who has access to your source code. But our goal wasn't workflow or collaboration - it was making it easy to share your git repositories with others.

As GitHub grew we saw the power in working together. This led us to create Organizations in 2010: group accounts which allow open source projects, non-profits, schools, governments, companies, and teams of all kinds to create a presence on GitHub and more easily build software together. Our focus expanded from simply publishing git repositories to helping people build software together.

People quickly created thousands of Organization accounts, but the feedback from larger organizations was resounding: they loved features like Pull Requests, yet many wanted data isolation for their code and support for enterprise-level features such as integration with their authentication system. This led us to create GitHub Enterprise, a VM-based on-premises version of GitHub we released in November 2011.

In the three years since that release, we've seen GitHub Enterprise change the way entire companies build software together. We've witnessed cultures evolve, companies thrive, and developers rave about how GitHub has changed their workflow. But we've also spent countless hours talking to our customers about how we can improve, and we've taken that feedback seriously.

Today's release is the culmination of months of hard work to make GitHub Enterprise more accessible to more people and even better for our current customers. Whether you're hacking on open source on github.com or coding the next version of your company's Android app using GitHub Enterprise, our goal is to help you build better software.

We hope you love this release as much as we do.

A faster, more flexible GitHub Enterprise

jetpack octocat

Today, we’re releasing an all-new GitHub Enterprise designed to make it even easier for developers and businesses around the world to use GitHub at work.

Now available on Amazon Web Services (AWS)

Since GitHub Enterprise launched in 2011, AWS's popularity has grown. Many companies want to host code in their AWS-powered cloud and with good reason. Using AWS reduces hardware costs, provides immediate access to a highly scalable infrastructure, and addresses a wide variety of compliance standards, from healthcare's HIPAA standards to government's FedRAMP. And now you can run GitHub Enterprise on AWS too! We like to think it feels a little bit like this:

Infrastructure improvements, high availability, & backups

We've rewritten the infrastructure behind GitHub Enterprise, improving stability and redundancy regardless of how you choose to deploy it. Some highlights:

  • GitHub Enterprise now utilizes Ubuntu 12.04 LTS, taking advantage of long-term updates and security fixes for the base components provided by Ubuntu.
  • Online backup utilities give you a number of advanced capabilities for backing up and restoring your data. With these utilities your appliance doesn't need to be put in maintenance mode for the duration of the backup run, meaning there's no downtime for your development team.
  • Achieving redundancy with GitHub Enterprise is much easier. With replication mode enabled, you can configure a second, identical instance (failover with warm standby) to jump into action should anything happen to your primary instance.

HA/DR image

SAML support & security audit log

With our improved organization audit log, admins can now see a running list of events as they're generated across each organization and search for specific activities performed by users. This data provides your company with better security insights and gives you the ability to audit account, team, and repository access over time as needed.

audit-log

We've also added support for SAML, including OneLogin, PingIdentity, Okta, and Shibboleth. Single sign-on with these identity providers allows you to manage your organization's users from one place or manage app access for groups of users at a time, rather than individually.

...and more!

This release also includes a number of features to help your company build and ship high-quality software, including:

To see a full list of features, check out the release notes for GitHub Enterprise 2.0.0.

Give GitHub Enterprise a whirl

If you're an existing GitHub Enterprise customer, you can download the latest release from the Enterprise website. If you want to give GitHub Enterprise a try, you can start a 45-day free trial on AWS or VMware.

Come visit us at AWS re:Invent

We’ll be demoing the all-new GitHub Enterprise this week at AWS re:Invent in Las Vegas. Stop by booth #1229 to say hi, check out this release in action, and grab some stickers and other great stuff. If you're attending re:Invent and would like a more in depth look at how this release of GitHub Enterprise might help your company, sign up for a meeting with our GitHub Enterprise sales team.

GitHub Pages Legacy IP Deprecation

If you use a custom domain with GitHub Pages, please verify that your domain's DNS settings are properly configured to point to the most up-to-date GitHub IP addresses. This will ensure that your site remains available after December 1st, 2014.

GitHub Pages allows you to set up a custom domain by adding the domain to a CNAME file, and pointing your domain's DNS record to GitHub's servers. If you don't use this feature, for example, if your GitHub Pages site is published as username.github.io, you don't need to take any action at this time. Please enjoy this animated GIF for being awesome.

Why the change?

Nearly a year ago, we announced improvements to how we serve GitHub Pages sites. Today we're making that change permanent by deprecating our old GitHub Pages infrastructure. If your custom domain is pointed at these legacy IPs, you'll need to update your DNS configuration immediately to keep things running smoothly.

How long do I have to make the switch?

Starting the week of November 10th, pushing to a misconfigured site will result in a build error and you will receive an email stating that your site's DNS is misconfigured. Your site will remain available to the public, but changes to your site will not be published until the DNS misconfiguration is resolved.

For the week of November 17th, there will be a week-long brownout for improperly configured GitHub Pages sites. If your site is pointed to a legacy IP address, you will receive a warning message that week, in place of your site's content. Normal operation will resume at the conclusion of the brownout.

Starting December 1st, custom domains pointed to the deprecated IP addresses will no longer be served via GitHub Pages. No repository or Git data will be affected by the change.

How do I know if I'm affected?

If you have a GitHub Pages site pointed at one of the old IP addresses, you will receive an email from us this week letting you know that you need to make the change (and should have been receiving an email on each push for the past several months). If the suspense is killing you, there's a few ways to check yourself:

  1. If you're using the GitHub Pages Gem, update to the latest version, and run github-pages health-check from your site's root directory. That'll make sure your site's DNS is in ship-shape.

  2. Don't have the GitHub Pages Gem?

    • If you're on a Mac or Linux machine, simply paste this command into a terminal window, replacing your-domain.com with, your site's domain. dig your-domain.com | grep -E '(207.97.227.245|204.232.175.78|199.27.73.133)' || echo "OK". If you see the word "OK", you're all set.
    • On a Windows machine, you'll want to run nslookup your-domain.com and ensure that the output does not include any of the deprecated IP addresses (207.97.227.XXX, 204.232.175.XX, or 199.27.73.XXX).
  3. From your domain registrar's web interface, head on over to your domain's DNS settings. Your domain should either be a CNAME record to username.github.io, an ALIAS record, or an A record pointing to an IP address that begins 192.30.252.XXX.

Okay, I'm sold. What do I need to do?

If one of the methods above indicate that your DNS is misconfigured, or if you just want to be sure, please follow the instructions for setting up a custom domain with GitHub Pages.

Questions? We're here to help.

Happy publishing!

New in the shop: 5" Octocat Figurine

For years, the Octocat has been stuck in the realm of two dimensions—but no more! Now she’s crawling off your laptop and onto your desk as a 5" vinyl figurine.

Check out the Octocat in the GitHub shop.

A Better DMCA Process

To bring more transparency and clarity to the processes surrounding the DMCA, we are rolling out three improvements to the way we process copyright takedowns:

  • First, whenever possible, users will have a chance to fix problems before we take content down.
  • Second, we will not automatically disable forks in a network based on the takedown of a parent repository unless the takedown notice explicitly includes them.
  • Last but not least, we've published a completely revamped DMCA policy as well as a pair of how-to guides for takedown and counter notices to make our process more transparent and easier to understand.

Some Background

The Digital Millennium Copyright Act (DMCA) is a United States law that establishes how copyright holders must file complaints with internet service providers (ISPs) like GitHub, and what the ISPs must do in response.

The DMCA takedown process usually takes place behind closed doors, with little visibility for impacted users, let alone the opportunity for those users to modify the allegedly infringing content. The average DMCA policy is also usually written in dense legalese that can be difficult to understand.

Our users deserve better. GitHub already promotes transparency by posting DMCA takedown notices in a public repository. And our Support Team works hard to help our users navigate the process.

Like most other ISPs, we have been disabling content whenever we receive a complete and seemingly legally adequate DMCA notice. We have learned, however, that the conventional process is not a perfect fit for Git-versioned software projects. So we decided to make some changes.

GitHub's New Policy

The first change is that from now on we will give you an opportunity, whenever possible, to modify your code before we take it down. Previously, when we blocked access to a Git repository, we had to disable the entire repository. This doesn't make sense when the complaint is only directed at one file (or a few lines of code) in the repository, and the repository owner is perfectly happy to fix the problem.

In practice, our support team would often shuttle messages between the parties to work out a way for them to fix it. That usually worked out well and everyone ended up happier at the end of the day. So we are making it a formal part of our policy, and we are going to do it before we disable the rest of the repository.

The second change is that if we receive a takedown notice for a parent repository, we will not disable forks in the network unless they are specifically identified in the notice. In our system, parent and fork repositories are linked so that if one is disabled, they are all automatically disabled. In many cases, however, forked repositories may be different in significant ways from the parent. Accordingly, from now on we will require copyright owners to investigate and report each fork explicitly in a DMCA takedown notice. If some forks are not identified, we will split up the network to avoid needlessly disabling unnamed fork repositories.

Finally, we've also taken this opportunity to completely revamp our DMCA policy itself so that it is easier to understand, provides more background information, additional resources and outlines the process in detail. We want you to understand clearly what a takedown means, how to submit a takedown notice to GitHub, and how to respond to one if you believe there has been a mistake and want your content restored. We hope you find our revised policy easier to use.

Please feel free to email us with questions or comments at copyright@github.com.

Linking merged pull requests from commits

We've been including the containing branches and tags on commit pages to give you more context around changes. Now, commits in a repository's default branch will also show you the pull request that introduced them.

no touching

In the pull request, you can see the discussion around why the commit was introduced, and get a clearer picture of the reason for the change.

As always, if you know the commit SHA, you can skip the commit page and search for the pull request directly.

For more information, check out our Help docs.

The best developer tools, now free for students

There's no substitute for hands-on experience, but for most students, real world tools can be cost prohibitive. That's why we created the GitHub Student Developer Pack with some of our partners and friends: to give students free access to the best developer tools in one place so they can learn by doing.

GitHub Student Developer Pack Logo

More than 100,000 students have already taken advantage of free access to GitHub, collectively pushing code more than 50,000 times per day. With the GitHub Student Developer Pack, students now have free access to an entire suite of useful developer tools, including:

Atomatom.io
A hackable text editor for the 21st Century
Open Source by GitHub, free for everyone

Bitnamibitnami.com
Install cloud applications in a single click
Business 3 plan (normally $49/month) for one year

Crowdflowercrowdflower.com
Crowdsourcing and data enrichment platform
Access to the Crowdflower platform (normally $2,500/month) and $50 in worker credit

DigitalOceandigitalocean.com
Simple cloud hosting, built for developers
$100 in platform credit for new users

DNSimplednsimple.com
Simple DNS management with one-click services and a robust API
Bronze hosted DNS plan (normally $3/month) for two years

GitHubgithub.com
Powerful collaboration, code review, and code management
Micro account (normally $7/month) with five private repositories while you're a student

HackHandshackhands.com
Live programming help available 24/7
$25 in platform credit

Namecheapnamecheap.com
Domain name registration and SSL certificates
One year free domain name registration on the .me TLD (normally 8.99/year) and one year free SSL certificate (normally $9/year)

Orchestrateorchestrate.io
Database API that includes search, time-series events, geolocation and graph queries
Developer account (normally $49/month) while you're a student

Screenheroscreenhero.com
Screen sharing for collaboration in teams
Individual account (normally $9.99/month) while you're a student

SendGridsendgrid.com
Email infrastructure as a service
Student plan (normally $4.95/month) for one year

Stripestripe.com
Web and mobile payments, built for developers
Waived transaction fees on first $1,000 in revenue processed

Travis CItravis-ci.com
Continuous integration platform for open source and private projects
Private builds (normally $69/month) while you're a student

Unreal Engineunrealengine.com
A complete suite of game development tools made by game developers, for game developers
Unreal Engine (normally $19/month) while you're a student

Get your pack

If you're a student aged 13+ and enrolled in degree or diploma granting course of study, the GitHub Student Developer Pack is for you. All you need is a one of the following:

  • School-issued email address
  • Valid student identification card
  • Other official proof of enrollment (enrollment letter, transcript, etc)

Get your GitHub Student Developer Pack

If you're already using GitHub with a student account, you've automatically been given access to the developer pack. You can access all the offers at https://education.github.com/pack.

Join the pack

If your company produces developer tools and wants to be included in the pack, pass us a note.

SVG Viewing & Diffing

In the spirit of making diffs of rich information easier to parse, SVG images are now viewable and diffable on GitHub!

SVG diff demo

As always, you can find more details in our help documentation.

Managing Issues and Pull Requests Across Repositories

Keep track of all of your issues and pull requests with the new Issues Dashboard and the new Pull Requests Dashboard.

Dashboards

When we rebuilt GitHub Issues earlier this summer, we made it easier to search and filter issues and pull requests in a repository. Now it's time to think bigger: these new dashboards let you manage your work across all of your repositories at once. You can find links to them at the top of your News Feed.

Use them to quickly find issues you've created. Or pull requests that mention your username. Or issues that have been assigned to you. Or go ahead and use any of our custom advanced search filters and create your own often-used search... the sky's the limit.