---
# System prepended metadata

title: Natron Contributing Templates

---

# Natron Contributing Templates

New contributing templates for Natron.

*Note: the changes outlined are already a pull request, viewable [here](https://github.com/NatronGitHub/Natron/pull/652). Parts of this are likely outdated and do not reflect the most up to date information on the updated contributing templates.*

## Info

Natron's current templates are a bit lacking in detail. They have a number of issues and can use some improvements:

- The issue template is for everything from bug reports to feature requests and thus makes it hard to know what the issue is about
- The issue template also encourages bad issues as it doesn't enforce good guidelines for issues (e.g. proper use of code formatting, professional language, detailed descriptions)
- The PR template is incredibly vague and doesn't have guidance instructions to prevent very messy PRs (e.g. the former [PR #479](https://github.com/NatronGitHub/Natron/pull/479))
- The issues template should (but doesn't) use the updated YAML syntax supported by GitHub rather than the old markdown issue template syntax

## Templates Overview

There will be three templates in total:

* A pull request template - for all pull requests (already a thing but will add more specific guidance!)
* A bug report template - for actual (i.e. reproducible and verified) bugs
* A feature request template - for suggesting any and all features

## 1. Pull Request Template

### Source

```
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:

[Please check the applicable box(es) below and delete this line]

- [ ] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CODE_OF_CONDUCT.md) to the best of my understanding
- [ ] I've read and understood the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md)
- [ ] I've formatted my code according to Natron's [code style]([#](https://github.com/NatronGitHub/Natron#logistics))
- [ ] I've searched the [pull requests tracker](https://github.com/NatronGitHub/Natron/pulls?q=is%3Apr) to ensure that this PR is not a duplicate

## PR Description

**What type of PR is this? (Check one of the boxes below)**

[Please check the applicable box(es) below and delete this line]

- [ ] Bug fix (non-breaking change which fixes an issue)
- [ ] New feature (non-breaking change which adds functionality)
- [ ] Improvement (non-breaking change which does not add functionality nor fixes a bug but improves Natron in some way)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] My change requires a change to the documentation
    - [ ] I have updated the documentation accordingly

**Explain the motivation for making this change. What does the pull request do?**

[Please replace this with your answer]

**Show a few screenshots (if this is a visual change)**

[Please replace this with your answer]

**Have you tested your changes (if applicable)? If so, how?**

[Please replace this with your answer]

**Futher details of this pull request**

[Please replace this with your answer]
```

### Demo

<!--Parts borrowed from https://github.com/stevemao/github-issue-templates/-->

Thanks for submitting a pull request! Please provide enough information so that others can review your pull request:

- [x] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CODE_OF_CONDUCT.md) to the best of my understanding
- [x] I've read and understood the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md)
- [x] I've formatted my code according to Natron's [code style]([#](https://github.com/NatronGitHub/Natron#logistics))
- [x] I've searched the [pull requests tracker](https://github.com/NatronGitHub/Natron/pulls?q=is%3Apr) to ensure that this PR is not a duplicate

**What type of PR is this? (Check one of the boxes below)**

- [ ] Bug fix (non-breaking change which fixes an issue)
- [x] New feature (non-breaking change which adds functionality)
- [ ] Improvement (non-breaking change which does not add functionality nor fixes a bug but improves Natron in some way)
- [ ] Breaking change (fix or feature that would cause existing functionality to change)
- [ ] My change requires a change to the documentation
    - [ ] I have updated the documentation accordingly

**Explain the motivation for making this change. What existing problem does the pull request solve?**

Natron doesn't have emoji support, end of story. But now it does! You can input emojis based on Github markdown syntax in textareas within Natron.

**Show a few screenshots (if this is a visual change)**

N/A

**Have you tested your changes (if applicable)? If so, how?**

Tested without any issues on Manjaro Linux running Natron 2.4.0 stable.

**Futher details of this pull request**

Created a new folder called `Qemoji` containing emoji support source.

## 2. Bug Report Template

### Source

```yaml
name: New issue for bug report
description: Got a glitch, crash, or some other problem? If you're sure your issue is reproducible, feel free to report the issue to Natron's development team.
title: "(Bug): <title>"
labels: "type:bug"
body:
  # Greeter message
  - type: markdown
    attributes:
      value: |
        Thank you for reporting a bug! Please first check the boxes below to ensure that your bug report meets our requirements.
  # Requirements checks
  - type: checkboxes
    attributes:
      options:
        - label: I'm using the latest version of Natron (not required but recommended)
        - label: I've restarted Natron and the issue persists
          required: true
        - label: I've run Natron via the [command line](https://natron.readthedocs.io/en/rb-2.4/devel/natronexecution.html) and the issue persists
          required: true
        - label: I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md) to the best of my understanding
          required: true
        - label: My issue is not on the [issue tracker](https://github.com/NatronGitHub/Natron/issues?q=is%3Aissue+type%3Abug) and is not a duplicate of a forum thread
          required: true
        - label: This bug is reproducible
          required: true
        - label: This issue is not a feature request or a pull request
          required: true
  # Natron & OS versions
  - type: input
    id: natron-version
    attributes:
      label: Natron version
      description: Natron version/commit (they can be retrieved from the about window or with `natron --about`)
      placeholder: "e.g. Natron 2.4.0"
    validations:
      required: true
  - type: input
    id: os-version
    attributes:
      label: Operating system
      description: The name and version of your operating system
      placeholder: "e.g. macOS 10.15 Catalina"
    validations:
      required: true
  # System (hardware) info
  - type: textarea
    attributes:
      label: System specs
      render: markdown
      placeholder: |
        RAM: 15.6 GiB
        CPU: 8 x Intel Core i7-7700HQ CPU @ 2.80GHz
        GPU: NVIDIA GeForce GTX 1070/PCle/SSE2
      description: |
        Please input the following (if you know them):
          - Your system's RAM
          - The number, model, and type of your CPU(s)
          - The model and type of your GPU
    validations:
      required: false
  # Did the user install via the official installer?
  - type: checkboxes
    attributes:
      label: Did you install Natron using the official installer?
      description: If you installed Natron via another method, please add your installation method in the \"additional details\" section at the bottom of this form
      options:
        - label: Yes, I used the official installer
        - label: No, I installed from a binary archive
        - label: No, I compiled Natron from sources
        - label: No, I installed Natron via another method
    validations:
      required: true
  # At which location did the user install Natron?
  - type: textarea
    attributes:
      label: At which location did you install Natron?
      placeholder: E.g. I installed Natron at `/opt/Natron-2.4.0`
      render: markdown
    validations:
      required: true
  # What was the user trying to do?
  - type: textarea
    attributes:
      label: What were you trying to do?
      placeholder: E.g. While working on a project in Natron I tried to...
      render: markdown
    validations:
      required: true
  # What did the user expect to happen? What was the actual behavior?
  - type: textarea
    attributes:
      label: What did you expect to happen? What happened instead?
      render: markdown
      description: |
        You may submit a link to any screenshots/videos that can be used to understand how to reproduce the issue. Additionally, depending on situation, you should also submit one of the following:
          - If your problem can be reproduced using a Natron project, please include a link to the project on a file sharing service, or attach the project as a zip file to this issue, if possible.
          - If your problem is a crash in an official release/snapshot, please include verbose output from the application from a terminal if possible.  If you also submitted a crash report, indicate the Crash ID if possible.
          - If you need to report a compilation issue, please create a [gist](https://gist.github.com) that contains the _full_ verbose build log.
          - If your problem is a crash in a build that you made yourself, please create a [gist](https://gist.github.com) that contains a _full_ backtrace.

        Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in.
    validations:
      required: true
  # Step-by-step reproduction instructions
  - type: textarea
    attributes:
      label: Step-by-step reproduction instructions
      render: markdown
      placeholder: |
        1. Start Natron...
        2. Open attached project...
        3. Run "..."
        4. See error...
    validations:
      required: true
  # Additional details
  - type: textarea
    attributes:
      label: Additional details
      description: Add any other relevant information here
      render: markdown
    validations:
      required: false

```

### Demo

Thank you for reporting a bug! Please first check the boxes below to ensure that your bug report meets our requirements.

- [x] I'm using the latest version of Natron (not required but recommended)
- [x] I've restarted Natron and the issue persists
- [x] I've run Natron via the [command line](https://natron.readthedocs.io/en/rb-2.4/devel/natronexecution.html) and the issue persists
- [x] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md) to the best of my understanding
- [x] My issue is not on the [issue tracker](https://github.com/NatronGitHub/Natron/issues?q=is%3Aissue+type%3Abug) and is not a duplicate of a forum thread
- [x] This bug is reproducible
- [x] This issue is not a feature request or a pull request

**Version Info**

* Natron version/commit (they can be retrieved from the about window or with `natron --about`): `Natron 2.4.0`
* Operating system and OS version: `Manjaro Linux 21.0 Ornara with kernel version 5.10.42-1`

**System specs**

Please input the following:

* The output of `uname -a && sudo lshw -short` for Mac/Linux, OR the output of `Get-CimInstance Win32_OperatingSystem | FL *` command for Windows
* Your system's RAM, 
* The number, model, and type of your CPU(s) and GPU

```
Linux songtech-msi 5.10.42-1-MANJARO #1 SMP PREEMPT Thu Jun 3 14:37:11 UTC 2021 x86_64 GNU/Linux

CPU: Intel Core i7-7700HQ CPU x8
GPU: NVIDIA GeForce GTX 1070/PCle/SSFE2
Memory: 15.6 GiB of RAM
```

**Did you install Natron using the official installer?**

Yes.

**At which location did you install Natron?**

Natron is installed at `/opt/Natron-2.4.0`

**What were you trying to do?**

I tried to render my project, but it crashed on the 8th frame. My other machine could render it without any issues.

**What did you expect to happen? What was the actual behavior?**

* If your problem can be reproduced using a Natron project, please include a link to the project on a file sharing service, or attach the project as a zip file to this issue, if possible.
* If your problem is a crash in an official release/snapshot, please include verbose output from the application from a terminal if possible.  If you also submitted a crash report, indicate the Crash ID if possible.
* If you need to report a compilation issue, please create a [gist](https://gist.github.com) that contains the _full_ verbose build log.
* If your problem is a crash in a build that you made yourself, please create a [gist](https://gist.github.com) that contains a _full_ backtrace.


You may submit a link to any screenshots/videos that can be used to understand how to reproduce the issue.

Expected the render to successfully complete, but it exited on frame 8 instead.

**Step-by-step reproduction instructions**

1. Press CTRL C in the terminal on render after 4 seconds of start of render
2. See error!

**Additional Details**

None

## 3. Feature Request Template

### Source

```yaml
name: new issue for feature request
description: "have a feature suggestion? share your idea with a feature request."
title: "(feature): <title>"
labels: "type: feature"
body:
  # greeter message
  - type: markdown
    attributes:
        value: thank you for suggesting a feature! please first check the boxes below to ensure that your feature request meets our requirements.
  # requirements checks
  - type: checkboxes
    attributes:
        options:
            - label: i have read the [feature request guidelines](https://hackmd.io/@natron-dev-awesome/b1sw6hbau)
              required: true
            - label: i have followed the [contributing guidelines](https://github.com/natrongithub/natron/blob/rb-2.4/contributing.md) to the best of my understanding
              required: true
            - label: this feature is not on the [issue tracker](https://github.com/natrongithub/natron/issues?q=is%3abug+type%3afeature+type%3aidea) and is not a duplicate
              required: true
  # feature request description
  - type: textarea
    attributes:
        label: provide a description of your feature request
        render: markdown
    validations:
        required: true
  # realistically implementable or not?
  - type: checkboxes
    attributes:
        label: is this a realistically implementable feature?
        description: |
            a feature is realistically implementable if you can reasonably expect yourself to implement the feature within 1 month of the request. a feature can still be added if it is not realistically implementable, but it will be tagged as an *idea* and relegated to be added in the indefinite future.
        options:
            - label: my feature is realistically implementable
            - label: my feature is not realistically implementable
  # contributable or not?
  - type: checkboxes
    attributes:
        label: can you contribute in creating this feature?
        options:
            - label: i am unable, incapable, or not willing to contribute in creating this feature
            - label: i am able and willing to contribute in creating this feature
  # additional details
  - type: textarea
    attributes:
        label: additional details
        description: |
          you do not have to fill this out but more details are always helpful.
        render: markdown
    validations:
        required: false
```
### Demo

Thank you for suggesting a feature! Please first check the boxes below to ensure that your feature request meets our requirements.

- [x] I have read the [feature request guidelines](https://hackmd.io/@natron-dev-awesome/B1SW6Hbau)
- [x] I've followed the [contributing guidelines](https://github.com/NatronGitHub/Natron/blob/RB-2.4/CONTRIBUTING.md) to the best of my understanding
- [x] My issue is not on the [issue tracker](#) and is not a duplicate

**Provide a description of your feature request**

[Textarea for description here]

**Is this a realistically implementable feature?**

A feature is realistically implementable if you can reasonably expect yourself to implement the feature within 1 month of the request. A feature can still be added if it is not realistically implementable, but it will be tagged as an *idea* and relegated to be added in the indefinite future.

- [x] My feature is realistically implementable
- [ ] My feature is **NOT** realistically implementable

**Can you contribute in creating this feature?**

- [x] I am unable, incapable, or not willing to contribute in creating this feature
- [ ] I am able and willing to contribute in creating this feature

