2,000+
May 24, 2026
April 30, 2011
A document management and version control plugin for WordPress that allows teams of any size to collaboratively edit files and manage their workflow.
WP Document Revisions is a document management and version control plugin. Built for time-sensitive and mission-critical projects, teams can collaboratively edit files of any format — text documents, spreadsheets, images, sheet music… anything — all the while, seamlessly tracking the document’s progress as it moves through your organization’s existing workflow.
See the full list of features for more information.
Complete Documentation Site – Your one-stop resource for everything about WP Document Revisions.
Powerful Collaboration Tools – With great power does not have to come great complexity. Based on a simple philosophy of putting powerful but intuitive tools in the hands of managers and content creators, WP Document Revisions leverages many of the essential WordPress features that, for more than eight years, have been tested and proven across countless industries — posts, attachments, revisions, taxonomies, authentication, and permalinks — to make collaborating on the creation and publication of documents a natural endeavor. Think of it as an open-source and more intuitive version of the popular Microsoft collaboration suite, Sharepoint.
Document History – At each step of the authoring process, WP Document Revisions gives you an instant snapshot of your team’s progress and the document’s history. It even gives you the option to revert back to a previous revision — so don’t fret if you make a mistake — or receive updates on changes to the document right in your favorite feed reader.
Access Control – Each document is given a persistent URL (e.g., yourcompany.com/documents/2011/08/TPS-Report.doc) which can be private (securely delivered only to members of your organization), password protected (available only to those you select such as clients or contractors), or public (published and hosted for the world to see). If you catch a typo and upload a new version, that URL will continue to point to the latest version, regardless of how many changes you make.
Enterprise Security – Worried about storing propriety or sensitive information? WP Document Revisions was built from the first line of code with government- and enterprise-grade security in mind. Each file is masked behind an anonymous 128-bit MD5 hash as soon as it touches the server, and requests for files are transparently routed through WordPress’s time-tested URL rewriting, authentication, and permission systems (which can even integrate with existing enterprise active directory or LDAP servers). Need more security? WP Document Revisions allows you to store documents in a folder above the htdocs or public_html web root, further ensuring that only those you authorize have access to your work.
Customization – WP Document Revisions recognizes that no two teams are identical, and as a result, molds to your firm’s needs, not the other way around. Need to track additional information associated with a document? Departments, editors, issues, sections, even arbitrary key-value pairs — whatever you can throw at it, it can handle. Development and customization costs are further minimized by its extensive plugin API, and the WordPress Custom Taxonomy Generator makes it easy for even the uninitiated to add custom taxonomies to documents. Need an audit trail to track check-ins and check-outs? User-level permissions based on the document’s state or another custom taxonomy? Support for third-party encryption? Check out the WP Document Revisions Code Cookbook for sample code. Looking for even more advanced control of your workflow? WP Document Revisions will detect the popular workflow plugin Edit Flow, if installed, and will automatically pull Edit Flow’s advanced workflow management tools into WP Document Revisions. Simply put, virtually every aspect of the plugin’s functionality from workflow states to user-level permissions can be fully customized to your team’s unique needs.
Future Proof – Switching costs a concern? WP Document Revisions is built with tomorrow’s uncertainty in mind. Equally at home in an in-house server room as it is in the cloud, moving individual files or entire document repositories in and out of WP Document Revisions is a breeze (history and all). And since the software is open-source, you can easily add tools to automate the process of moving to or integrating with future third-party systems.
document-revisions extract-text command to backfill the extraction cache across an existing library, with --all/--missing/--id/--extractor/--force/--dry-run selectorsWPDR_TEXT_EXTRACTION, AI pre-fill respects WPDR_AI_SUMMARY_PREFILL and the core WP_AI_SUPPORT constantInterested in translating WP Document Revisions? You can do so via Crowdin, or by submitting a pull request.
Members – Membership & User Role Editor Plugin
(Previously called Members)
/wp-content/plugins/ directoryFor development or contributing:
`bash
git clone https://github.com/wp-document-revisions/wp-document-revisions.git
cd wp-document-revisions
composer install –no-dev
`
After installation, you’ll find a new Documents menu in your WordPress admin. Start by:
Need help? Check our FAQ or get support.
No FAQ provided.
Numbers in brackets show the issue number in https://github.com/wp-document-revisions/wp-document-revisions/issues/
Adds native text extraction and AI-generated revision summaries for document libraries. The full design and the twelve PRs that implemented it are tracked in #514; a smaller set of deferred follow-ups is in #531.
Breaking changes: raises the minimum PHP from 7.4 to 8.0 and the minimum WordPress from 5.0 to 5.9 to match what CI actually exercises. Sites on older PHP or WP will no longer see updates to this plugin until they upgrade their runtime. The composer floor was already at PHP 7.4, so install on PHP < 7.4 was already failing; this commit bumps the same constraint to 8.0 and brings the readme.txt declaration in line with what the test matrix verifies. WordPress 5.0–5.8 were never in CI’s matrix; that floor’s bump is similarly a “claim what we test” cleanup. PHP 7.4 has been EOL since November 2022 and WP 5.0 is from December 2018, so the practical population affected is small.
smalot/pdfparser), DOCX, and ODT (via phpoffice/phpword). Extraction runs out-of-band via wp-cron after a revision is uploaded; results are SHA-256-keyed against the file’s contents and stored as post meta on the attachment so re-extracting unchanged content is a no-op. New wpdr_text_extractors filter lets a site register custom extractors for additional formats (see the cookbook recipe).WP_AI_SUPPORT is false.WPDR_AI_SUMMARY_PREFILL constant.WPDR_TEXT_EXTRACTION constant). Flipping the per-document opt-out on clears every cache-managed meta key on the document’s revision attachments and unschedules pending cron events.document-revisions extract-text command for backfilling the extraction cache across an existing library. Selectors: --all, --missing (excludes failure-list entries to prevent infinite retry on malformed files), --id=<id>. Modifiers: --extractor=<class> to target reprocessing by tool identity, --force to bypass cache + failure list, --dry-run.wpdr/v1. GET /documents/<doc>/revisions/<rev>/summary returns the cached summary with a status envelope (pending / ready / unavailable); read_document capability. POST .../summary/review marks a summary as human-reviewed; edit_document capability. Capability mapping by @NeilWJames.wpdr_text_extracted fires after extracted text is cached, so third-party search-indexing or embedding consumers can hook without monkey-patching the cache class.post_content when classic-editor upload save fails. Two root causes addressed: wp_kses_post stripping the <!-- WPDR N --> HTML comment for users without unfiltered_html (fixed via restore_document_attachment_id on wp_insert_post_data), and JS upload callback not firing leaving post_content empty (fixed via save_document fallback to get_latest_attachment()).TypeError in filter_from_media_grid(): the ajax_query_attachments_args filter passes an array, not a WP_Query object, so the incorrect type hint caused a fatal error that prevented media library items from loading in the block editor..distignore.npm ci && npm run build step to deploy workflow so compiled block JS is included in the WordPress.org distribution.src/ (uncompiled JSX source) from the WordPress.org distribution via .distignore.For complete changelog, see GitHub
| Version | Download | Type |
|---|---|---|
| 5.0.0 | Download | Stable |
| 4.0.7 | Download | Stable |
| 4.0.6 | Download | Stable |
| 4.0.5 | Download | Stable |
| 4.0.4 | Download | Stable |
| 4.0.3 | Download | Stable |
| 4.0.2 | Download | Stable |
| 4.0.1 | Download | Stable |
| 4.0.0 | Download | Stable |
| 3.8.1 | Download | Stable |
| 3.8.0 | Download | Stable |
| 3.7.2 | Download | Stable |
| 3.7.1 | Download | Stable |
| 3.7.0 | Download | Stable |
| 3.6.1 | Download | Stable |
| 3.6.0 | Download | Stable |
| 3.5.0 | Download | Stable |
| 3.4.0 | Download | Stable |
| 3.3.1 | Download | Stable |
| 3.3.0 | Download | Stable |
| 3.2.4 | Download | Stable |
| 3.2.2 | Download | Stable |
| 3.2.1 | Download | Stable |
| 3.2.0 | Download | Stable |
| 3.1.2 | Download | Stable |
| 3.1.1 | Download | Stable |
| 3.1.0 | Download | Stable |
| 3.0.1 | Download | Stable |
| 3.0.0 | Download | Stable |
| 2.2.0 | Download | Stable |
| 2.0.0 | Download | Stable |
| 1.3.6 | Download | Stable |
| 1.3.5 | Download | Stable |
| 1.3.4 | Download | Stable |
| 1.3.3 | Download | Stable |
| 1.3.2 | Download | Stable |
| 1.3.1 | Download | Stable |
| 1.3 | Download | Stable |
| 1.2.4 | Download | Stable |
| 1.2.3 | Download | Stable |
| 1.2.2 | Download | Stable |
| 1.2.1 | Download | Stable |
| 1.2 | Download | Stable |
| 1.1 | Download | Stable |
| 1.0.5 | Download | Stable |
| 1.0.4 | Download | Stable |
| 1.0.3 | Download | Stable |
| 1.0.2 | Download | Stable |
| 1.0.1 | Download | Stable |
| 1.0 | Download | Stable |
| 0.6 | Download | Stable |
| 0.5 | Download | Stable |
| 0.1 | Download | Stable |
| Development | Download | Trunk |