projects

Subscribe to all “projects” posts via RSS or follow GitHub Changelog on Twitter to stay updated on everything we ship.

~ cd github-changelog
~/github-changelog|main git log main
showing all changes successfully

Following our “Evolving GitHub Issues” announcement we’ve continued to improve the experience based on your feedback, including closing an issue as a duplicate, a REST API for sub-issues, and expanding the limits for both sub-issues and issue types.

These new features are all available in public preview for you to try. To gain access for your organization, please sign up here.

🧹 Close an issue as a duplicate

You can now close an issue as a duplicate of another issue, making it easier to manage your issues and provide more clarity on why they were closed.

When closing an issue, select Close as duplicate from the dropdown to search for and select the duplicate issue. You’ll then see an event in the timeline and note at the top making it clear why it was closed.

REST API support for sub-issues

You can now use the REST API to view, add, remove, and reprioritize sub-issues, making it easier to automate your use of sub-issues. Check out the documentation to learn more.

Increased limits for sub-issues and issue types

You can now have up to 100 sub-issues per parent issue (up from 50), as well as up to 25 issue types in an organization (up from 10), making it easier to manage, classify, and break down work.

Issue type organization settings showing maximum limit of 25 issue types

📱 Issue types on GitHub Mobile

You can now view, add, and update issue types on GitHub Mobile.

Issue types on GitHub Mobile

🔍 Improved filtering for sub-issues and issue types

You can use the has: and no: filters to search for sub-issues and issue types both from a project and the repository issues page, making it easier to find the exact set of issues you’re looking for and make updates.

Issue filtering using has filter

Example filters include:
no:type to find all issues that do not yet have a type
no:parent-issue to find all issues without a parent issue
has:sub-issue to find all issues that have sub-issues

Additional improvements

On top of the many bug fixes we’ve shipped, we’ve also introduced the following improvements:
– If the sub-issue is from a different repository than the parent issue, you will now see the repository name in the sub-issues list.
– In GitHub markdown, pasting in a project link will now show the project name as well as more project details on hover.
– Projects insights charts now use Highcharts, which is an industry standard library for charts, improving our accessibility of projects insights.
– You can now use the UpdateProjectV2Field GraphQL API mutation to directly update all single select field options in one API.

Tell us what you think!

Join the discussion in the community discussion to share your feedback.

See how to use GitHub for project planning with GitHub Issues, check out what’s on the roadmap, and learn more in the documentation.

See more

GitHub Issues has been how the world’s best software teams collaborate since it first launched in 2009. Today we are excited to unveil a major evolution of issues and projects, featuring a range of highly requested enhancements including sub-issues, issue types and advanced search for issues. Together, these additions make it easier than ever to break down work, visualize progress, categorize and find just the right issue in GitHub.

These new features are now available in public beta for you to try. To gain access for your organization, please sign up here.

🔗 Break down and nest issues with sub-issues

Sub-issues allow you to break down and organize issues within a parent-child hierarchy. You can create sub-issues from any issue and use their nested structure to track progress and understand remaining work. You can also easily track sub-issues progress within your projects.

Learn more and share feedback on sub-issues.

📁 Organize your work with issue types

Issues types allow you to classify and manage your issues with a shared and consistent language across all repositories in an organization. You can quickly understand the progress of your bug backlog, find all of the high level initiatives teams are working on, and understand the breakdown of work in a project.

Issue types displayed as part of a repo index page

Learn more and share feedback on issue types.

From the repository issues page, you can build advanced searches using the AND and OR keywords and parentheses for nested searches. This allows you to build more complex filters to find the exact set of issues you’re looking for.

A user searches for type bug OR type task

Learn more and share feedback on advanced search for issues.

🎨 Issues UI updates

All these new features are based upon an update to the issues front end, designed to be fast and familiar. This means there are no new UI patterns to slow you down, but we did include a few tweaks to speed you up, including:

  • The issues index page has a new filter bar with autocomplete and syntax highlighting.
  • Creating multiple issues is faster with a ‘create more’ option to quickly get back to the creation screen.
  • Issue form and templates are now presented in alphabetical order based on file name, making it easier for you to set just the right order.
  • Easily share the URL to an issue with a new ‘copy link’ button.
  • On long issues, selecting ‘load more’ will now fetch 150 events instead of 50.

