This Week in Programming: What’s Not on GitHub’s Roadmap
In a move that perhaps follows in the footsteps of its (relatively new) owner Microsoft, GitHub offered up a public roadmap this past week, which the company says is “designed to give your team more information about what features and functionality you can expect from GitHub over the coming quarters.”
The GitHub public roadmap is made available as a public repository, with a project board showing upcoming releases and where they are in their current incarnation, as well as product SKU and deployment model. All features will also be tagged with a particular “feature area,” such as collaboration or security, so you can more easily filter and search.
Given the sneak peek into where one of their most often used products was headed, many set out to pore over the roadmap and see what exciting new features were planned but yet to arrive. While there are 54 future features or releases currently on the roadmap, with things like GitHub Discussions, the general availability of GitHub Codespaces, or auto-merging of pull requests, for some out there it was what wasn’t on the roadmap that was more interesting than what was.
It has been almost a year now since the company first faced a backlash from its users over a $200,000 contract with the U.S. Immigration and Customs Enforcement (ICE) department, and a brief perusal of the response to GitHub’s roadmap on Twitter shows that many are still focused on the issue. Of course, this sort of thing wouldn’t be something to include on a product roadmap and it simply offers an excuse to needle the company over what many see as an obvious ethical violation.
Meanwhile, others point out the lack of support for IPv6 as a key technical feature that is sorely missing from the current roadmap. The caveat, of course, is that the roadmap is still in its early stages and that GitHub even acknowledges that “the public roadmap isn’t exhaustive” and that the company will continue to share news of new features via “forward-looking product announcements at major events or in the occasional blog post.”
On the issue of IPv6, there has been no immediate response from the company. Another feature that is missing from the roadmap, however, is that of the always-cited and long-awaited holy grail of any developer offering, dark mode. On this point, GitHub CEO Nat Friedman took the time to comment on its absence, writing that “Dark mode is coming. The foundational work we are doing first is to replace all our custom HTML and CSS with components that are more readily themeable. This will also help us improve accessibility, and help us replace our mobile web site with a fully responsive UI.”
Working on a software development joke. It’s totally easy will have it done in a couple of days.
— Zachary Schneider (@sigil66) July 25, 2020
This Week in Programming
- GitHub Moves to Tokens for Authentication: While we’re talking on the topic of GitHub, there are just a couple more tidbits to mention before moving on. First, the company will be requiring token-based authentication for API and Git operations starting Nov. 13, 2020, when authenticating with the REST API and for all authenticated API operations on GitHub.com. GitHub Enterprise Server and GitHub Apps will not be affected by the change, but the company will also require the use of a personal access token, OAuth token, or SSH key for all authenticated Git operations “at a future date” — likely some time in mid-2021, they write.
- GitHub’s OpenAPI Description: Next, GitHub has introduced an OpenAPI description of its GitHub REST API, which it notes has been revised just three times in the 12 years “since it was first released, only a month after the site was launched.” The description essentially opens up access to the API without the need to first read documentation or understand the implementation, and the company writes that this description contains more than 600 operations, can be explored visually via a Postman Collection, and “can be used to generate mock servers, test suites, and bindings for languages not supported by Octokit.” Buyer beware, the description is currently in beta.
I have a joke about tracing microservices but no idea where to start.
— Felix L. 🦕 (@_Lebsky) July 25, 2020
- Git Takes a Step to Move Beyond “Master”: Lastly, GitHub offers some highlights from the release of Git 2.28, which offers a new functionality that takes a step toward getting rid of that old naming convention of “slave” and “master.” Now, when you initialize a new Git repository with git init, you can set an alternative name to replace “master.” For context, the Software Freedom Conservancy provided a statement last month on the decision, writing that this change is being taken “as a first step,” with the change becoming the default currently undergoing discussion. Naming conventions aside, Git2.28 also brings with it a few more changes, which are detailed in the announcement email.
I have a container joke, and it won’t last very long. https://t.co/dN8ZmT2mRY
— #BlackLivesMatter ✊🏽✊🏾✊🏿 (@petermbenjamin) July 25, 2020
- Cross-Platform Windows Devs Get Some Help: Microsoft has said that it is releasing a new developer landing page and issues repo, with the first focusing on those developers who are “building and deploying apps and systems running on non-Microsoft operating systems like Linux and Android.” The new landing page aims to help these particular developers get their environment setup and workflow optimized with guidance and resources on how to set up and install the languages and tools necessary to develop on Windows or Windows Subsystem for Linux. As for the ”WinDev” GitHub repo, it is meant to give Windows devs a place to submit and discuss issues directly to Windows engineering teams who don’t already have a repo of their own, whether the issues you uncover are to do with using Windows itself, or running your code on Windows.
- Kotlin 1.4 Release Candidate Brings “Significant Evolutionary Changes”: The Kotlin 1.4.0 release candidate has been released, this time describing a feature release with “a lot of new features that you already know about from previous blog posts” and “significant evolutionary changes in the existing API.” Notably, this means that several features that were previously offered with warnings as to their experimental nature are not being moved to stable, no longer requiring users to opt-in. Some of the highlighted features of Kotlin 1.4 include improved *.gradle.kts IDE support, source sets now including the standard library dependency by default, simplified management of CocoaPods dependencies, improved Kotlin/JS integrations, and a preview for Node.js API bindings, among others.
Software Development Cycle:
1) I can’t fix this
2) Loss of confidence
3) Questioning career choice
4) Questioning life
5) Oh, it was a typo on line 8, nvm
— Raf Rasenberg (@rafrasenberg) July 23, 2020
Feature image by david latorre romero on Unsplash.