Skip to content

Latest commit

 

History

History
123 lines (95 loc) · 3.24 KB

SUPPORT.md

File metadata and controls

123 lines (95 loc) · 3.24 KB

Support and Contribution Guide

Getting Help

Documentation

Community Resources

  • GitHub Issues: Technical questions and bug reports
  • GitHub Discussions: General questions and community interaction
  • Stack Overflow: Use the tags perl and eventually perlonjava

Long-term Support

PerlOnJava follows semantic versioning (MAJOR.MINOR.PATCH):

  • Major versions (X.0.0): Significant features or breaking changes
  • Minor versions (X.Y.0): New features and enhancements
  • Patch versions (X.Y.Z): Bug fixes and minor improvements

Version Support Timeline

  • Current stable version receives regular updates and bug fixes
  • Previous major version receives security updates for 12 months
  • LTS versions are marked explicitly and supported for 24 months

Contributing Guidelines

Code Contributions

  1. Fork the repository
  2. Create a feature branch
  3. Write clean, documented code
  4. Include tests for new features
  5. Submit a Pull Request

Coding Standards

  • Follow existing code style
  • Add comments for complex logic
  • Include JavaDoc for public methods
  • Update relevant documentation

Testing Requirements

  • Add unit tests for new features
  • Ensure all tests pass locally
  • Include test cases for bug fixes
  • Update test documentation

Documentation Contributions

  • Update relevant .md files
  • Add code examples where helpful
  • Keep the style consistent
  • Include references to related features

Pull Request Process

  1. Update documentation
  2. Add/update tests
  3. Update FEATURE_MATRIX.md if needed
  4. Request review from maintainers

Issue Reporting

Include:

  • PerlOnJava version
  • Java version
  • Operating system
  • Minimal reproducible example
  • Expected vs actual behavior
  • Related error messages

Release Process

Release Channels

  • Main: Stable releases
  • Development: Preview features
  • LTS: Long-term support versions

Version Lifecycle

  1. Development in feature branches
  2. Integration into development branch
  3. Testing and documentation
  4. Release candidate
  5. Stable release

Security

Reporting Security Issues

  • Report security vulnerabilities privately
  • Include proof-of-concept if possible
  • Allow time for fixes before public disclosure

Security Updates

  • Critical updates released as needed
  • Regular security audits
  • Dependency vulnerability monitoring

Project Governance

Decision Making

  • Technical decisions through pull request reviews
  • Major features discussed in GitHub Discussions
  • Version planning via milestones

Core Team

  • Maintainers review pull requests
  • Documentation team reviews docs
  • Security team handles vulnerabilities

Communication Channels

Official Channels

  • GitHub Issues: Bug reports and features
  • GitHub Discussions: Community interaction
  • Release Notes: Version updates

Best Practices

  • Search existing issues before creating new ones
  • Use clear, descriptive titles
  • Include relevant code examples
  • Follow up on your submissions

License

This project is licensed under the Perl Artistic License 2.0. See LICENSE for details.