Learn more and share feedback on the updated issues UI.

♾️ Increased items in GitHub Projects

Earlier this year, we introduced the private beta of increased project item limits, expanding the capacity from 1,200 to 50,000 items in a project. Today, we’re expanding the audience for these increased limits.

Since the private beta, we’ve added support for slice by, swimlanes, and GraphQL API. We’ve also fixed your top bug reports and made performance improvements.

If you’re a project admin and your project is approaching the item limit without utilizing Insights (our only currently unsupported feature), a banner will appear over your project to notify you.

As this update is on a project by project basis rather than per organization, to join, just click the “Join waitlist” button on eligible projects.

Learn more and share feedback on increased items in projects.

✍️ We want your feedback – join the public beta

Join here and let us know your feedback!

See more

Today’s changelog brings you GraphQL and webhook support for project status updates and project custom field changes directly in the webhook event!

Using GraphQL and webooks with project status updates

Following our release earlier this year for project status updates, you can now interact with project status updates using GraphQL and webhooks. This unlocks new ways to automate how you provide and gather project status update information.

GraphQL

There is a new ProjectV2StatusUpdate GraphQL object to interact with project status updates, so you can view, create, update, and delete status updates.

Below is an example query to create a new project status update.

mutation {
  createProjectV2StatusUpdate(
    input: {projectId: "0123456", body: "We wrapped up our bug bash following the beta rollout. We're back on track for our GA date in August! 🚀", startDate: "2024-06-03", targetDate: "2024-08-09", status: ON_TRACK}
  ) {
    statusUpdate {
      id
      startDate
      targetDate
      body
      bodyHTML
      status
    }
  }
}

Webhooks

Project status updates are included in the new projects_v2_status_update webhook event, so you can understand and be notified when a new project status update is provided.

You must be subscribed to this event from the organization settings page to receive this information.
organization settings for webhook event

Below is an example of a webhook event.

{
    "action": "edited",
    "projects_v2_status_update": {
        "id": 32633,
        "node_id": "PVTSU_lADOBH2n9s4Ajp6VzX95",
        "project_node_id": "PVT_kwDOBH2n9s4Ajp6V",
        "creator": {
          ...
        },
        "body": "We've kicked off this project and are feeling confident in our rollout plan. More updates and demos to come next week!",
        "start_date": "2024-06-24",
        "target_date": "2024-08-16",
        "status": "ON_TRACK",
        "created_at": "2024-06-24T20:27:48Z",
        "updated_at": "2024-06-24T20:30:47Z"
    },
    "changes": {
        "body": {
            "from": "We're still planning this out and are kicking off soon.",
            "to": "We've kicked off this project and are feeling confident in our rollout plan. More updates and demos to come next week!"
        },
        "status": {
            "from": "INACTIVE",
            "to": "ON_TRACK"
        },
        "start_date": {
            "from": null,
            "to": "2024-06-24"
        },
        "target_date": {
            "from": null,
            "to": "2024-08-16"
        }
    },
    "organization": {
        ...
    },
    "sender": {
        ...
    }
}

Using webhooks for project custom field changes

Project custom field changes are now included directly in the project_v2_item webhook event when a project item’s fields are edited, removing the need to send an additional GraphQL query. This gives you the previous and current field values to understand how project fields change over time and how long they have a particular value, allowing you to understand how long an item was In progress before moving to Done status.

Below is an example of the webhook which includes the previous and current value for single select, text, number, iteration, and date project custom fields using the changes parameter.

"changes": {
    "field_value": {
        "field_node_id": "PVTSSF_lADOBH2n9s4Aje1Izgb1kEs",
        "field_type": "single_select",
        "field_name": "Status",
        "project_number": 18,
        "from": {
            "id": "f75ad846",
            "name": "Todo",
            "color": "GREEN",
            "description": "This item hasn't been started"
        },
        "to": {
            "id": "47fc9ee4",
            "name": "In Progress",
            "color": "YELLOW",
            "description": "This is actively being worked on"
        }
    }
},

