sharepoint

SharePoint Version History Missing

Resolution Checklist

  • 1 Verify document library versioning configurations
  • 2 Check Draft Item Security and approval workflows
  • 3 Validate tenant-level version limit boundaries
  • 4 Query missing version nodes via PowerShell or API
  • 5 Restore missing file states using SharePoint recycle utilities

SharePoint Version History Missing

This article provides a diagnostic checklist and troubleshooting guide to resolve SharePoint Version History Missing (such as missing old versions of files, version history option greyed out, or draft version history invisible to certain team members).

Root Causes / Meaning

SharePoint Version History manages version stacks for all items in a document library. When version histories disappear or are inaccessible, the typical causes are:

  1. Disabled Versioning Settings: The document library configuration has Create a version each time you edit a file in this document library turned off or set to keep 0 versions.
  2. Draft Item Security restrictions: If Content Approval is enabled, the library settings under Draft Item Security may restrict draft/minor versions (e.g. 1.1, 1.2) to only authors or approvers, hiding them from standard read-only users.
  3. Improper File Moves: Moving files across site collections using manual copy-and-delete operations (or external sync clients) strips the version history database. Only the native SharePoint Move to web function preserves history.
  4. Minor Versions Not Enabled: The library is configured to only track Major versions (e.g., 1.0, 2.0), causing incremental changes between major publishes to be discarded.
  5. Retention Policy Exclusions: An IT retention policy or compliance rule has automatically pruned versions older than a specific date.

Initial Checklist

Before proceeding to advanced fixes, perform these basic checks:

  1. Verify Web History: Check the file in the SharePoint Online web interface. Right-click the file and select Version history. If it is visible here but not locally, the issue is desktop integration.
  2. Confirm User Permissions: Users with read-only permissions cannot view minor/draft versions of documents. Ensure the user has at least Edit permissions if they need draft access.
  3. Verify File Location: Check if the file was recently moved. If so, verify if it was moved via the SharePoint browser interface or dragged-and-dropped locally (which ruins version history).

Platform-Specific Resolving Steps

Windows Users

Step 1: Check and Enable Versioning Configuration via PowerShell

Ensure versioning is actually turned on for the document library and set to the recommended limits:

# Install PnP PowerShell if needed
# Install-Module PnP.PowerShell -Scope CurrentUser

# Connect to the SharePoint Site
Connect-PnPOnline -Url "https://yourtenant.sharepoint.com/sites/Projects" -Interactive

# Retrieve library versioning properties
$List = Get-PnPList -Identity "Shared Documents" -Includes EnableVersioning, EnableMinorVersions, MajorVersionLimit, MajorWithMinorVersionsLimit

# Output the configurations
$List | Select-Object EnableVersioning, EnableMinorVersions, MajorVersionLimit, MajorWithMinorVersionsLimit

Step 2: Enforce Versioning Settings Programmatically

If versioning is disabled, execute this command to re-enable it and retain at least 100 major versions:

# Set list properties to enforce major and minor versioning
Set-PnPList -Identity "Shared Documents" -EnableVersioning $true -EnableMinorVersions $true -MajorVersions 100 -MinorVersions 100

macOS Users

Step 1: Query Library Version Settings via SharePoint REST API

On macOS, you can query a library’s versioning configuration using curl:

# Call the SharePoint REST API to inspect list versioning configurations (requires auth token)
curl -X GET -H "Accept: application/json;odata=verbose" \
-H "Authorization: Bearer <YourAccessToken>" \
"https://yourtenant.sharepoint.com/sites/Projects/_api/web/lists/getbytitle('Shared%20Documents')?\$select=EnableVersioning,EnableMinorVersions,MajorVersionLimit"

Step 2: Check Draft Item Security Policies

Verify that draft security policies are not hiding minor versions from users:

# Query the DraftItemSecurity setting of the Document Library
curl -X GET -H "Accept: application/json;odata=verbose" \
-H "Authorization: Bearer <YourAccessToken>" \
"https://yourtenant.sharepoint.com/sites/Projects/_api/web/lists/getbytitle('Shared%20Documents')?\$select=DraftVersionVisibility"

Note: A DraftVersionVisibility value of 0 means any user who can read can see drafts. 1 means edit rights are required, and 2 means approval rights are required.


Actionable Command Blocks

Restoring a Missing Version Node via REST API (macOS & Windows Terminal)

If a specific version of a file was accidentally deleted but exists in the database index, you can query and restore it directly:

# Post to the restore endpoint of a specific version ID (replace file path and version ID)
curl -X POST -H "Accept: application/json;odata=verbose" \
-H "Authorization: Bearer <AccessToken>" \
-H "Content-Length: 0" \
"https://yourtenant.sharepoint.com/sites/Projects/_api/web/GetFileByServerRelativeUrl('/sites/Projects/Shared%20Documents/ProjectPlan.docx')/Versions/GetById(512)/RestoreByLabel"

Summary Checklist

  • Opened the SharePoint web interface to verify version history availability.
  • Confirmed that Create a version each time you edit a file is enabled in library settings.
  • Checked Draft Item Security settings to ensure drafts are visible to readers if needed.
  • Verified the file was not moved using local drag-and-drop actions, which deletes version histories.
  • Checked that user accounts have appropriate permissions (Edit vs. Read) to see draft versions.