-
Notifications
You must be signed in to change notification settings - Fork 0
Release: Merge dev into main #8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
29 commits
Select commit
Hold shift + click to select a range
bbadc75
chore: rename project to Encoderize for package upload
DrWheelicus 43999b1
feat: add issue and pull request templates
DrWheelicus 1ca3b7a
chore: remove issue and pull request templates from GitHub workflows
DrWheelicus e94521b
chore: update GitHub Actions workflow
DrWheelicus 0716fe0
chore: enhance GitHub Actions workflow for Python CI
DrWheelicus 01fe1b8
chore: update GitHub Actions workflow to allow all branch pushes to t…
DrWheelicus 07bd919
docs: update README to include badges for Codecov, PyPI, and downloads
DrWheelicus 545c5b6
chore: update GitHub Actions workflow to use Codecov v5 and improve c…
DrWheelicus 6821f4f
docs: update Codecov badge in README to include token for improved tr…
DrWheelicus ad987d8
chore: update Python version matrix in GitHub Actions workflow
DrWheelicus d1bb969
chore: update setuptools version constraints in pyproject.toml
DrWheelicus 6a066a4
Restricts push branch and adds license classifier
DrWheelicus 583eabb
chore: update Python version matrix in GitHub Actions workflow to inc…
DrWheelicus 1b93a3e
chore: update dependencies in requirements.txt and GitHub Actions wor…
DrWheelicus ef8a564
chore: adjust coverage dependency versions in requirements.txt for Py…
DrWheelicus 65e1fc6
chore: adjust docutils dependency versions in requirements.txt for Py…
DrWheelicus d27f9db
chore: adjust keyring dependency versions in requirements.txt for Pyt…
DrWheelicus a9d5152
chore: adjust pillow dependency versions in requirements.txt for Pyth…
DrWheelicus 7a0bbb9
chore: add linting and testing job to CI
DrWheelicus b525e9d
chore: adjust treepoem dependency versions in requirements.txt for Py…
DrWheelicus 3b87e77
chore: reorganize CI workflow for improved linting and testing
DrWheelicus eb0174f
chore: update Python version in CI workflow to 3.13
DrWheelicus b96adfd
chore: add CONTRIBUTING.md and update README for clarity and structure
DrWheelicus 76c65e5
chore: simplify README layout by removing unnecessary div tags
DrWheelicus 999789e
Merge branch 'main' into dev
DrWheelicus adfe0de
feat(docs): add centered logo and improve README layout (#5)
DrWheelicus 767d36d
feat: enhance project documentation and configuration (#7)
DrWheelicus a11f917
feat: enhance CI/CD workflows for package building and release (#6)
DrWheelicus 1c9cbe1
chore: merge main into dev to sync branches
DrWheelicus File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1 @@ | ||
| * @DrWheelicus |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,50 @@ | ||
| name: Release to PyPI | ||
|
|
||
| on: | ||
| push: | ||
| tags: | ||
| - "v*" | ||
|
|
||
| permissions: | ||
| contents: write | ||
| id-token: write | ||
|
|
||
| jobs: | ||
| # Reuse the existing CI workflow for testing and building | ||
| ci: | ||
| uses: ./.github/workflows/python-app.yml | ||
| secrets: inherit | ||
|
|
||
| publish-pypi: | ||
| needs: ci | ||
| runs-on: ubuntu-latest | ||
| environment: | ||
| name: Main Deployment | ||
| url: https://pypi.org/project/encoderize/ | ||
| steps: | ||
| - name: Download build artifacts | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: dist | ||
| path: dist/ | ||
|
|
||
| - name: Publish to PyPI | ||
| uses: pypa/gh-action-pypi-publish@release/v1 | ||
|
|
||
| github-release: | ||
| needs: [ci, publish-pypi] | ||
| runs-on: ubuntu-latest | ||
| steps: | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Download build artifacts | ||
| uses: actions/download-artifact@v4 | ||
| with: | ||
| name: dist | ||
| path: dist/ | ||
|
|
||
| - name: Create GitHub Release | ||
| uses: softprops/action-gh-release@v2 | ||
| with: | ||
| generate_release_notes: true | ||
| files: dist/* | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,125 @@ | ||
| # Security Policy | ||
|
|
||
| ## Supported Versions | ||
|
|
||
| I release patches for security vulnerabilities in the following versions: | ||
|
|
||
| | Version | Supported | | ||
| | ------- | ------------------ | | ||
| | 0.2.x | :white_check_mark: | | ||
| | < 0.2 | :x: | | ||
|
|
||
| ## Reporting a Vulnerability | ||
|
|
||
| I take the security of Encoderize seriously. If you believe you have found a security vulnerability, please report it as described below. | ||
|
|
||
| ### How to Report | ||
|
|
||
| **Please do not report security vulnerabilities through public GitHub issues.** | ||
|
|
||
| Instead, please report them via email to: | ||
|
|
||
| **[haydenpmac@gmail.com](mailto:haydenpmac@gmail.com)** | ||
|
|
||
| Include the following information in your report: | ||
|
|
||
| - Type of vulnerability (e.g., code injection, path traversal, arbitrary file write) | ||
| - Full paths of source file(s) related to the manifestation of the vulnerability | ||
| - The location of the affected source code (tag/branch/commit or direct URL) | ||
| - Any special configuration required to reproduce the issue | ||
| - Step-by-step instructions to reproduce the issue | ||
| - Proof-of-concept or exploit code (if possible) | ||
| - Impact of the vulnerability, including how an attacker might exploit it | ||
|
|
||
| ### What to Expect | ||
|
|
||
| After you submit a report, you should expect: | ||
|
|
||
| - **Acknowledgment within 48 hours**: I'll confirm receipt of your vulnerability report | ||
| - **Regular updates**: I'll keep you informed about my progress | ||
| - **Timeline**: I aim to resolve critical vulnerabilities within 7 days | ||
| - **Credit**: I'll acknowledge your responsible disclosure in the fix announcement (unless you prefer to remain anonymous) | ||
|
|
||
| ## Security Best Practices | ||
|
|
||
| ### For Users | ||
|
|
||
| When using Encoderize, please follow these security best practices: | ||
|
|
||
| 1. **Validate Input**: Always validate and sanitize text input before passing it to Encoderize functions | ||
| 2. **File Permissions**: Be mindful of output directory permissions when generating SVG files | ||
| 3. **Dependency Management**: Keep Encoderize and its dependencies up to date: | ||
| ```bash | ||
| pip install --upgrade encoderize | ||
| ``` | ||
| 4. **Ghostscript Security**: Keep Ghostscript updated, as it's a critical dependency for barcode generation | ||
|
|
||
| ### For Contributors | ||
|
|
||
| If you're contributing to Encoderize: | ||
|
|
||
| 1. **Code Review**: All code changes are reviewed before merging | ||
| 2. **Dependency Updates**: Report any outdated dependencies with known vulnerabilities | ||
| 3. **Input Validation**: Ensure all user input is properly validated and sanitized | ||
| 4. **Path Traversal**: Verify that file operations prevent directory traversal attacks | ||
| 5. **Testing**: Write security tests for any input handling or file operations | ||
|
|
||
| ## Known Security Considerations | ||
|
|
||
| ### File System Operations | ||
|
|
||
| Encoderize writes SVG files to disk. Users should: | ||
|
|
||
| - Ensure output directories have appropriate permissions | ||
| - Be cautious when specifying output paths | ||
| - Validate that generated files are placed in expected locations | ||
|
|
||
| ### Ghostscript Dependency | ||
|
|
||
| The `code128_barcode` generator requires Ghostscript, which has had security vulnerabilities in the past: | ||
|
|
||
| - Always use the latest version of Ghostscript | ||
| - Be aware that barcode generation executes external Ghostscript processes | ||
| - Consider security implications in server environments | ||
|
|
||
| ### Input Sanitization | ||
|
|
||
| While Encoderize primarily generates visual representations and doesn't execute code: | ||
|
|
||
| - Long input strings may cause performance issues | ||
| - Special characters are processed but should be validated by applications | ||
| - SVG output should be treated as user-generated content if serving on web applications | ||
|
|
||
| ## Security Update Process | ||
|
|
||
| When a security vulnerability is confirmed: | ||
|
|
||
| 1. **Private Fix**: I'll develop a fix in a private repository | ||
| 2. **Testing**: The fix will be thoroughly tested | ||
| 3. **Release**: A new version will be released with the security fix | ||
| 4. **Notification**: Security advisories will be published on GitHub | ||
| 5. **Documentation**: CHANGELOG and release notes will document the fix | ||
|
|
||
| ## Disclosure Policy | ||
|
|
||
| - **Coordinated Disclosure**: I practice coordinated disclosure | ||
| - **Public Disclosure**: Security issues will be publicly disclosed after a fix is available | ||
| - **Security Advisories**: Critical vulnerabilities will have GitHub Security Advisories created | ||
| - **CVE Assignment**: I'll work to obtain CVE identifiers for significant vulnerabilities | ||
|
|
||
| ## Additional Resources | ||
|
|
||
| - [Python Security Best Practices](https://python.readthedocs.io/en/stable/library/security_warnings.html) | ||
| - [OWASP Python Security](https://owasp.org/www-project-python-security/) | ||
| - [GitHub Security Advisories](https://github.com/DrWheelicus/encoderize/security/advisories) | ||
|
|
||
| ## Contact | ||
|
|
||
| For security-related questions or concerns, contact: | ||
|
|
||
| **Hayden MacIntyre** | ||
| Email: [haydenpmac@gmail.com](mailto:haydenpmac@gmail.com) | ||
|
|
||
| --- | ||
|
|
||
| Thank you for helping keep Encoderize and its users safe! |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.