Bug fixes and improvements

  • Added the convertProjectV2DraftIssueItemToIssue GraphQL mutation to convert drafts to issues
  • Fixed an error message when resizing columns in the table layout
  • Fixed errors when migrating a classic project to the new Projects experience
  • Fixed a bug where updating an issue in the project side panel didn’t reflect in the project view
  • Fixed the rendering of special characters in a single-select field description from the table layout cell dropdown
  • Fixed a bug where a space could not be added in project chart titles

✍️ Tell us what you think!

Join the conversation in the community discussion to share your feedback.

See how to use GitHub for project planning with GitHub Issues, check out what’s on the roadmap, and learn more in the documentation.

See more

August 7 update: additional details added to the GitHub.com sunset timeline.

Today, we are announcing the sunset of GitHub Projects (classic), which will follow individual sunset timelines for GitHub.com, GitHub Enterprise Server, and the REST API. Please see the details below for more information.

In July 2022, we announced the general availability of the new and improved Projects, powered by GitHub Issues. Since then, these new Projects have expanded to include a variety of features such as roadmaps, mobile support, project templates for organizations, project status updates, and unlimited items.

As we continue to invest in and enhance the future of Projects, we will be sunsetting Projects (classic). To migrate your existing classic projects to the new projects, please click Start migration on the banner at the top of your classic project:

The sunset will follow these timelines:

GitHub.com Timeline

  • May 23, 2024: A banner to migrate will be visible on classic projects, with the migration tooling included. Creation of new classic projects will be disabled.
  • August 23, 2024: Projects (classic) will be officially sunset. All unmigrated classic projects will automatically be migrated to new projects.
    • If projects is disabled on the organization level, classic projects under that organization will not be migrated.
    • Only cards that have been updated in the last year will be migrated.
    • During the migration process, projects v2 webhooks for the newly created projects will not be emitted.
    • After the migration on August 23, you will still technically be able to use the REST or GraphQL API to update your classic Projects. We heavily discourage this as your updates will not be persisted to the migrated V2 Projects.

GitHub Enterprise Server Timeline

  • August 27, 2024: Projects (classic) will be marked for deprecation in version 3.14. A banner to migrate will be visible on classic projects, with the migration tooling included.
  • March 11, 2025: Projects (classic) will be removed in version 3.16.

REST API Timeline

See more

Today’s changelog brings you a new workflow to auto-close issues in Projects!

🪄 Auto-close issue project workflow

The auto-close issue workflow allows you to automatically close issues when their project status is changed to “Done” ✅ or any custom status you define (🙅 say goodbye to repetitive clicks).

Implementing the new workflow

For existing projects anyone with write or admin access can enable the new auto-close issue workflow on the workflows page.

For new projects the auto-close issue workflow will be enabled by default.

✍️ Tell us what you think!

Join the conversation in the community discussion to share your feedback.

Bug fixes and improvements

  • Enterprise Managed Users can now use public project templates and copy public projects.
  • Changed the behavior to apply a secondary sort field from the view configuration menu and also the table column menu.

See how to use GitHub for project planning with GitHub Issues, check out what’s on the roadmap, and learn more in the documentation.

See more

When we first introduced GitHub Projects, we set a limit of 1,200 items per project to keep projects snappy and encourage tracking of only active work. Your feedback over the years has been invaluable, and we heard you loud and clear – sometimes, 1,200 items just isn’t enough for those growing, scaling projects. That’s why today, we’re excited to announce the private beta of Increased Project Item Limits, which will enable a soft limit of 50k items per project and can be expanded upon request.

While this feature is still under development, the private beta currently supports the table, board, and roadmap layouts. Stay tuned for upcoming support for other beloved features such as slice by, swimlanes, mobile support, Projects API, and insights.

If you’re a project admin and your project is nearing the item limit while exclusively using our supported features, this banner will appear over your project.

To join the private beta waitlist, click the Join waitlist button. If space is available, your project will be granted beta access.

For questions and feedback, please visit our Community Discussion.

See more

Today's changelog brings you project status updates and an updated issues side panel in Projects!

🟢 Project status updates

You can now provide high level details on the status, timing, and progress of your project, directly from the project! This makes it easy to know and share with others how your work is progressing, any risks, and a history of when and why something changed, all in the same place where you're tracking your work.

