Repository navigation
Contributing
Every contribution helps, whether it's a bug report, an idea, a translation or code. The full guide is CONTRIBUTING.md; this page summarizes it.
- Bugs: search the issues, then open one with the bug report form. See Troubleshooting and FAQ for what to include.
- Ideas: share them in Discussions > Ideas or open a feature request.
On Crowdin; see Languages and Translation.
- Fork the repository and branch from
feature. - Make your change, following the existing style: Kotlin conventions, small composables, state hoisted into ViewModels.
- Run the checks from Building from Source.
- Open a pull request against
feature.
Commit messages follow the conventional format, for example feat: add night mode or fix: keep the page when rotating. Pull requests into feature are squash-merged, so a tidy history in the PR isn't required.
-
feature: where development happens and pull requests go. -
master: updated fromfeaturewith a merge commit when a set of changes is ready, and the branch releases are built from. -
l10n_feature: created by Crowdin for translation updates.
Maintainers release in two steps:
-
A docs commit, last before the release, updates everything a version change touches:
versionNameandversionCodeinapp/build.gradle.kts, a new## [x.y.z] - YYYY-MM-DDentry at the top ofCHANGELOG.mdbelow[Unreleased], the in-app changelog, and the changelog section of every README. -
Actions > Release > Run workflow, choosing Full release or Pre-release. Nothing else is entered: the version and the release notes come from the newest
CHANGELOG.mdentry. The run stops if that version doesn't matchversionName, and skips without building if the version is already released.
Full releases are marked Latest and offered by the in-app update check. Pre-releases are signed the same way but never offered to users.
The bundled PDF.js carries a few edits. Re-apply them after an upgrade as described under Upgrading PDF.js in CONTRIBUTING.md; BundledPdfJsPatchesTest fails until they're back.
Please follow the Code of Conduct.
PDF Reader Pro is free and open source under the GPL v3. Found something wrong in this wiki? Open an issue or ask in Discussions.
Using the app
- Installation
- Getting Started
- Reading PDFs
- Bookmarks, Highlights and Signatures
- PDF Tools
- Settings
- Languages and Translation
- Accessibility
- Troubleshooting and FAQ
- Privacy
Working on the app
Links