# Contribution Guide

# Code of Conduct

Twill is dedicated to building a welcoming, diverse, safe community. We expect everyone participating in the Twill community to abide by our Code of Conduct (opens new window). Please read it. Please follow it.

# Bug reports and features submission

To submit an issue or request a feature, please do so on GitHub (opens new window).

If you file a bug report, your issue should contain a title and a clear description of the issue. You should also include as much relevant information as possible and a code sample that demonstrates the issue. The goal of a bug report is to make it easy for yourself - and others - to replicate the bug and develop a fix.

Remember, bug reports are created in the hope that others with the same problem will be able to collaborate with you on solving it. Do not expect that the bug report will automatically see any activity or that others will jump to fix it. Creating a bug report serves to help yourself and others start on the path of fixing the problem.

# Security vulnerabilities

If you discover a security vulnerability within Twill, please email us at security@twill.io. All security vulnerabilities will be promptly addressed.

# Versioning scheme

Twill follows Semantic Versioning (opens new window). Major releases are released only when breaking changes are necessary, while minor and patch releases may be released as often as every week. Minor and patch releases should never contain breaking changes.

When referencing Twill from your application, you should always use a version constraint such as ^2.0, since major releases of Twill do include breaking changes.

# Which branch?

All bug fixes should be sent to the latest stable branch (2.x). Bug fixes should never be sent to the main branch unless they fix features that exist only in the upcoming release.

Minor features that are fully backwards compatible with the current Twill release may be sent to the latest stable branch (2.x).

Major new features should always be sent to the main branch, which contains the upcoming Twill release.

Please send coherent history — make sure each individual commit in your pull request is meaningful. If you had to make a lot of intermediate commits while developing, please squash them (opens new window) before submitting.

# Coding style