You can access status updates from the Project details panel, where you can also add a short description or README with additional project information. Select Add update to give your project a Status, Start date, or Target date, along with additional details or mentioning another user or team. You can also edit, delete, or copy a link to a specific update to make it easy to share with others.

Once you add a status update to a project, you'll find it visible in the project header and the project index pages, so you can quickly find and access the high level details for all of your projects in a single place and drill in for more information.

project index page showing the description and start / end dates next to the project name

For more details, check out the documentation.

🛝 Issues side panel in Projects

Projects has an updated issues side panel which matches the design of issues reached from a repository. In addition to providing a consistent experience, this update also means that issues accessed from a project have all timeline events and include any other projects the issue is a part of, making it easier to manage issues from either a project or a repository.

The image shows a project with an open issue page in a side panel

Bug fixes and improvements

  • Fixed a bug where labels were being unexpectedly changed on issues when adding them to a project
  • Improved the workflow name editing experience by providing a dialog
  • Improved keyboard focus and navigation on the Insights and Workflows pages

✍️ Tell us what you think!

Join the conversation in the community discussion to share your feedback.

See how to use GitHub for project planning with GitHub Issues, check out what's on the roadmap, and learn more in the documentation.

See more

Today's changelog brings you the general availability (GA) of organization project templates.

🎨 Organization project templates

We've shipped exciting updates that allow you to quickly create, share, and use project templates for your organizations, making it easy to get started with a new project and share inspiration and best practices with others.

🔄 Creating a project template

You can create a project template a few different ways:

  1. Using New template from the "Templates" section found in your organization, team, or repository "Projects" pages
  2. Converting a project to a template by toggling Make template from the project settings page
  3. Making a copy of an existing project or project template

templates section on the Projects index page

Once you set up your project template, any views, fields, workflows, insights, and draft items will be included when using the template or making a copy of it.

With a growing number of project templates within an organization, organization administrators can designate a set of recommended templates from the organization settings page. These will appear as "Recommended" templates when creating a new project, so they are surfaced more prominently to help guide you in the right direction when getting started.

organization recommended templates

Improved experience when creating a project

When you create a new project, you'll notice an improved experience to browse and search across all available templates and choose one to quickly get started. You will find a new set of "Featured" templates provided by GitHub to help you get started depending on your use case for a project, such as the "Team planning" or "Feature release" templates, as well as separate sections for templates from your organization and starting from scratch.

✍️ Tell us what you think!

Join the conversation in the community discussion to share your feedback.

See how to use GitHub for project planning with GitHub Issues, check out what's on the roadmap, and learn more in the documentation.

See more

Today's changelog introduces a new global page to find all of your projects!

🌐 Global Projects page

You will now find all of your relevant and commonly used projects in a single place at github.com/projects. This page is found from the global navigation menu under Projects and can be used to find projects you've recently viewed or created, regardless of the organization or where they live. No more searching across organizations and tabs for the project you are looking for!

Bug fixes and improvements

  • Improved the table column ... menu and configuration options
  • Included Field sum configurations when copying a project or using a project template
  • Fixed a bug where uploaded files were not rendering in the project README or draft items
  • Fixed a bug where items could not be added to an empty roadmap view with a Group by field
  • Fixed a bug where invalid chart configurations prevented copying a project or using a project template
  • Fixed a bug where setting a project as a template gave an error message

See how to use GitHub for project planning with GitHub Issues, check out what's on the roadmap, and learn more in the docs.

Questions or suggestions? Join the conversation in the community discussion.

See more

Today's changelog brings you improvements to project templates (public beta), including new templates pages and the ability to create a template with a single click!

🏠 Find projects templates from your organization's Projects page

You'll now find all project templates in the "Templates" section of your organization's Projects page. This allows you to quickly find, filter, and open all available templates right alongside your projects.

You can also create templates using New template, in addition to converting an existing project into a template by toggling Make template on the project's settings page.

Create, set up, and reuse templates to make getting started with new projects a breeze!

organization templates page

In order to find templates that are relevant to you and your teams, you can now link project templates and create them directly from your team and repository "Projects" pages. This allows you to link relevant templates for quick and easy access the same way that you can link or create projects from these locations.

✍️ Tell us what you think!

