You can now restrict pushes into your private and internal repositories and their forks, with push rules – a new type of ruleset. Push rules enable you to limit updates to sensitive files like actions workflows, and help to enforce code hygiene by keeping unwanted objects out of your repositories.
In addition, organization owners can now allow repository property values to be set when repositories are created. This ensures appropriate rules are enforced from the moment of creation and improves discoverability of new repositories.
Push Rules
Organization and repository owners can now configure rules that govern what changes can be pushed to their repository, by attributes of the files changed – including their paths, extensions and sizes.
Available push rules
Restrict file paths
This rule allows you to define files or file paths that cannot be pushed to. An example of when you might use this is if you wanted to limit changes to your Actions workflows in .github/workflows/**/*
Restrict file path length
You can limit the path length of folder and file names.
Restrict file extensions
You can keep binaries out of your repositories using this rule. By adding a list of extensions, you can exclude exejar and more from entering the repository.
Restrict file size
Limit the size of files allowed to be pushed. Note: current GitHub limits are still enforced.
Push rules are available on GitHub Team plans for private repositories, and coverage extends to not just the repository, but also all forks of that repository. Additionally, GitHub Enterprise Cloud customers can set push rules on internal repositories and across organizations with custom repository properties. You can also access rule insights to see how push rules are applied across your repositories.
Additional details
Delegated bypass for push rules, currently in beta, allows your development teams to stay compliant with internal policies and keep a clean git history. Developers can easily request exceptions to push rules, that are reviewed and audited all within GitHub.
To ensure best performance push rules are designed to handle up to 1000 reference updates for branches and tags per push.
Organization owners can now allow their users to set custom properties during repository creation. Previously, this was only available to repository administrators or those with permissions to edit custom repository properties. By selecting Allow repository actors to set this property for your custom property, you can ensure repositories have properties attached from the start.
GitHub Desktop now allows you to open your repositories with any editor or shell, even if it’s not on the list of supported integrations. Supercharge your integrations with advanced configurations including specifying command line arguments.
Accessibility Improvements
Fixed: The “Open a Pull Request” and “About” dialog’s headings are announced via NVDA – #19107
Fixed: The branch selection popover in the “Open a Pull Request” dialog does not close on filter clearing – #19106
Fixed: The contrast ratio of icon in the diff file warnings is at least 3:1 – #19097
Fixed: The “Push Local Changes” confirmation dialog uses “alertdialog” role such that screen readers announce entire dialog contents – #19098
Fixed: Emoji’s provide descriptions for screen readers – #19101
Fixed: Stop improper announcement of \”dialog\” role on the autocompletion suggestions popover – #19114
Improved: Screen readers announces when users expand context in a diff – #19128
Improved: The squash dialog provides visual input labels – #19100
Improved: The search inputs across the app provide visual labeling in the form of a search icon – #19103
Community Contributions
Added: The external editor Cursor is supported on macOS – #17462. Thanks @bjorntechCarl!
Added: The external editor JetBrains RustRover is supported – #18802. Thanks @Radd-Sma!
Since last month’s upgrade to GPT-4o, we now increased the available Chat context, so you can reference larger files and have longer chat conversations with GitHub Copilot Chat in VS Code. Additionally, you can now click Attach Context in Inline and Quick Chat to add more relevant context to your queries.
This month’s release also brings the following improvements to Copilot Chat in VS Code:
Easily generate tests using the Generate Tests using Copilot action or the /tests slash command. Copilot will now update and append tests to existing files or create a new test file if none exists. Learn more.
Revisit previous chat sessions with the Show Chats button. Sessions now have AI-generated names and can be manually renamed. Entries are sorted by the date of the last request and grouped by date buckets. Learn more.
Provide specifics on unsatisfactory Chat responses by selecting the Thumbs down button. A dropdown with detailed options helps you pick a problem type or report it as an issue to us, helping us improve Copilot. Learn more.
Code Actions now have clearer names: Generate Tests using Copilot and Generate Documentation using Copilot. Just place the cursor on an identifier and choose the action. Learn more.
Experimental New Features
Experimental settings are available in VS Code to gather your feedback and influence the future development of Copilot. Share your thoughts in our issues.
Define instructions for code generation (e.g., always use underscore for private field names) in settings or import from a file. Edit them in github.copilot.chat.experimental.codeGeneration.instructions, either as a user setting for yourself or as a workspace setting for your team. Learn more.