diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md
deleted file mode 100644
index 86ac2258a..000000000
--- a/.github/ISSUE_TEMPLATE/bug_report.md
+++ /dev/null
@@ -1,71 +0,0 @@
----
-name: Bug report
-about: Create a report to help us improve
-title: ''
-labels: 'state: pending, type: bug'
-assignees: ''
-
----
-
-1. PLEASE CAREFULLY READ: [FAQ](https://github.com/hoffstadt/DearPyGui/discussions/categories/frequently-asked-questions-faq)
-
-2. PLEASE CAREFULLY READ: [Documentation](https://github.com/hoffstadt/DearPyGui/wiki)
-
-3. FOR FIRST-TIME USERS ISSUES, please use the [Discord server](https://discord.gg/tyE7Gu4).
-
-4. REMOVE ALL 3RD PARTY LIBRARIES.
-
-5. PLEASE MAKE SURE that you have: read the FAQ; explored the examples; searched among Issues; and read the link provided in (1) (2).
-
-6. Be mindful that messages are being sent to the e-mail box of "Watching" users. Try to proof-read your messages before sending them. Edits are not seen by those users.
-
-7. Delete points 1-7 and PLEASE FILL THE TEMPLATE BELOW before submitting your issue or we will immediately close it.
-
-Thank you!
-
-----
-
-## Version of Dear PyGui
-
-Version: XXX
-Operating System: XXX (Windows 10, macOs xx, Ubuntu 20.04, etc.)
-
-## My Issue/Question
-
-A clear and concise description of what the issue/question is. Please provide as much context as possible.
-
-## To Reproduce
-
-Steps to reproduce the behavior:
-1. Go to '...'
-2. Click on '....'
-3. Scroll down to '....'
-4. See error
-
-## Expected behavior
-
-A clear and concise description of what you expected to happen.
-
-## Screenshots/Video
-
-XXX _(you can drag files here)_
-
-## Standalone, minimal, complete and verifiable example
-
-```python
-# Here's some code anyone can copy and paste to reproduce your issue
-import dearpygui.dearpygui as dpg
-
-dpg.create_context()
-dpg.create_viewport()
-dpg.setup_dearpygui()
-
-with dpg.window(label="tutorial"):
- dpg.add_button(label="Press me")
-
-more_code_to_explain_my_issue()
-
-dpg.show_viewport()
-dpg.start_dearpygui()
-dpg.destroy_context()
-```
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
new file mode 100644
index 000000000..32f5fcbb5
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -0,0 +1,121 @@
+name: Bug Report
+description: File a report for unexpected or broken behavior.
+labels: ["state: pending", "type: bug"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ **Before opening a bug report, please:**
+ - Search [existing issues](https://github.com/hoffstadt/DearPyGui/issues?q=is%3Aissue) (including closed ones) — your bug may already be known.
+ - Check the [FAQ](https://github.com/hoffstadt/DearPyGui/discussions/categories/frequently-asked-questions-faq), [Wiki](https://github.com/hoffstadt/DearPyGui/wiki), and [online documentation](https://dearpygui.readthedocs.io/en/latest/index.html).
+ - **FOR FIRST-TIME USERS' ISSUES**, please use the [Discord server](https://discord.gg/tyE7Gu4).
+ - Remove all third-party libraries.
+ - Confirm that the problem still exists with the **latest released version** of DearPyGui.
+ - Be mindful that messages are being sent to the e-mail box of "Watching" users. Try to proof-read your messages before sending them. Edits are not seen by those users.
+
+ - type: input
+ id: dpg_version
+ attributes:
+ label: "Dear PyGui version:"
+ description: >
+ To obtain it, run `python -c "import dearpygui; print(dearpygui.__version__)"` or `pip show dearpygui`.
+ placeholder: "e.g. 2.2.1"
+ validations:
+ required: true
+
+ - type: input
+ id: python_version
+ attributes:
+ label: "Python version:"
+ description: >
+ To obtain it, run `python --version`.
+ Note: DearPyGui requires Python 3.8+.
+ placeholder: "e.g. 3.11.4"
+ validations:
+ required: true
+
+ - type: input
+ id: operating_system
+ attributes:
+ label: "Operating system:"
+ placeholder: "e.g. Windows 11 22H2 or Ubuntu 22.04 LTS"
+ validations:
+ required: true
+
+ - type: textarea
+ id: description
+ attributes:
+ label: "My issue/question:"
+ description: "A clear and concise description of what the issue/question is. Please provide as much context as possible!"
+ validations:
+ required: true
+
+ - type: textarea
+ id: steps
+ attributes:
+ label: "Steps to reproduce:"
+ value: |
+ 1. Go to '...'
+ 2. Click on '....'
+ 3. Scroll down to '....'
+ 4. See error
+ validations:
+ required: true
+
+ - type: textarea
+ id: expected
+ attributes:
+ label: "Expected behavior:"
+ description: "What did you expect to happen?"
+ validations:
+ required: true
+
+ - type: textarea
+ id: screenshots
+ attributes:
+ label: "Screenshots:"
+ description: |
+ If applicable, attach screenshots or a screen recording (GIF/video) to help illustrate the problem. You can drag and drop files directly into this field. Please remove "N/A" text if you insert any screenshots.
+ # This is to prevent GitHub from inserting "No response" section - N/A reads better.
+ # As soon as GitHub starts entirely omitting empty inputs from issue description,
+ # we can remove the "value" and just let the Screenshots section disappear if the user
+ # doesn't provide any.
+ value: "N/A"
+ validations:
+ required: false
+
+ - type: textarea
+ id: mcve
+ attributes:
+ label: "Standalone, minimal, complete and verifiable example:"
+ description: |
+ **Please provide the shortest self-contained Python script that recreates the issue.**
+ Strip your code down to only what is necessary to trigger the bug.
+ **Anyone** should be able to **copy and paste** this code and recreate your issue.
+ Issues without a reproducible example may be closed.
+ render: python
+ placeholder: |
+ import dearpygui.dearpygui as dpg
+
+ dpg.create_context()
+ dpg.create_viewport(title="Bug Demo")
+ dpg.setup_dearpygui()
+
+ with dpg.window(label="Bug Demo"):
+ # minimal code that triggers the bug
+ pass
+
+ dpg.show_viewport()
+ dpg.start_dearpygui()
+ dpg.destroy_context()
+ validations:
+ required: true
+
+ - type: markdown
+ attributes:
+ value: |
+ **Last-chance checklist:**
+ - I have read DearPyGui documentation,
+ - I have checked FAQ and wiki articles for solution,
+ - I have searched for similar issues and found none,
+ - I have proof-read the description and it fully describes the problem.
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 000000000..235774511
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,8 @@
+blank_issues_enabled: false
+contact_links:
+ - name: Quick question? Discord!
+ url: https://discord.gg/tyE7Gu4
+ about: Dear PyGui community is more active on Discord than here. If you're asking a question rather than reporting a bug, head over to Discord for a quick answer.
+ - name: Dear PyGui is in maintenance mode!
+ url: https://github.com/hoffstadt/DearPyGui/discussions
+ about: Read this wiki article if you're unaware of the maintenance-only status of this project.
diff --git a/.github/ISSUE_TEMPLATE/doc_change.yml b/.github/ISSUE_TEMPLATE/doc_change.yml
new file mode 100644
index 000000000..189af0b98
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/doc_change.yml
@@ -0,0 +1,24 @@
+name: Documentation Improvement
+description: Suggest a doc change.
+labels: ["state: pending", "type: docs"]
+body:
+ - type: textarea
+ id: description
+ attributes:
+ label: Description
+ description: "A clear and concise description of what the improvement is. Please provide as much context as possible."
+ validations:
+ required: true
+
+ - type: textarea
+ id: assets
+ attributes:
+ label: Necessary assets
+ description: "Any assets to use in the documentation. You can drag and drop files directly into this field."
+ value: |
+ - [ ] Pictures
+ - [ ] Code Sample
+ - [ ] GIFs
+
+ validations:
+ required: false
diff --git a/.github/ISSUE_TEMPLATE/documentation.md b/.github/ISSUE_TEMPLATE/documentation.md
deleted file mode 100644
index 428aee43e..000000000
--- a/.github/ISSUE_TEMPLATE/documentation.md
+++ /dev/null
@@ -1,26 +0,0 @@
----
-name: Documentation Improvement
-about: Not Documented, Not Done... Help us be done!
-title: ''
-labels: 'state: pending, type: docs'
-assignees: Pcothren
-
----
-
----
-
-Delete the above comment between the lines and PLEASE FILL THE TEMPLATE BELOW before submitting your issue.
-
-Thank you!
-
-----
-
-**My Improvement**
-
-A clear and concise description of what the improvement is. Please provide as much context as possible.
-
-**Necessary Assets**
-
-- [ ] Pictures
-- [ ] Code Sample
-- [ ] GIFs
diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md
deleted file mode 100644
index cb9ce6b1a..000000000
--- a/.github/ISSUE_TEMPLATE/feature_request.md
+++ /dev/null
@@ -1,20 +0,0 @@
----
-name: Feature request
-about: Suggest an idea for this project
-title: ''
-labels: 'state: pending'
-assignees: ''
-
----
-
-**Is your feature request related to a problem? Please describe.**
-A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
-
-**Describe the solution you'd like**
-A clear and concise description of what you want to happen.
-
-**Describe alternatives you've considered**
-A clear and concise description of any alternative solutions or features you've considered.
-
-**Additional context**
-Add any other context or screenshots about the feature request here.
diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml
new file mode 100644
index 000000000..dc2419b26
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/feature_request.yml
@@ -0,0 +1,45 @@
+name: Feature Request
+description: Suggest a new feature or improvement.
+labels: ["state: pending", "type: improvement"]
+body:
+ - type: markdown
+ attributes:
+ value: |
+ **Before opening a feature request, please:**
+ - Search [existing issues](https://github.com/hoffstadt/DearPyGui/issues?q=is%3Aissue) and [discussions](https://github.com/hoffstadt/DearPyGui/discussions) (including closed ones) for similar requests.
+ - Be mindful of [The XY Problem](https://en.wikipedia.org/wiki/XY_problem): describe **what you are trying to accomplish**, not only the specific solution you have in mind. There may be a better or already-available approach.
+
+ - type: textarea
+ id: description
+ attributes:
+ label: Description
+ description: "A clear and concise description of what the problem is."
+ placeholder: "e.g. I'm trying to build X. There is currently no way to do Y, which means I have to work around it by..."
+ validations:
+ required: true
+
+ - type: textarea
+ id: solution
+ attributes:
+ label: Proposed solution
+ description: "A clear and concise description of what you want to happen."
+ validations:
+ required: true
+
+ - type: textarea
+ id: alternatives
+ attributes:
+ label: Alternatives considered
+ description: "Describe any alternative approaches, workarounds, or existing solutions you have already tried or considered."
+ value: "N/A"
+ validations:
+ required: false
+
+ - type: textarea
+ id: additional
+ attributes:
+ label: Additional context
+ description: "Any other context, screenshots, links to related issues, or references that might help."
+ value: "N/A"
+ validations:
+ required: false
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index 64042b0b4..dcdf197e3 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -1,16 +1,16 @@
----
-name: Pull Request
-about: Create a pull request to help us improve
-title: ''
-assignees: ''
-
----
-
-
-
+
+
**Description:**
**Concerning Areas:**
+
+**A checklist on final steps:**
+
+I confirm that I have:
+- [ ] listed all necessary tickets in with the "closes" keyword,
+- [ ] added reviewers,
+- [ ] proof-read the description in the Preview tab,
+- [ ] removed this checklist from PR description :) (yes, this checklist is for *you*, not for us - use it as a reminder).