We’ve got more improvements planned for project templates but we want to hear from you, so be sure to drop a note in the discussion and let us know how we can improve! Check out the documentation for more details.

Bug fixes and improvements

  • Improved the project collaborators suggestions to differentiate between teams and users
  • Fixed a bug where you could not download an empty project view with Export view data
  • Fixed a border contrast issue in the Workflows page

See how to use GitHub for project planning with GitHub Issues, check out what's on the roadmap, and learn more in the docs.

Questions or suggestions? Join the conversation in the community discussion.

See more

Today’s Changelog brings you updates to project templates and historical charts, sticky group headers, and color improvements!

We’re continuing to make improvements to project templates for organizations (public beta). 👏

You can now view the project template that was used when a project was created. Once a template is used to create a new project, you can find and link back to the template from the project settings page in the “Templates” section. This allows you to reference the history of how a project was created and view any improvements made to the template since then.

templates settings page

You can also now use the CLI to mark a project as a template for members of your organization to use when getting started. The command will look like this:

gh project mark-template 1 --owner That-Lady-Dev

Check out the documentation for more details, and as well as the project CLI documentation to see all the possibilities of interacting with your projects from the terminal.

Be sure to drop a note in the feedback discussion to let us know how we can continue to improve project templates.

📜 Sticky group headers

Group headers are now sticky when scrolling through your project view. For example, if you have swimlanes on your board, scrolling to other columns and items will maintain the group name in view, making it easy for you to keep your place.

🎨 Updated colors for single select fields

The colors for single select fields have been updated, so you’ll now see the same colors within the field picker and on your project views.

single select field colors

➕ Create issues in board repository groups

You can now create issues when grouped by Repository on the board layout. Click Create new issue or start typing the title to get started.

creating issue in repository groups

📊 Updates to historical charts

Historical charts (available for GitHub Team and Enterprise Cloud plans) now show the state changes of your project items over time, allowing you to see how items have been opened and closed over time. This allows you to visualize the progress of your items over time, showing how much work has been completed and how much is left to do.

historical chart

Historical charts no longer support a Group by field.

Bug fixes and improvements

  • Included the Slice by field configuration when you copy a project or use a project template
  • Improved the contrast of the roadmap today marker
  • Fixed the alignment between the filter bar and board columns
  • Fixed a bug where you could not copy a project or use a template if there were invalid disabled workflows
  • Fixed a bug where the view configuration menu alignement shifted when resizing a window
  • Updated the error message when setting a large column limit on board columns

See how to use GitHub for project planning with GitHub Issues, check out what’s on the roadmap, and learn more in the docs.

Questions or suggestions? Join the conversation in the community discussion.

See more

Today’s Changelog brings you the brand new slice by, updates to issue forms, and a group menu across layouts!

🍕 Slice by

You can now slice by field values in your project views! Configuring a Slice by field allows you to quickly toggle through and review your project items broken down by a field, saving you additional filters and views to quickly understand the state and details of your project. While you can slice by your issue and project fields to customize your view, some helpful slice by views include:
– Single select fields to view items broken up by status, priority, or team
Labels to group items by repository labels
Assignees to see who is working on what

slice_by

Select a Slice by field from the view configuration menu. This will pull the field values into the panel on the left, allowing you to click through the values in the list to adjust the items shown in the view.

See it in action on the GitHub public roadmap, and check out the documentation for more details.

📋 Updates to issue forms

You can now configure custom issue forms to automatically add an issue to a project as well as set defaults for drop downs by adding a YAML form definition file to the /.github/ISSUE_TEMPLATE folder in your repository.

issue form yaml syntax

For more comprehensive instructions on syntax for issue forms, check out the documentation.

We’re looking to improve the experience around issue forms and templates. If you have any feedback 👉 drop a comment in our community discussion!

Group menu for item and group actions

We’ve added a group menu to quickly take action on items in a group or on the group itself. Click ... from the group header on your tables, boards, or roadmaps to archive or delete all items in a group, edit the group details directly, hide the group from the view, or delete it from your project.

group menu

Bug fixes and improvements

  • Fixed keyboard navigation and focus when navigating to Make a copy from the project ... menu
  • Fixed group header spacing on the roadmap layout
  • Fixed a bug where using the @next filter qualifier for iteration fields was referencing the incorrect iteration
  • Fixed a bug with the numerical Field sum decimal precision

