+++ /dev/null
----
-name: Bug report
-about: Submit a bug report
-labels: "type-bug"
----
-
-<!--
- New to Python? The issue tracker isn't the right place to get help.
- Consider instead:
-
- - reading the Python tutorial: https://docs.python.org/3/tutorial/
- - posting at https://discuss.python.org/c/users/7
- - emailing https://mail.python.org/mailman/listinfo/python-list
--->
-
-# Bug report
-
-## Checklist
-
-<!-- Bugs in third-party projects (e.g. `requests`) do not belong in the CPython issue tracker -->
-
-- [ ] I am confident this is a bug in CPython, not a bug in a third-party project
-- [ ] I have searched the CPython issue tracker, and am confident this bug has not been reported before
-
-## A clear and concise description of the bug
-
-<!--
- Include a minimal, reproducible example if possible.
- (https://stackoverflow.com/help/minimal-reproducible-example)
-
- Put any code blocks inside triple backticks:
-
- ```py
- your code here
- ```
-
--->
-
-
-
-# Your environment
-
-<!-- Include all relevant details about the environment you experienced the bug in -->
-
-- CPython versions tested on:
-- Operating system and architecture:
-
-<!--
-You can freely edit this form. Remove any lines you believe are unnecessary.
--->
--- /dev/null
+name: Bug report
+description: Submit a bug report
+labels: ["type-bug"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ **New to Python?**
+
+ For help or advice on using Python, try one of the following options instead of opening a GitHub issue:
+
+ - Posting on [Discourse](https://discuss.python.org/c/users/7)
+ - Reading the [Python tutorial](https://docs.python.org/3/tutorial/)
+ - Emailing [python-list](https://mail.python.org/mailman/listinfo/python-list)
+ - type: checkboxes
+ attributes:
+ label: Checklist
+ description: A bug in a third-party project (for example, `pip` or `requests`) should be reported to that project's issue tracker, not CPython
+ options:
+ - label: I am confident this is a bug in CPython, not a bug in a third-party project
+ required: false
+ - label: |
+ I have searched the [CPython issue tracker](https://github.com/python/cpython/issues?q=is%3Aissue+sort%3Acreated-desc),
+ and am confident this bug has not been reported before
+ required: false
+ - type: dropdown
+ attributes:
+ label: "CPython versions tested on:"
+ multiple: true
+ options:
+ - "3.8"
+ - "3.9"
+ - "3.10"
+ - "3.11"
+ - "3.12"
+ - "CPython main branch"
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: "Operating systems tested on:"
+ multiple: true
+ options:
+ - Linux
+ - macOS
+ - Windows
+ - Other
+ validations:
+ required: false
+ - type: input
+ attributes:
+ label: "Output from running 'python -VV' on the command line:"
+ description: If you tested with multiple operating systems or architectures, feel free to provide details in the main bug description.
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: "A clear and concise description of the bug:"
+ description: >
+ Tell us what happened.
+ Include a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) if possible.
+ Put any code blocks inside triple backticks.
+
+ value: |
+ ```python
+ # Add a code block here, if required
+ ```
+ validations:
+ required: true
+++ /dev/null
----
-name: Crash report
-about: A hard crash of the interpreter, possibly with a core dump
-labels: "type-crash"
----
-
-<!--
- This form is for hard crashes of the Python interpreter, segmentation faults,
- failed C-level assertions, and similar.
- Exceptions unexpectedly raised from stdlib Python functions
- count as bugs rather than crashes.
-
- The CPython interpreter is written in a different programming language, C.
- A "CPython crash" is when Python itself fails, leading to a traceback in the C stack.
--->
-
-# Crash report
-
-<!--
- Tell us what happened. Ideally, include a minimal, reproducible example.
- (https://stackoverflow.com/help/minimal-reproducible-example)
-
- Put any code blocks inside triple backticks:
-
- ```py
- your code here
- ```
-
--->
-
-
-
-# Error messages
-
-<!-- Enter any error messages caused by the crash, including a core dump if there is one -->
-
-
-
-# Your environment
-
-<!-- Include all relevant details about the environment you experienced the crash in -->
-
-- CPython versions tested on:
-- Operating system and architecture:
-
-<!--
-You can freely edit this form. Remove any lines you believe are unnecessary.
--->
--- /dev/null
+name: Crash report
+description: A hard crash of the interpreter, possibly with a core dump
+labels: ["type-crash"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ This form is for hard crashes of the Python interpreter, segmentation faults, failed C-level assertions, and similar. Unexpected exceptions raised from Python functions in the standard library count as bugs rather than crashes.
+
+ The CPython interpreter is written in a different programming language, C. A "CPython crash" is when Python itself fails, leading to a traceback in the C stack.
+ - type: dropdown
+ attributes:
+ label: "CPython versions tested on:"
+ multiple: true
+ options:
+ - "3.8"
+ - "3.9"
+ - "3.10"
+ - "3.11"
+ - "3.12"
+ - "CPython main branch"
+ validations:
+ required: true
+ - type: dropdown
+ attributes:
+ label: "Operating systems tested on:"
+ multiple: true
+ options:
+ - Linux
+ - macOS
+ - Windows
+ - Other
+ validations:
+ required: false
+ - type: input
+ attributes:
+ label: "Output from running 'python -VV' on the command line:"
+ description: If you tested with multiple operating systems or architectures, feel free to provide details in the main bug description.
+ validations:
+ required: false
+ - type: textarea
+ attributes:
+ label: What happened?
+ description: >
+ Include a [minimal, reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) if possible.
+ Put any code blocks inside triple backticks.
+
+ value: |
+ ```python
+ # Add a code block here, if required
+ ```
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: Error messages
+ description: >
+ Enter any error messages caused by the crash, including a core dump if there is one.
+ Feel free to leave this bit blank if it isn't relevant.
+ placeholder: |
+ Error messages should be formatted like this:
+
+ <details>
+ <summary>Error messages/core dump</summary>
+
+ ```
+ # paste errors here, if you have any
+ ```
+ </details>
+ validations:
+ required: false
+++ /dev/null
----
-name: Feature or enhancement
-about: Submit a proposal for a new CPython feature or enhancement
-labels: "type-feature"
----
-
-<!--
- Proposing a new feature for Python?
- You'll need to demonstrate widespread support for your idea among the community.
-
- Major feature proposals should generally be discussed at
- https://discuss.python.org/c/ideas/6 before opening a GitHub issue.
- Wait until it's clear that most people support your idea
- before filling in this form.
--->
-
-# Feature or enhancement
-
-<!-- A clear and concise description of your proposal. -->
-
-
-
-# Pitch
-
-<!--
- Explain why this feature or enhancement should be implemented and how it would be used.
- Add examples, if applicable.
-
- Put any code blocks inside triple backticks:
-
- ```py
- your code here
- ```
-
--->
-
-
-
-# Previous discussion
-
-<!--
- Use this space to post links to the places
- where you have already discussed your feature proposal:
--->
-
-
-
-<!--
-You can freely edit this form. Remove any lines you believe are unnecessary.
--->
--- /dev/null
+name: Feature or enhancement
+description: Submit a proposal for a new CPython feature or enhancement
+labels: ["type-feature"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ # Proposing a feature to CPython?
+
+ You'll need to demonstrate widespread support for your idea among the community.
+
+ Major feature proposals should generally be discussed on [Discourse](https://discuss.python.org/c/ideas/6) before opening a GitHub issue. Wait until it's clear that most people support your idea before filling in this form.
+ - type: checkboxes
+ attributes:
+ label: Has this already been discussed elsewhere?
+ options:
+ - label: I have already discussed this feature proposal on Discourse
+ - label: This is a minor feature, which does not need previous discussion elsewhere
+ - type: textarea
+ attributes:
+ label: "Links to previous discussion of this feature:"
+ validations:
+ required: false
+ - type: input
+ attributes:
+ label: "Summary of proposal:"
+ description: A one-line summary of your proposal.
+ validations:
+ required: true
+ - type: textarea
+ attributes:
+ label: "Pitch:"
+ description: >
+ Explain why this feature or enhancement should be implemented and how it would be used.
+ Add examples, if applicable.
+ Put any code blocks inside triple backticks.
+ value: |
+ ```python
+ # Add a code block here, if required
+ ```
+ validations:
+ required: true