Home / Companies / GitHub / Blog / August 2022

August 2022 Summaries

20 posts from GitHub

Filter
Month: Year:
Post Summaries Back to Blog
Exploring Git's internals with a focus on its function as a distributed database, the text delves into the intricacies of file history commands as queries to understand code evolution beyond basic commit messages. It discusses the optimization of these queries through various modes like simplified history, full history, and full history with simplified merges, each offering different levels of detail and performance trade-offs. The text highlights the importance of understanding the treesame concept, especially in the context of merge commits, and how these modes are applied to identify which changes are meaningful. It also explains the role of specialized data structures such as Bloom filters stored in the commit-graph file, which enhance the speed and efficiency of these queries by minimizing tree parsing. The document emphasizes the practical implications of these optimizations, particularly for large repositories and Git hosting services like GitHub, and previews future discussions on Git's role as a distributed database, specifically focusing on synchronization operations like git fetch and git push.
Aug 31, 2022 4,435 words in the original blog post.
GitHub Universe 2022 is offering a hybrid event format, allowing participants to either attend in-person at San Francisco's Yerba Buena Center for the Arts or join virtually from anywhere, scheduled for November 9-10. The event promises a comprehensive experience featuring thought leadership, innovation, networking, and hands-on learning opportunities focused on topics such as cloud technology, AI, open source, and software security. The event offers various ticket options, including Day passes, General Admission, VIP passes, and a Virtual experience pass, all with early bird discounts available until September 30. The program includes over 80 sessions covering cloud productivity, secure coding practices, AI integration, and community involvement in open source. Keynotes and sessions will be led by industry experts, including GitHub CEO Thomas Dohmke. Participants are encouraged to register early and follow the event updates on social media using the hashtag #GitHubUniverse.
Aug 31, 2022 742 words in the original blog post.
Git, often perceived solely as a version control system, also functions as a sophisticated distributed database, enabling collaborative changes and historical investigations of repositories. This exploration reveals how Git's commit history can be queried in diverse ways, such as determining recent commits, identifying which tags or branches contain specific commits, and resolving merge bases. Git's unique structure, represented as a directed graph of commits, requires specialized storage and algorithms distinct from general-purpose graph databases, leading to the development of the commit-graph file which accelerates history queries by providing a structured index of commit data. The introduction of generation numbers, particularly corrected commit dates, enhances the efficiency of reachability queries by reducing the search space and preventing unnecessary walks through commit histories. These optimizations yield significant performance improvements in operations like tag containment, merge-base identification, and topological sorting of commits. As Git continues to evolve, its internal mechanisms become increasingly tailored to support large-scale repositories with complex histories, ensuring efficient data retrieval and manipulation.
Aug 30, 2022 5,354 words in the original blog post.
The blog post delves into the intricacies of Git's internal architecture, emphasizing its role as a distributed database for source code management. It highlights Git's object store, which uses a content-addressable data model, allowing developers to retrieve data by its hash, akin to querying a database table with primary keys. The post explains how Git's use of packfiles and pack-indexes optimizes storage by compressing data and providing efficient access through binary search, despite lacking live updates typical of B-trees in databases. It discusses Git's reliance on short-lived processes and filesystem caching, contrasting it with long-running database processes that manage their own memory. The author suggests potential improvements for Git, such as incorporating database-like features for more efficient data retrieval, and previews upcoming discussions on Git commit history and the commit-graph file's role in optimizing queries.
Aug 29, 2022 4,243 words in the original blog post.
Technology's progression is intertwined with software, making the open-source community integral to future innovations across industries like automotive, healthcare, and climate tech. Despite open source's critical role, a gap exists between its usage and effective management, with only 15% of organizations confident in their open-source practices, while 80% plan to increase their use of enterprise open-source software. To address this, organizations should enhance their participation in open-source communities through various strategies, such as understanding their current engagement with open source, establishing an Open-Source Program Office (OSPO) to streamline processes, and supporting developers through sponsorships and investments. These efforts not only facilitate innovation and collaboration but also ensure the sustainability of the open-source ecosystem that powers the global economy. By fostering a symbiotic relationship with the open-source community, companies can accelerate software development and contribute to the future of technology.
Aug 26, 2022 768 words in the original blog post.
Open Sauced is an open-source project designed to facilitate contributions from new developers by providing structured onboarding through a dashboard built on the GitHub GraphQL API, as well as recommending projects via Hot Open Sauced. Founded by Brian Douglas, Open Sauced aims to connect contributors and maintainers with data to encourage public work and learning in the open-source community. Douglas, who has experience with open-source communities through his work at companies like Netlify and GitHub, created Open Sauced to streamline his own contributions and to support others in navigating the open-source landscape. The project also plans to launch an analytical dashboard to assist maintainers in attracting and retaining contributors. The Open Sauced community is welcoming to various types of contributions, including coding, design, project management, and technical writing, and offers opportunities for involvement through its repositories and Discord channel. Additionally, Testcontainers, a Java library that facilitates integration testing with Docker containers, is highlighted as a staff pick, praised for its support of multiple programming languages and ease of setting up integration tests.
Aug 25, 2022 1,068 words in the original blog post.
GitHub has open-sourced Trilogy, a database adapter designed to connect Ruby on Rails and Active Record clients to MySQL-compatible database servers, aiming to enhance performance, flexibility, and ease of embedding in environments like the Ruby VM. Originally developed by Hailey Somerville and Brian Lopez to address GitHub's performance and reliability needs, Trilogy has been in use since 2015 and avoids dependencies on libraries like libmariadb or libmysqlclient, simplifying installation and reducing memory copying during network packet processing. Open sourcing Trilogy, along with its Ruby-native wrapper and activerecord-trilogy-adapter, is the result of efforts by Aaron Patterson and Eileen M. Uchitelle to improve database communication behavior in Active Record. While it supports the version of Rails used by GitHub and offers promising performance benefits, potential users are advised to test it in a staging environment due to possible unsupported protocol features. The adapter will become compatible with future Active Record releases post version 7.1.0, and GitHub encourages experimentation and feedback from the Rails community.
Aug 25, 2022 483 words in the original blog post.
In a rapidly evolving software landscape, continuous learning is essential for tech professionals to keep their skills relevant, a point explored by Klint Finley through interviews with diverse industry experts. The panelists, including Karthik Iyer, Monica Powell, and Dan Kuebrich, discuss their approaches to learning and skill development, emphasizing the importance of focusing on broadly applicable concepts over specific technologies. They prioritize learning based on current projects and career goals while also exploring new technologies through side projects. The conversation highlights the value of transferable skills such as computer science fundamentals, accessibility, and effective learning methods. Time management for learning varies among individuals, with some integrating it into work hours and others dedicating personal time, underscoring the significance of consistency and curiosity in professional growth. The ReadME Project, a GitHub initiative, aims to showcase insights from the open-source community, offering resources and stories to inspire ongoing learning and engagement.
Aug 25, 2022 2,022 words in the original blog post.
Git Merge 2022 is set to take place in Chicago, Illinois, from September 14-15, featuring a robust lineup including 17 talks, three workshops, and one panel, with all ticket proceeds going to the open-source Git project. The event will commence with workshops led by GitHub’s Professional Services team, covering topics such as Git command basics, signing commits with SSH keys, and managing monorepos. The second day will feature talks and panels from Git team members and engineers from companies like Google, Twitter, Uber, and GitHub, focusing on various aspects of Git, including scaling, performance, and technical deep dives. Tickets are priced at $125, and the gathering promises valuable insights and networking opportunities for attendees.
Aug 23, 2022 364 words in the original blog post.
GitHub Discussions, initially launched for open-source communities, has become available on GitHub Enterprise Server, facilitating collaboration and communication for both enterprises and developer communities. It offers a space for asking questions, sharing ideas, and building connections within teams, especially beneficial for remote work environments. Users can mark helpful answers, thread conversations, and convert discussions into issues, enhancing organizational knowledge and decision-making processes. Additional features include hosting organizational discussions, labeling topics, pinning important announcements, conducting polls, and integrating with existing workflows through the Discussions GraphQL API and Webhooks. GitHub Discussions is accessible on mobile, allowing users to engage with conversations on-the-go, and can be enabled by repository admins or maintainers in the settings under "Features."
Aug 17, 2022 443 words in the original blog post.
GitHub Enterprise Server 3.6 introduces over 60 new features designed to enhance the experience for developers, security, and administration teams by streamlining secure software development. Key updates include GitHub Discussions for idea collaboration, a Pull Request File Tree for easier navigation of complex reviews, and audit log streaming to bolster security measures. The release also supports Git commit signature verification, allowing for continued verification even with expired or revoked public GPG keys, and introduces a Repository Cache to aid the distribution of continuous integration updates without slowing performance. Additionally, Server Statistics now provide aggregate metrics to help administrators understand team operations and the value derived from GitHub Enterprise Server. Advanced Security updates offer a comprehensive enterprise-level security overview, support for dependency review enforcement to prevent vulnerabilities, and the ability to conduct dry runs of secret scanning custom patterns.
Aug 17, 2022 897 words in the original blog post.
GitHub emphasizes its commitment to transparency and developer privacy by publishing detailed transparency reports that outline content moderation and data disclosure practices. This report, covering January to June 2022, highlights GitHub's efforts to balance code availability with lawful compliance, minimizing disruptions to software projects. It details the handling of 212 legal requests for user data, predominantly from law enforcement, and actions taken in response to government and DMCA takedown requests. GitHub's approach involves notifying users about data disclosures unless legally prohibited and offering appeals for content and account restrictions. The company also focuses on automated detection of abusive content and compliance with trade sanctions, advocating for maximum access to its platform. GitHub's transparency practices aim to protect user rights while adhering to legal requirements, and the platform continues to refine its reporting to align with established principles on transparency and accountability.
Aug 16, 2022 4,830 words in the original blog post.
In a strategic move following the integration of CodeQL into GitHub, the gradual deprecation of LGTM.com has been announced, with the complete shutdown scheduled for December 16th. Since joining GitHub, the team behind LGTM.com has worked to embed CodeQL's analysis technology into GitHub, culminating in the launch and enhancement of GitHub code scanning. Starting from the end of August 2022, LGTM.com ceased accepting new user sign-ups and repositories, though existing users can still analyze new commits. October saw efforts to help users migrate their repositories to GitHub code scanning, offering GitHub Actions workflows to flag potential security issues. By the end of November, LGTM.com stopped analyzing new commits and pull requests, with users being notified of the transition. The shutdown includes the cessation of all services and features like code quality badges and the query console, marking the end of an era since LGTM.com's inception in 2017. Users are encouraged to transition to GitHub's security features, and support is offered for those who have questions or require assistance during this shift.
Aug 15, 2022 640 words in the original blog post.
GitHub Pages, which hosts 16 million websites, has transitioned to using GitHub Actions for building and deploying all sites as it approaches its 15th anniversary. Initially launched with Jekyll in 2008, GitHub Pages faced limitations due to its single-purpose system that didn't support versioning, restricting updates and plugin additions. The integration with GitHub Actions, which started in December 2021 for public repositories, now extends to private and internal repositories, offering flexibility in using any static site framework and enhanced features like introspection, environment protection rules, and customizable workflows. This shift allows for more robust deployment processes, including options to inject secrets, require deployment approvals, and prevent bad commits, with GitHub Actions backed by a large community and extensive marketplace offerings. The change is seamless for users, though building and deploying private repositories will consume GitHub Actions minutes, which are generously allocated for private use.
Aug 10, 2022 722 words in the original blog post.
Npm has been implementing a series of measures to enhance the security and trustworthiness of its registry, including mandatory two-factor authentication and improved artifact signing, aimed at safeguarding open-source consumers from software supply chain attacks. A new request for comments (RFC) proposes linking packages with their source repositories and build environments, allowing consumers to verify that package contents match the linked repository. This initiative leverages Sigstore, a project from the Linux Foundation and Open Source Security Foundation, which simplifies and secures the process by eliminating the need for developers to manage long-lived cryptographic keys. The proposal includes end-to-end signing of npm packages using Sigstore, which would generate attestations about the package’s authorship details for future verification. While this is a significant step toward securing the software supply chain, achieving comprehensive security will require broader community involvement and investment.
Aug 08, 2022 348 words in the original blog post.
GitHub has expanded access to its security overview features, which were previously limited to admins and security managers with GitHub Advanced Security, to now include all GitHub Enterprise accounts and users within an enterprise. This allows developers, application security teams, and engineering leaders to monitor security risks across both public and private repositories through a centralized dashboard that displays code scanning, Dependabot, and secret scanning alerts. Users with write access can view code scanning alerts and details, while those with admin access can see alerts related to Dependabot and secret scanning. The tool also highlights unknown risks by showing where security features have not been enabled and offers a comprehensive set of filters for targeted searches. GitHub Enterprise aims to streamline the tech stack by enhancing automation and security, thereby allowing developers to concentrate on their core tasks.
Aug 08, 2022 604 words in the original blog post.
July saw a flurry of major updates and releases in the open source community, showcasing a diverse array of projects from developer tools to innovative technologies. SpaceVim 2.0 launched with enhanced plugin management and new features, while NestJS 9.0 introduced a comprehensive update to the Node.js framework, including a REPL environment and configuration module builder. SVGPS 1.0 emerged as a solution for converting icon files to JSON for seamless frontend integration, and Sonic Pi 4.0 offered new musical coding capabilities. JiraCLI 1.0 enabled command-line interaction with Jira, and EdgeDB 2.0, affectionately named Sagittarius, brought new admin tools and language support. Vite 3.0 continued to optimize frontend development with faster builds and server starts, and LocalStack 1.0 provided a local cloud service emulator for testing and development. These releases highlight the vibrant efforts of developers worldwide to enhance and innovate within the open-source ecosystem.
Aug 05, 2022 1,061 words in the original blog post.
GitHub Packages, introduced in 2019, integrates a package and container registry directly into GitHub repositories, allowing developers to centralize their development workflows by using industry-standard package managers like npm, Gradle, Maven, RubyGems, NuGet, and Docker. This integration simplifies dependency management, credential centralization, and permissioning while offering features like download statistics and usage history for hosted packages. GitHub also supports Docker and OCI images with native container registry capabilities, enabling streamlined CI/CD processes and standardized base image usage. Automation through GitHub Actions further enhances package management by allowing developers to automate workflows and secure them using GITHUB_TOKEN, which provides time-limited access tokens for enhanced security. Additionally, GitHub offers private package hosting with specific storage and transfer limits, ensuring private registries remain confidential.
Aug 04, 2022 1,290 words in the original blog post.
In July, GitHub experienced a significant incident affecting Codespaces' performance for nearly six hours, with ongoing investigations to determine the underlying causes. Additionally, two incidents in June impacted multiple GitHub.com services, including a DNS record migration issue on June 28 that temporarily made Codespaces unavailable due to a failed load balancer update, and excessive load on a proxy server on June 29 caused by a data migration service's retry logic bug, which overwhelmed the database with requeue requests. The June incidents were mitigated by reconfiguring DNS settings and pausing customer migrations, while improvements were made to exception handling and retry logic to prevent future occurrences. GitHub is also exploring safer testing methods and investigating potential rate limit changes to enhance service reliability.
Aug 03, 2022 638 words in the original blog post.
Hackathon in the Cloud is a new initiative within the GitHub Global Campus and the Student Developer Pack, offering a suite of free virtual event tools designed to simplify the organization and execution of online hackathons. Created in collaboration with Major League Hacking, this experience includes comprehensive guides from experienced hackathon organizers, like HackMIT, and provides resources for promoting events through GitHub Pages, Typeform, and Mailgun. It also facilitates communication and collaboration using GitHub Discussions and tools like VS Code Live Share and GitLens. Available to all verified students worldwide, the Hackathon in the Cloud Experience empowers student hacker communities by providing access to real-world development tools, and is accessible through joining the Student Developer Pack with a valid school-issued email or proof of academic enrollment.
Aug 02, 2022 410 words in the original blog post.