mirror of
				https://github.com/paperless-ngx/paperless-ngx.git
				synced 2025-10-30 03:56:23 -05:00 
			
		
		
		
	Merge branch 'main' into dev
This commit is contained in:
		
							
								
								
									
										36
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								.github/PULL_REQUEST_TEMPLATE.md
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,36 @@ | |||||||
|  | ## Proposed change | ||||||
|  |  | ||||||
|  | <!-- | ||||||
|  | Please include a summary of the change and which issue is fixed (if any) and any relevant motivation / context. List any dependencies that are required for this change. If appropriate, please include an explanation of how your poposed change can be tested. Screenshots and / or videos can also be helpful if appropriate.  | ||||||
|  | --> | ||||||
|  |  | ||||||
|  | Fixes # (issue) | ||||||
|  |  | ||||||
|  | <!-- | ||||||
|  | Please also tag the relevant team to help with review. You can tag any of the following: | ||||||
|  | @paperless-ngx/backend (Python / django, database, etc.) | ||||||
|  | @paperless-ngx/frontend (JavaScript/Typescript, HTML, CSS, etc.) | ||||||
|  | @paperless-ngx/ci-cd (GitHub Actions, deployment) | ||||||
|  | @paperless-ngx/test (General testing for larger PRs) | ||||||
|  | --> | ||||||
|  |  | ||||||
|  | ## Type of change | ||||||
|  |  | ||||||
|  | <!-- | ||||||
|  | What type of change does your PR introduce to Paperless-ngx? | ||||||
|  | NOTE: Please check only one box! | ||||||
|  | --> | ||||||
|  |  | ||||||
|  | - [ ] Bug fix (non-breaking change which fixes an issue) | ||||||
|  | - [ ] New feature (non-breaking change which adds functionality) | ||||||
|  | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) | ||||||
|  | - [ ] Other (please explain) | ||||||
|  |  | ||||||
|  | ## Checklist: | ||||||
|  |  | ||||||
|  | - [ ] I have read & agree with the [contributing guidelines](https://github.com/paperless-ngx/paperless-ngx/blob/main/CONTRIBUTING.md). | ||||||
|  | - [ ] If applicable, I have tested my code for new features & regressions on both mobile & desktop devices, using the latest version of major browsers. | ||||||
|  | - [ ] If applicable, I have checked that all tests pass, see [documentation](https://paperless-ngx.readthedocs.io/en/latest/extending.html#back-end-development). | ||||||
|  | - [ ] I have run all `pre-commit` hooks, see [documentation](https://paperless-ngx.readthedocs.io/en/latest/contributing.html#pre-commit-hooks). | ||||||
|  | - [ ] I have made corresponding changes to the documentation as needed. | ||||||
|  | - [ ] I have checked my modifications for any breaking changes. | ||||||
							
								
								
									
										6
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										6
									
								
								.github/dependabot.yml
									
									
									
									
										vendored
									
									
								
							| @@ -14,6 +14,9 @@ updates: | |||||||
|     labels: |     labels: | ||||||
|       - "frontend" |       - "frontend" | ||||||
|       - "dependencies" |       - "dependencies" | ||||||
|  |     # Add reviewers | ||||||
|  |     reviewers: | ||||||
|  |       - "paperless-ngx/frontend" | ||||||
|  |  | ||||||
|   # Enable version updates for Python |   # Enable version updates for Python | ||||||
|   - package-ecosystem: "pip" |   - package-ecosystem: "pip" | ||||||
| @@ -36,3 +39,6 @@ updates: | |||||||
|     labels: |     labels: | ||||||
|       - "ci-cd" |       - "ci-cd" | ||||||
|       - "dependencies" |       - "dependencies" | ||||||
|  |     # Add reviewers | ||||||
|  |     reviewers: | ||||||
|  |       - "paperless-ngx/backend" | ||||||
|   | |||||||
							
								
								
									
										44
									
								
								.github/workflows/project-actions.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										44
									
								
								.github/workflows/project-actions.yml
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,44 @@ | |||||||
|  | name: Project automations | ||||||
|  | on: | ||||||
|  |   issues: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - reopened | ||||||
|  |   pull_request: | ||||||
|  |     types: | ||||||
|  |       - opened | ||||||
|  |       - reopened | ||||||
|  |  | ||||||
|  | # map fields with customized labels | ||||||
|  | env: | ||||||
|  |   todo: Todo | ||||||
|  |   done: Done | ||||||
|  |   in_progress: In Progress | ||||||
|  |  | ||||||
|  | jobs: | ||||||
|  |   issue_opened_or_reopened: | ||||||
|  |     name: issue_opened_or_reopened | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     if: github.event_name == 'issues' && (github.event.action == 'opened' || github.event.action == 'reopened') | ||||||
|  |     steps: | ||||||
|  |       - name: Move issue to ${{ env.todo }} | ||||||
|  |         uses: leonsteinhaeuser/project-beta-automations@v1.2.1 | ||||||
|  |         with: | ||||||
|  |           gh_token: ${{ secrets.GH_TOKEN }} | ||||||
|  |           organization: paperless-ngx | ||||||
|  |           project_id: 2 | ||||||
|  |           resource_node_id: ${{ github.event.issue.node_id }} | ||||||
|  |           status_value: ${{ env.todo }} # Target status | ||||||
|  |   pr_opened_or_reopened_or_reviewrequested: | ||||||
|  |     name: pr_opened_or_reopened_or_reviewrequested | ||||||
|  |     runs-on: ubuntu-latest | ||||||
|  |     if: github.event_name == 'pull_request' && (github.event.action == 'opened' || github.event.action == 'reopened' || github.event.action == 'review_requested') | ||||||
|  |     steps: | ||||||
|  |       - name: Move PR to ${{ env.in_progress }} | ||||||
|  |         uses: leonsteinhaeuser/project-beta-automations@v1.2.1 | ||||||
|  |         with: | ||||||
|  |           gh_token: ${{ secrets.GH_TOKEN }} | ||||||
|  |           organization: paperless-ngx | ||||||
|  |           project_id: 2 | ||||||
|  |           resource_node_id: ${{ github.event.pull_request.node_id }} | ||||||
|  |           status_value: ${{ env.in_progress }} # Target status | ||||||
							
								
								
									
										128
									
								
								CODE_OF_CONDUCT.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										128
									
								
								CODE_OF_CONDUCT.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,128 @@ | |||||||
|  | # Contributor Covenant Code of Conduct | ||||||
|  |  | ||||||
|  | ## Our Pledge | ||||||
|  |  | ||||||
|  | We as members, contributors, and leaders pledge to make participation in our | ||||||
|  | community a harassment-free experience for everyone, regardless of age, body | ||||||
|  | size, visible or invisible disability, ethnicity, sex characteristics, gender | ||||||
|  | identity and expression, level of experience, education, socio-economic status, | ||||||
|  | nationality, personal appearance, race, religion, or sexual identity | ||||||
|  | and orientation. | ||||||
|  |  | ||||||
|  | We pledge to act and interact in ways that contribute to an open, welcoming, | ||||||
|  | diverse, inclusive, and healthy community. | ||||||
|  |  | ||||||
|  | ## Our Standards | ||||||
|  |  | ||||||
|  | Examples of behavior that contributes to a positive environment for our | ||||||
|  | community include: | ||||||
|  |  | ||||||
|  | * Demonstrating empathy and kindness toward other people | ||||||
|  | * Being respectful of differing opinions, viewpoints, and experiences | ||||||
|  | * Giving and gracefully accepting constructive feedback | ||||||
|  | * Accepting responsibility and apologizing to those affected by our mistakes, | ||||||
|  |   and learning from the experience | ||||||
|  | * Focusing on what is best not just for us as individuals, but for the | ||||||
|  |   overall community | ||||||
|  |  | ||||||
|  | Examples of unacceptable behavior include: | ||||||
|  |  | ||||||
|  | * The use of sexualized language or imagery, and sexual attention or | ||||||
|  |   advances of any kind | ||||||
|  | * Trolling, insulting or derogatory comments, and personal or political attacks | ||||||
|  | * Public or private harassment | ||||||
|  | * Publishing others' private information, such as a physical or email | ||||||
|  |   address, without their explicit permission | ||||||
|  | * Other conduct which could reasonably be considered inappropriate in a | ||||||
|  |   professional setting | ||||||
|  |  | ||||||
|  | ## Enforcement Responsibilities | ||||||
|  |  | ||||||
|  | Community leaders are responsible for clarifying and enforcing our standards of | ||||||
|  | acceptable behavior and will take appropriate and fair corrective action in | ||||||
|  | response to any behavior that they deem inappropriate, threatening, offensive, | ||||||
|  | or harmful. | ||||||
|  |  | ||||||
|  | Community leaders have the right and responsibility to remove, edit, or reject | ||||||
|  | comments, commits, code, wiki edits, issues, and other contributions that are | ||||||
|  | not aligned to this Code of Conduct, and will communicate reasons for moderation | ||||||
|  | decisions when appropriate. | ||||||
|  |  | ||||||
|  | ## Scope | ||||||
|  |  | ||||||
|  | This Code of Conduct applies within all community spaces, and also applies when | ||||||
|  | an individual is officially representing the community in public spaces. | ||||||
|  | Examples of representing our community include using an official e-mail address, | ||||||
|  | posting via an official social media account, or acting as an appointed | ||||||
|  | representative at an online or offline event. | ||||||
|  |  | ||||||
|  | ## Enforcement | ||||||
|  |  | ||||||
|  | Instances of abusive, harassing, or otherwise unacceptable behavior may be | ||||||
|  | reported to the community leaders responsible for enforcement at | ||||||
|  | hello@paperless-ngx.com. | ||||||
|  | All complaints will be reviewed and investigated promptly and fairly. | ||||||
|  |  | ||||||
|  | All community leaders are obligated to respect the privacy and security of the | ||||||
|  | reporter of any incident. | ||||||
|  |  | ||||||
|  | ## Enforcement Guidelines | ||||||
|  |  | ||||||
|  | Community leaders will follow these Community Impact Guidelines in determining | ||||||
|  | the consequences for any action they deem in violation of this Code of Conduct: | ||||||
|  |  | ||||||
|  | ### 1. Correction | ||||||
|  |  | ||||||
|  | **Community Impact**: Use of inappropriate language or other behavior deemed | ||||||
|  | unprofessional or unwelcome in the community. | ||||||
|  |  | ||||||
|  | **Consequence**: A private, written warning from community leaders, providing | ||||||
|  | clarity around the nature of the violation and an explanation of why the | ||||||
|  | behavior was inappropriate. A public apology may be requested. | ||||||
|  |  | ||||||
|  | ### 2. Warning | ||||||
|  |  | ||||||
|  | **Community Impact**: A violation through a single incident or series | ||||||
|  | of actions. | ||||||
|  |  | ||||||
|  | **Consequence**: A warning with consequences for continued behavior. No | ||||||
|  | interaction with the people involved, including unsolicited interaction with | ||||||
|  | those enforcing the Code of Conduct, for a specified period of time. This | ||||||
|  | includes avoiding interactions in community spaces as well as external channels | ||||||
|  | like social media. Violating these terms may lead to a temporary or | ||||||
|  | permanent ban. | ||||||
|  |  | ||||||
|  | ### 3. Temporary Ban | ||||||
|  |  | ||||||
|  | **Community Impact**: A serious violation of community standards, including | ||||||
|  | sustained inappropriate behavior. | ||||||
|  |  | ||||||
|  | **Consequence**: A temporary ban from any sort of interaction or public | ||||||
|  | communication with the community for a specified period of time. No public or | ||||||
|  | private interaction with the people involved, including unsolicited interaction | ||||||
|  | with those enforcing the Code of Conduct, is allowed during this period. | ||||||
|  | Violating these terms may lead to a permanent ban. | ||||||
|  |  | ||||||
|  | ### 4. Permanent Ban | ||||||
|  |  | ||||||
|  | **Community Impact**: Demonstrating a pattern of violation of community | ||||||
|  | standards, including sustained inappropriate behavior,  harassment of an | ||||||
|  | individual, or aggression toward or disparagement of classes of individuals. | ||||||
|  |  | ||||||
|  | **Consequence**: A permanent ban from any sort of public interaction within | ||||||
|  | the community. | ||||||
|  |  | ||||||
|  | ## Attribution | ||||||
|  |  | ||||||
|  | This Code of Conduct is adapted from the [Contributor Covenant][homepage], | ||||||
|  | version 2.0, available at | ||||||
|  | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. | ||||||
|  |  | ||||||
|  | Community Impact Guidelines were inspired by [Mozilla's code of conduct | ||||||
|  | enforcement ladder](https://github.com/mozilla/diversity). | ||||||
|  |  | ||||||
|  | [homepage]: https://www.contributor-covenant.org | ||||||
|  |  | ||||||
|  | For answers to common questions about this code of conduct, see the FAQ at | ||||||
|  | https://www.contributor-covenant.org/faq. Translations are available at | ||||||
|  | https://www.contributor-covenant.org/translations. | ||||||
| @@ -15,7 +15,7 @@ Paperless supports python 3.8 and 3.9. We format Python code with [Black](https: | |||||||
|  |  | ||||||
| ## Branches | ## Branches | ||||||
|  |  | ||||||
| `master` always reflects the latest release. Apart from changes to the documentation or readme, absolutely no functional changes on this branch in between releases. | `main` always reflects the latest release. Apart from changes to the documentation or readme, absolutely no functional changes on this branch in between releases. | ||||||
|  |  | ||||||
| `dev` contains all changes that will be part of the next release. Use this branch to start making your changes. | `dev` contains all changes that will be part of the next release. Use this branch to start making your changes. | ||||||
|  |  | ||||||
| @@ -95,3 +95,38 @@ Note that _en-us_ needs to stay on top of the list, as it is the default project | |||||||
|  |  | ||||||
| If you are familiar with Git, feel free to send a Pull Request with those changes. | If you are familiar with Git, feel free to send a Pull Request with those changes. | ||||||
| If not, let us know in the issue you created for the language, so that another developer can make these changes. | If not, let us know in the issue you created for the language, so that another developer can make these changes. | ||||||
|  |  | ||||||
|  | # Organization Structure & Membership | ||||||
|  |  | ||||||
|  | Paperless-ngx is a community project. We do our best to delegate permission and responsibility among a team of people to ensure the longevity of the project. | ||||||
|  |  | ||||||
|  | ## Structure | ||||||
|  |  | ||||||
|  | As of writing, there are 21 members in paperless-ngx. 4 of these people have complete administrative privileges to the repo: | ||||||
|  |  | ||||||
|  | * [@shamoon](https://github.com/shamoon) | ||||||
|  | * [@bauerj](https://github.com/bauerj) | ||||||
|  | * [@qcasey](https://github.com/qcasey) | ||||||
|  | * [@FrankStrieter](https://github.com/FrankStrieter) | ||||||
|  |  | ||||||
|  | There are 5 teams collaborating on specific tasks within paperless-ngx: | ||||||
|  |  | ||||||
|  | * @paperless-ngx/backend (Python / django) | ||||||
|  | * @paperless-ngx/frontend (JavaScript / Typescript) | ||||||
|  | * @paperless-ngx/ci-cd (GitHub Actions / Deployment) | ||||||
|  | * @paperless-ngx/issues (Issue triage) | ||||||
|  | * @paperless-ngx/test (General testing for larger PRs) | ||||||
|  |  | ||||||
|  | ## Permissions | ||||||
|  |  | ||||||
|  | All team members are notified when mentioned or assigned to a relevant issue or pull request. Additionally, each team has slightly different access to paperless-ngx: | ||||||
|  |  | ||||||
|  | * The **test** team has no special permissions. | ||||||
|  | * The **issues** team has `triage` access. This means they can organize issues and pull requests. | ||||||
|  | * The **backend**, **frontend**, and **ci-cd** teams have `write` access. This means they can approve PRs and push code, containers, releases, and more. | ||||||
|  |  | ||||||
|  | ## Joining | ||||||
|  |  | ||||||
|  | We are not overly strict with inviting people to the organization. If you have read the [team permissions](#permissions) and think having additional access would enhance your contributions, please reach out to an [admin](#structure) of the team. | ||||||
|  |  | ||||||
|  | The admins occasionally invite contributors directly if we believe having them on a team will accelerate their work. | ||||||
|   | |||||||
| @@ -52,8 +52,11 @@ Another big thanks to the people who have contributed translations: | |||||||
| * Lars Sørensen (Lrss) suggested 167 translations into Danish. | * Lars Sørensen (Lrss) suggested 167 translations into Danish. | ||||||
| * Philmo67 suggested 11 translations into French. | * Philmo67 suggested 11 translations into French. | ||||||
|  |  | ||||||
|  | Paperless-ng | ||||||
|  | ############ | ||||||
|  |  | ||||||
| paperless-ng 1.5.0 | paperless-ng 1.5.0 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| Support for Python 3.6 was dropped. | Support for Python 3.6 was dropped. | ||||||
|  |  | ||||||
| @@ -64,7 +67,7 @@ Support for Python 3.6 was dropped. | |||||||
| * `Daniel Albers`_ added support for making the files and folders ignored by the paperless consume folder scanner configurable. See ``PAPERLESS_CONSUMER_IGNORE_PATTERNS``. | * `Daniel Albers`_ added support for making the files and folders ignored by the paperless consume folder scanner configurable. See ``PAPERLESS_CONSUMER_IGNORE_PATTERNS``. | ||||||
|  |  | ||||||
| paperless-ng 1.4.5 | paperless-ng 1.4.5 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| This is a maintenance release. | This is a maintenance release. | ||||||
|  |  | ||||||
| @@ -77,7 +80,7 @@ This is a maintenance release. | |||||||
|   with PDFminer even from non-PDF files. |   with PDFminer even from non-PDF files. | ||||||
|  |  | ||||||
| paperless-ng 1.4.4 | paperless-ng 1.4.4 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Drastically decreased the startup time of the docker container. The startup script adjusts file permissions of all data only if changes are required. | * Drastically decreased the startup time of the docker container. The startup script adjusts file permissions of all data only if changes are required. | ||||||
| * Paperless mail: Added ability to specify the character set for each server. | * Paperless mail: Added ability to specify the character set for each server. | ||||||
| @@ -86,7 +89,7 @@ paperless-ng 1.4.4 | |||||||
| * Updated translations. | * Updated translations. | ||||||
|  |  | ||||||
| paperless-ng 1.4.3 | paperless-ng 1.4.3 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Additions and changes | * Additions and changes | ||||||
|  |  | ||||||
| @@ -103,12 +106,12 @@ paperless-ng 1.4.3 | |||||||
|   * Fixed an issue with the document consumer crashing on certain documents due to issues with pdfminer.six. This library is used for PDF text extraction. |   * Fixed an issue with the document consumer crashing on certain documents due to issues with pdfminer.six. This library is used for PDF text extraction. | ||||||
|  |  | ||||||
| paperless-ng 1.4.2 | paperless-ng 1.4.2 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Fixed an issue with ``sudo`` that caused paperless to not start on many Raspberry Pi devices. Thank you `WhiteHatTux`_! | * Fixed an issue with ``sudo`` that caused paperless to not start on many Raspberry Pi devices. Thank you `WhiteHatTux`_! | ||||||
|  |  | ||||||
| paperless-ng 1.4.1 | paperless-ng 1.4.1 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Added Polish locale. | * Added Polish locale. | ||||||
|  |  | ||||||
| @@ -124,7 +127,7 @@ paperless-ng 1.4.1 | |||||||
|   ``PAPERLESS_ADMIN_PASSWORD`` as environment variables to the docker container. |   ``PAPERLESS_ADMIN_PASSWORD`` as environment variables to the docker container. | ||||||
|  |  | ||||||
| paperless-ng 1.4.0 | paperless-ng 1.4.0 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Docker images now use tesseract 4.1.1, which should fix a series of issues with OCR. | * Docker images now use tesseract 4.1.1, which should fix a series of issues with OCR. | ||||||
|  |  | ||||||
| @@ -157,7 +160,7 @@ paperless-ng 1.4.0 | |||||||
|   (see :ref:`administration-index`). |   (see :ref:`administration-index`). | ||||||
|  |  | ||||||
| paperless-ng 1.3.2 | paperless-ng 1.3.2 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Added translation into Portuguese. | * Added translation into Portuguese. | ||||||
|  |  | ||||||
| @@ -172,7 +175,7 @@ paperless-ng 1.3.2 | |||||||
|   * Fixed an issue with any/all/exact matching when characters used in regular expressions were used for the match. |   * Fixed an issue with any/all/exact matching when characters used in regular expressions were used for the match. | ||||||
|  |  | ||||||
| paperless-ng 1.3.1 | paperless-ng 1.3.1 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Added translation into Spanish and Russian. | * Added translation into Spanish and Russian. | ||||||
|  |  | ||||||
| @@ -197,7 +200,7 @@ paperless-ng 1.3.1 | |||||||
|   * Fixed ``AUTO_LOGIN_USERNAME``: Unable to perform POST/PUT/DELETE requests and unable to receive WebSocket messages. |   * Fixed ``AUTO_LOGIN_USERNAME``: Unable to perform POST/PUT/DELETE requests and unable to receive WebSocket messages. | ||||||
|  |  | ||||||
| paperless-ng 1.3.0 | paperless-ng 1.3.0 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| This release contains new database migrations. | This release contains new database migrations. | ||||||
|  |  | ||||||
| @@ -223,7 +226,7 @@ This release contains new database migrations. | |||||||
|  |  | ||||||
|  |  | ||||||
| paperless-ng 1.2.1 | paperless-ng 1.2.1 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * `Rodrigo Avelino <https://github.com/rodavelino>`_ translated Paperless into Portuguese (Brazil)! | * `Rodrigo Avelino <https://github.com/rodavelino>`_ translated Paperless into Portuguese (Brazil)! | ||||||
|  |  | ||||||
| @@ -236,7 +239,7 @@ paperless-ng 1.2.1 | |||||||
| * Regression fix: Dates on the front end did not respect date locale settings in some cases. | * Regression fix: Dates on the front end did not respect date locale settings in some cases. | ||||||
|  |  | ||||||
| paperless-ng 1.2.0 | paperless-ng 1.2.0 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Changes to the OCRmyPDF integration | * Changes to the OCRmyPDF integration | ||||||
|  |  | ||||||
| @@ -260,14 +263,14 @@ paperless-ng 1.2.0 | |||||||
| * Paperless no longer depends on ``libpoppler-cpp-dev``. | * Paperless no longer depends on ``libpoppler-cpp-dev``. | ||||||
|  |  | ||||||
| paperless-ng 1.1.4 | paperless-ng 1.1.4 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Added English (GB) locale. | * Added English (GB) locale. | ||||||
|  |  | ||||||
| * Added ISO-8601 date display option. | * Added ISO-8601 date display option. | ||||||
|  |  | ||||||
| paperless-ng 1.1.3 | paperless-ng 1.1.3 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Added a docker-specific configuration option to adjust the number of | * Added a docker-specific configuration option to adjust the number of | ||||||
|   worker processes of the web server. See :ref:`configuration-docker`. |   worker processes of the web server. See :ref:`configuration-docker`. | ||||||
| @@ -277,7 +280,7 @@ paperless-ng 1.1.3 | |||||||
| * Don't show inbox statistics if no inbox tag is defined. | * Don't show inbox statistics if no inbox tag is defined. | ||||||
|  |  | ||||||
| paperless-ng 1.1.2 | paperless-ng 1.1.2 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Always show top left corner of thumbnails, even for extra wide documents. | * Always show top left corner of thumbnails, even for extra wide documents. | ||||||
|  |  | ||||||
| @@ -293,7 +296,7 @@ paperless-ng 1.1.2 | |||||||
| * Some memory usage optimizations. | * Some memory usage optimizations. | ||||||
|  |  | ||||||
| paperless-ng 1.1.1 | paperless-ng 1.1.1 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| This release contains new database migrations. | This release contains new database migrations. | ||||||
|  |  | ||||||
| @@ -314,7 +317,7 @@ This release contains new database migrations. | |||||||
|   also ensure that they're always executed as the paperless user and you're less likely to run into permission issues. See :ref:`utilities-management-commands`. |   also ensure that they're always executed as the paperless user and you're less likely to run into permission issues. See :ref:`utilities-management-commands`. | ||||||
|  |  | ||||||
| paperless-ng 1.1.0 | paperless-ng 1.1.0 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Document processing status | * Document processing status | ||||||
|  |  | ||||||
| @@ -374,7 +377,7 @@ paperless-ng 1.1.0 | |||||||
|     ``PAPERLESS_LOGROTATE_MAX_BACKUPS``. |     ``PAPERLESS_LOGROTATE_MAX_BACKUPS``. | ||||||
|  |  | ||||||
| paperless-ng 1.0.0 | paperless-ng 1.0.0 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| Nothing special about this release, but since there are relatively few bug reports coming in, I think that this is reasonably stable. | Nothing special about this release, but since there are relatively few bug reports coming in, I think that this is reasonably stable. | ||||||
|  |  | ||||||
| @@ -397,7 +400,7 @@ Nothing special about this release, but since there are relatively few bug repor | |||||||
|  |  | ||||||
|  |  | ||||||
| paperless-ng 0.9.14 | paperless-ng 0.9.14 | ||||||
| ################### | =================== | ||||||
|  |  | ||||||
| Starting with this version, releases are getting built automatically. This release also comes with changes on how to install and | Starting with this version, releases are getting built automatically. This release also comes with changes on how to install and | ||||||
| update paperless. | update paperless. | ||||||
| @@ -445,13 +448,13 @@ update paperless. | |||||||
|   * An issue with the consumer crashing when invalid regular expression were used was fixed. |   * An issue with the consumer crashing when invalid regular expression were used was fixed. | ||||||
|  |  | ||||||
| paperless-ng 0.9.13 | paperless-ng 0.9.13 | ||||||
| ################### | =================== | ||||||
|  |  | ||||||
| * Fixed an issue with Paperless not starting due to the new Tika integration when ``USERMAP_UID`` and ``USERMAP_GID`` was used | * Fixed an issue with Paperless not starting due to the new Tika integration when ``USERMAP_UID`` and ``USERMAP_GID`` was used | ||||||
|   in the ``docker-compose.env`` file. |   in the ``docker-compose.env`` file. | ||||||
|  |  | ||||||
| paperless-ng 0.9.12 | paperless-ng 0.9.12 | ||||||
| ################### | =================== | ||||||
|  |  | ||||||
| * Paperless localization | * Paperless localization | ||||||
|  |  | ||||||
| @@ -493,13 +496,13 @@ paperless-ng 0.9.12 | |||||||
|     a document that did not yet exist in the database. |     a document that did not yet exist in the database. | ||||||
|  |  | ||||||
| paperless-ng 0.9.11 | paperless-ng 0.9.11 | ||||||
| ################### | =================== | ||||||
|  |  | ||||||
| * Fixed an issue with the docker image not starting at all due to a configuration change of the web server. | * Fixed an issue with the docker image not starting at all due to a configuration change of the web server. | ||||||
|  |  | ||||||
|  |  | ||||||
| paperless-ng 0.9.10 | paperless-ng 0.9.10 | ||||||
| ################### | =================== | ||||||
|  |  | ||||||
| * Bulk editing | * Bulk editing | ||||||
|  |  | ||||||
| @@ -532,7 +535,7 @@ paperless-ng 0.9.10 | |||||||
|   by :ref:`running the management command document_index with the argument reindex <administration-index>`. |   by :ref:`running the management command document_index with the argument reindex <administration-index>`. | ||||||
|  |  | ||||||
| paperless-ng 0.9.9 | paperless-ng 0.9.9 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| Christmas release! | Christmas release! | ||||||
|  |  | ||||||
| @@ -566,7 +569,7 @@ Christmas release! | |||||||
|   * Most of the guesswork features have been removed. Paperless no longer tries to extract correspondents and tags from file names. |   * Most of the guesswork features have been removed. Paperless no longer tries to extract correspondents and tags from file names. | ||||||
|  |  | ||||||
| paperless-ng 0.9.8 | paperless-ng 0.9.8 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| This release addresses two severe issues with the previous release. | This release addresses two severe issues with the previous release. | ||||||
|  |  | ||||||
| @@ -575,7 +578,7 @@ This release addresses two severe issues with the previous release. | |||||||
|  |  | ||||||
|  |  | ||||||
| paperless-ng 0.9.7 | paperless-ng 0.9.7 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
|  |  | ||||||
| * Front end | * Front end | ||||||
| @@ -617,7 +620,7 @@ paperless-ng 0.9.7 | |||||||
|  |  | ||||||
|  |  | ||||||
| paperless-ng 0.9.6 | paperless-ng 0.9.6 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| This release focusses primarily on many small issues with the UI. | This release focusses primarily on many small issues with the UI. | ||||||
|  |  | ||||||
| @@ -658,7 +661,7 @@ This release focusses primarily on many small issues with the UI. | |||||||
|  |  | ||||||
|  |  | ||||||
| paperless-ng 0.9.5 | paperless-ng 0.9.5 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| This release concludes the big changes I wanted to get rolled into paperless. The next releases before 1.0 will | This release concludes the big changes I wanted to get rolled into paperless. The next releases before 1.0 will | ||||||
| focus on fixing issues, primarily. | focus on fixing issues, primarily. | ||||||
| @@ -708,7 +711,7 @@ focus on fixing issues, primarily. | |||||||
|   * Assigning correspondents from mail sender names failed for very long names. Paperless no longer assigns correspondents in these cases. |   * Assigning correspondents from mail sender names failed for very long names. Paperless no longer assigns correspondents in these cases. | ||||||
|  |  | ||||||
| paperless-ng 0.9.4 | paperless-ng 0.9.4 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Searching: | * Searching: | ||||||
|  |  | ||||||
| @@ -736,7 +739,7 @@ paperless-ng 0.9.4 | |||||||
|   how to setup the development environment. |   how to setup the development environment. | ||||||
|  |  | ||||||
| paperless-ng 0.9.3 | paperless-ng 0.9.3 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Setting ``PAPERLESS_AUTO_LOGIN_USERNAME`` replaces ``PAPERLESS_DISABLE_LOGIN``. | * Setting ``PAPERLESS_AUTO_LOGIN_USERNAME`` replaces ``PAPERLESS_DISABLE_LOGIN``. | ||||||
|   You have to specify your username. |   You have to specify your username. | ||||||
| @@ -754,7 +757,7 @@ paperless-ng 0.9.3 | |||||||
| * Added lots of tests for various parts of the application. | * Added lots of tests for various parts of the application. | ||||||
|  |  | ||||||
| paperless-ng 0.9.2 | paperless-ng 0.9.2 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Major changes to the front end (colors, logo, shadows, layout of the cards, | * Major changes to the front end (colors, logo, shadows, layout of the cards, | ||||||
|   better mobile support) |   better mobile support) | ||||||
| @@ -784,7 +787,7 @@ paperless-ng 0.9.2 | |||||||
|   up in the admin. |   up in the admin. | ||||||
|  |  | ||||||
| paperless-ng 0.9.1 | paperless-ng 0.9.1 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * Moved documentation of the settings to the actual documentation. | * Moved documentation of the settings to the actual documentation. | ||||||
| * Updated release script to force the user to choose between SQLite | * Updated release script to force the user to choose between SQLite | ||||||
| @@ -792,7 +795,7 @@ paperless-ng 0.9.1 | |||||||
|  |  | ||||||
|  |  | ||||||
| paperless-ng 0.9.0 | paperless-ng 0.9.0 | ||||||
| ################## | ================== | ||||||
|  |  | ||||||
| * **Deprecated:** GnuPG. :ref:`See this note on the state of GnuPG in paperless-ng. <utilities-encyption>` | * **Deprecated:** GnuPG. :ref:`See this note on the state of GnuPG in paperless-ng. <utilities-encyption>` | ||||||
|   This features will most likely be removed in future versions. |   This features will most likely be removed in future versions. | ||||||
|   | |||||||
| @@ -1,58 +0,0 @@ | |||||||
| .. _contributing: |  | ||||||
|  |  | ||||||
| Contributing to Paperless |  | ||||||
| ######################### |  | ||||||
|  |  | ||||||
| .. warning:: |  | ||||||
|  |  | ||||||
|     This section is not updated to paperless-ngx yet. |  | ||||||
|  |  | ||||||
| Maybe you've been using Paperless for a while and want to add a feature or two, |  | ||||||
| or maybe you've come across a bug that you have some ideas how to solve.  The |  | ||||||
| beauty of Free software is that you can see what's wrong and help to get it |  | ||||||
| fixed for everyone! |  | ||||||
|  |  | ||||||
|  |  | ||||||
| How to Get Your Changes Rolled Into Paperless |  | ||||||
| ============================================= |  | ||||||
|  |  | ||||||
| If you've found a bug, but don't know how to fix it, you can always post an |  | ||||||
| issue on `GitHub`_ in the hopes that someone will have the time to fix it for |  | ||||||
| you.  If however you're the one with the time, pull requests are always |  | ||||||
| welcome, you just have to make sure that your code conforms to a few standards. |  | ||||||
|  |  | ||||||
| pre-commit Hooks |  | ||||||
| ----------------------- |  | ||||||
|  |  | ||||||
| To ensure a consistent style and formatting across the project source, the project |  | ||||||
| utilizes a Git `pre-commit` hook to preform some formatting and linting before a |  | ||||||
| commit is allowed.  That way, everyone uses the same style and some common issues |  | ||||||
| can be caught early on. |  | ||||||
|  |  | ||||||
| The first time you are setting up to contribute, you'll need to install this hook. |  | ||||||
| If you've followed the initial development setup instructions, just run the following: |  | ||||||
|  |  | ||||||
| .. code:: shell-session |  | ||||||
|  |  | ||||||
|         pre-commit install |  | ||||||
|  |  | ||||||
| That's it!  The hooks will now run when you commit. If the formatting isn't quite right |  | ||||||
| or a linter catches something, the commit will be rejected.  You'll need to look at the |  | ||||||
| output and fix the issue.  Some hooks, such as the Python formatting tool `black` |  | ||||||
| will format failing files, so all you need to do is `git add` those files again and retry your |  | ||||||
| commit. |  | ||||||
|  |  | ||||||
|  |  | ||||||
| The Code of Conduct |  | ||||||
| =================== |  | ||||||
|  |  | ||||||
| Paperless has a `code of conduct`_.  It's a lot like the other ones you see out |  | ||||||
| there, with a few small changes, but basically it boils down to: |  | ||||||
|  |  | ||||||
| > Don't be an ass, or you might get banned. |  | ||||||
|  |  | ||||||
| I'm proud to say that the CoC has never had to be enforced because everyone has |  | ||||||
| been awesome, friendly, and professional. |  | ||||||
|  |  | ||||||
| .. _GitHub: https://github.com/the-paperless-project/paperless/issues |  | ||||||
| .. _code of conduct: https://github.com/the-paperless-project/paperless/blob/master/CODE_OF_CONDUCT.md |  | ||||||
| @@ -1,13 +1,13 @@ | |||||||
| .. _extending: | .. _extending: | ||||||
|  |  | ||||||
| Paperless development | Paperless-ngx Development | ||||||
| ##################### | ######################### | ||||||
|  |  | ||||||
| This section describes the steps you need to take to start development on paperless-ngx. | This section describes the steps you need to take to start development on paperless-ngx. | ||||||
|  |  | ||||||
| Check out the source from github. The repository is organized in the following way: | Check out the source from github. The repository is organized in the following way: | ||||||
|  |  | ||||||
| *   ``master`` always represents the latest release and will only see changes | *   ``main`` always represents the latest release and will only see changes | ||||||
|     when a new release is made. |     when a new release is made. | ||||||
| *   ``dev`` contains the code that will be in the next release. | *   ``dev`` contains the code that will be in the next release. | ||||||
| *   ``feature-X`` contain bigger changes that will be in some release, but not | *   ``feature-X`` contain bigger changes that will be in some release, but not | ||||||
| @@ -23,6 +23,31 @@ Apart from that, the folder structure is as follows: | |||||||
| *   ``scripts/`` - Various scripts that help with different parts of development. | *   ``scripts/`` - Various scripts that help with different parts of development. | ||||||
| *   ``docker/`` - Files required to build the docker image. | *   ``docker/`` - Files required to build the docker image. | ||||||
|  |  | ||||||
|  | Contributing to Paperless | ||||||
|  | ========================= | ||||||
|  |  | ||||||
|  | Maybe you've been using Paperless for a while and want to add a feature or two, | ||||||
|  | or maybe you've come across a bug that you have some ideas how to solve.  The | ||||||
|  | beauty of open source software is that you can see what's wrong and help to get | ||||||
|  | it fixed for everyone! | ||||||
|  |  | ||||||
|  | Before contributing please review our `code of conduct`_ and other important | ||||||
|  | information in the `contributing guidelines`_. | ||||||
|  |  | ||||||
|  | Code formatting with pre-commit Hooks | ||||||
|  | ===================================== | ||||||
|  |  | ||||||
|  | To ensure a consistent style and formatting across the project source, the project | ||||||
|  | utilizes a Git `pre-commit` hook to perform some formatting and linting before a | ||||||
|  | commit is allowed. That way, everyone uses the same style and some common issues | ||||||
|  | can be caught early on. See below for installation instructions. | ||||||
|  |  | ||||||
|  | Once installed, hooks will run when you commit. If the formatting isn't quite right | ||||||
|  | or a linter catches something, the commit will be rejected. You'll need to look at the | ||||||
|  | output and fix the issue. Some hooks, such as the Python formatting tool `black`, | ||||||
|  | will format failing files, so all you need to do is `git add` those files again and | ||||||
|  | retry your commit. | ||||||
|  |  | ||||||
| Initial setup and first start | Initial setup and first start | ||||||
| ============================= | ============================= | ||||||
|  |  | ||||||
| @@ -37,13 +62,19 @@ To do the setup you need to perform the steps from the following chapters in a c | |||||||
|  |  | ||||||
|         $ npm install -g @angular/cli |         $ npm install -g @angular/cli | ||||||
|  |  | ||||||
| 4.  Create ``consume`` and ``media`` folders in the cloned root folder. | 4.  Install pre-commit | ||||||
|  |  | ||||||
|  |     .. code:: shell-session | ||||||
|  |  | ||||||
|  |         pre-commit install | ||||||
|  |  | ||||||
|  | 5.  Create ``consume`` and ``media`` folders in the cloned root folder. | ||||||
|  |  | ||||||
|     .. code:: shell-session |     .. code:: shell-session | ||||||
|  |  | ||||||
|         mkdir -p consume media |         mkdir -p consume media | ||||||
|  |  | ||||||
| 5.  You can now either ... | 6.  You can now either ... | ||||||
|  |  | ||||||
|     *  install redis or |     *  install redis or | ||||||
|     *  use the included scripts/start-services.sh to use docker to fire up a redis instance (and some other services such as tika, gotenberg and a postgresql server) or |     *  use the included scripts/start-services.sh to use docker to fire up a redis instance (and some other services such as tika, gotenberg and a postgresql server) or | ||||||
| @@ -53,18 +84,13 @@ To do the setup you need to perform the steps from the following chapters in a c | |||||||
|  |  | ||||||
|             docker run -d -p 6379:6379 --restart unless-stopped redis:latest |             docker run -d -p 6379:6379 --restart unless-stopped redis:latest | ||||||
|  |  | ||||||
| 6.  Install the python dependencies by performing in the src/ directory. | 7.  Install the python dependencies by performing in the src/ directory. | ||||||
|     .. code:: shell-session |     .. code:: shell-session | ||||||
|  |  | ||||||
|         pipenv install --dev |         pipenv install --dev | ||||||
|  |  | ||||||
|   * Make sure you're using python 3.9.x or lower. Otherwise you might get issues with building dependencies. You can use `pyenv <https://github.com/pyenv/pyenv>`_ to install a specific python version. |   * Make sure you're using python 3.9.x or lower. Otherwise you might get issues with building dependencies. You can use `pyenv <https://github.com/pyenv/pyenv>`_ to install a specific python version. | ||||||
|  |  | ||||||
| 7.  Install the Git hooks |  | ||||||
|     .. code:: shell-session |  | ||||||
|  |  | ||||||
|         pre-commit install |  | ||||||
|  |  | ||||||
| 8.  Generate the static UI so you can perform a login to get session that is required for frontend development (this needs to be done one time only). From src-ui directory: | 8.  Generate the static UI so you can perform a login to get session that is required for frontend development (this needs to be done one time only). From src-ui directory: | ||||||
|  |  | ||||||
|     .. code:: shell-session |     .. code:: shell-session | ||||||
| @@ -92,7 +118,7 @@ Backend development environment is now ready, to start Frontend development go t | |||||||
| Back end development | Back end development | ||||||
| ==================== | ==================== | ||||||
|  |  | ||||||
| The backend is a django application. I use PyCharm for development, but you can use whatever | The backend is a django application. PyCharm works well for development, but you can use whatever | ||||||
| you want. | you want. | ||||||
|  |  | ||||||
| Configure the IDE to use the src/ folder as the base source folder. Configure the following | Configure the IDE to use the src/ folder as the base source folder. Configure the following | ||||||
| @@ -127,9 +153,8 @@ Testing and code style: | |||||||
| Front end development | Front end development | ||||||
| ===================== | ===================== | ||||||
|  |  | ||||||
| The front end is build using angular. I use the ``Code - OSS`` IDE for development. | The front end is built using Angular. In order to get started, you need ``npm``. | ||||||
|  | Install the Angular CLI interface with | ||||||
| In order to get started, you need ``npm``. Install the Angular CLI interface with |  | ||||||
|  |  | ||||||
| .. code:: shell-session | .. code:: shell-session | ||||||
|  |  | ||||||
| @@ -367,3 +392,6 @@ that returns information about your parser: | |||||||
|     download. We could guess that from the file extensions, but some mime types have many extensions |     download. We could guess that from the file extensions, but some mime types have many extensions | ||||||
|     associated with them and the python methods responsible for guessing the extension do not always |     associated with them and the python methods responsible for guessing the extension do not always | ||||||
|     return the same value. |     return the same value. | ||||||
|  |  | ||||||
|  | .. _code of conduct: https://github.com/paperless-ngx/paperless-ngx/blob/main/CODE_OF_CONDUCT.md | ||||||
|  | .. _contributing guidelines: https://github.com/paperless-ngx/paperless-ngx/blob/main/CONTRIBUTING.md | ||||||
|   | |||||||
| @@ -70,7 +70,6 @@ Contents | |||||||
|    faq |    faq | ||||||
|    troubleshooting |    troubleshooting | ||||||
|    extending |    extending | ||||||
|    contributing |  | ||||||
|    scanners |    scanners | ||||||
|    screenshots |    screenshots | ||||||
|    changelog |    changelog | ||||||
|   | |||||||
| @@ -1 +1 @@ | |||||||
| __version__ = (1, 5, 0) | __version__ = (1, 6, 0) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Shamoon
					Michael Shamoon