See how to use GitHub for project planning with GitHub Issues, check out what’s on the roadmap, and learn more in the docs.

Questions or suggestions? Join the conversation in the community discussion.

See more

Today's Changelog brings you board swimlanes and the ability to create issues in repository groups!

🏊 Board swimlanes

You can now configure swimlanes on your boards by selecting a Group by field from the view configuration menu. This allows you to break up your items by different workstreams, team members, or priorities, similar to groups on tables and roadmaps. Drag and drop your items between columns and groups to quickly make adjustments, or add a new item directly.

swimlane

➕ Create issues in repository groups

You can now create issues when grouped by Repository on the table and roadmap layout. Click Create new issue or start typing the title to get started.

repo_groups

See how to use GitHub for project planning with GitHub Issues, check out what's on the roadmap, and learn more in the docs.

Questions or suggestions? Join the conversation in the community discussion.

See more

Today's Changelog includes updates to project templates, a pinned item side panel, and pull request support in tasklists!

🎨 Project template updates

Since we announced the public beta of project templates for organizations, we've made improvements to what is included in a template. Any configured workflows (other than the Auto-add to project workflow), project insights, and custom fields for draft items are now included when you use a project template or make a copy of a project.

Select a template when creating a new project to see a preview of what is included.

template dialog

As we continue to build out more functionality for project templates we would love your feedback and to hear more about your experiences and requests. Check out the documentation for more details.

📌 Pinned item side panel

You can now pin the item side panel in your project by selecting the pin icon in the top right corner. This allows for triage mode where you can interact with the project view while an item remains open in the side panel.

image

🏗 Tasklists: pull request support + bug fixes and improvements

Tasklists now support pull requests as items and you can create tasklists inside of pull requests! If you have already been putting tasklists into pull requests only to have them fail on you, failure no more. ✨

We've also made the following improvements to tasklists:

  • You can now drag and drop issues between groups when grouped by Tracked by
  • Text in issue hovercards for issues with tasklists now correctly renders issue descriptions
  • We improved the rendering of tasklists in email notifications
  • Tasklists no longer cause legacy task lists to be "off by 1"
  • Clicking Esc after selecting a single-line metadata menu now maintains the focus
  • Long URLs no longer extend past the borders of tasklists

🤸 Reorder fields in settings

You can now reorder your custom fields in the project settings by dragging and dropping them in the list to update the order that they appear in the item side panel and on the issue page. Once you've rearranged your fields, open an issue in the side panel to see your changes!

Bug fixes and improvements

  • Using Delete or pasting an empty value now clears the cell on the table layout
  • You can now undo drag and drop actions and archiving of an item using Command/Ctrl + Z
  • Fixed a bug where switching between views autoscrolled you to the right

See how to use GitHub for project planning with GitHub Issues, check out what's on the roadmap, and learn more in the docs.

See more

Today's Changelog brings you sorting improvements, the ability to select a template or form when creating a new issue from your project and adding a new option to a single select field from the side panel!

🗄 Improvements to sorting fields

You can now sort items in a view using two different fields. Select Sort by in the view menu and select a primary sort field, and then hold down Alt (Option on MacOS) to select the secondary sort field.

Accessing issue templates in Projects

When creating a new issue directly from a project, you can now choose an issue template or form to apply.

Simply use the + button in the project omnibar and select Create new issue to get started.

image shows a number of options for different issue templates and forms

Adding a new single-select field option from the side panel

We've updated the side panel so that you can add a new option when editing a single-select field. Start typing and you'll be prompted to add a new option if the text doesn't match an existing option.

Bug fixes and improvements

  • Items can now be dragged into collapsed groups in the roadmap layout
  • Empty cells can now be copied and pasted in the table layout
  • Export view data now includes the URL for issues and pull requests
  • Emojis now render in the browser tab title
  • Fixed a bug where you could not copy and paste Assignee information outside of a project
  • Fixed a bug where you could not use Tab to navigate Assignee values on board items
  • Your classic project link now has a working URL after completing migration

See how to use GitHub for project planning with GitHub Issues, check out what's on the roadmap, and learn more in the docs.

See more