Documentation / Contributing
Everyone is welcome to help out! But to keep this project sustainable, please ensure your contribution respects the requirements below.
Pull Request requirements
Requirements on pull requests;
- All tests MUST pass.
- Code coverage MUST remain at 100%.
- Code MUST adhere to PSR-1 and PSR-12 code standards.
SemVer, versions, and target branches
This repo uses strict Semantic Versioning.
- MAJOR version when introducing breaking changes
- MINOR version when adding features
- PATCH version when fixing bugs and equivalent changes
Base your patch on corresponding version branch, and target that version branch in your pull request.
Version | Branch | PHP | Status |
---|---|---|---|
3.3 |
v3.3-main |
^8.1 |
Upcoming version |
3.2 |
v3.2-main |
^8.1 |
Current version |
3.1 |
v3.1-main |
^8.1 |
Bug fixes only |
3.0 |
- | ^8.1 |
Not supported |
2.2 |
v2.2-main |
^8.0 |
Bug fixes only |
2.1 |
- | ^8.0 |
Not supported |
2.0 |
- | ^8.0 |
Not supported |
1.7 |
- | ^7.4|^8.0 |
Not supported |
1.6 |
- | ^7.4|^8.0 |
Not supported |
1.5 |
- | ^7.4|^8.0 |
Not supported |
1.4 |
- | ^7.1 |
Not supported |
1.3 |
- | ^5.4|^7.0 |
Not supported |
1.2 |
- | - | Not supported |
1.1 |
- | - | Not supported |
1.0 |
- | - | Not supported |
Policy
- Library MUST provide core functionality, fully compatible with WebSocket standard.
- Library MAY provide optional functionality of general use. Such functionality should preferably be offered as middleware, or possibly as configuration option.
- Library must NOT make assumptions on how it will be used.
- Library must NOT provide specific service implementations. Such implementations should be provided in separate repo, using this library as a dependency.
Dependency management
Install or update dependencies using Composer.
# Install dependencies
make install
# Update dependencies
make update
Code standard
This project uses PSR-1 and PSR-12 code standards.
# Check code standard adherence
make cs-check
Unit testing
Unit tests with PHPUnit, coverage with Coveralls
# Run unit tests
make test
# Create coverage
make coverage
Contributors
- Sören Jensen (maintainer)
- Fredrik Liljegren (orginator)
- Armen Baghumian Sankbarani
- Ruslan Bekenev
- Joshua Thijssen
- Simon Lipp
- Quentin Bellus
- Patrick McCarren
- swmcdonnell
- Ignas Bernotas
- Mark Herhold
- Andreas Palm
- pmaasz
- Alexey Stavrov
- Michael Slezak
- Pierre Seznec
- rmeisler
- Nickolay V
- Shmyrev
- Christoph Kempen
- Marc Roberts
- Antonio Mora
- Simon Podlipsky
- etrinh
- zgrguric
- axklim
- Dejan Levec
- Pieter Oliver