Table of Contents
SharePoint Intelligent Versioning Based on Usage Coming Soon
Update: 14 June, 2024: The SharePoint version history feature is rolling out in preview.
In a recent article describing changes SharePoint Online made to how it stores retained files in the Preservation Hold Library, I mentioned the effect of retention on SharePoint storage and hoped that the changes would reduce this impact. Now it appears that Microsoft plans further changes to help.
Microsoft 365 roadmap item 145802 posted on June 30, 2023 discusses proposed changes for version history limits in SharePoint Online document libraries. Today, SharePoint Online requires versioning to be enabled for document libraries and lists and uses the following values to control major versions:
- Default: 500 versions.
- Minimum: 100 versions.
- Maximum: 50,000 versions.
Versioning is a critical feature for SharePoint Online. It underpins capabilities such as being able to restore a document library to a point in time, the autosave feature used by the Office apps to make sure that people don’t lose work, and updating of local file copies by the OneDrive sync client. It’s easy to accumulate a large number of versions. For instance, the PowerShell chapter for the Office 365 for IT Pros (2024 edition) eBook already has 81 versions (Figure 1) since its creation in early May. A single editing session to create this article created seven versions.

For these and other reasons, SharePoint Online sets the default number of versions to 500. It’s therefore not a good idea to reduce the number of versions for a document library by editing the number in Versioning Settings (Figure 2). On the other hand, increasing the number of versions retained by a document library can increase the storage consumed by the Preservation Hold Library.

Moving to Automatic Versioning Management
Microsoft says that they plan to “increase version history limits” for SharePoint Online and OneDrive for Business document libraries. Site administrators will be able to choose two types of version limits:
- Automatic mode: SharePoint Online “intelligently” adjusts the versions kept for files based on age and the probability that a version will be required for a restore.
- Manual mode: Site administrators set version expiration and count limits for document libraries.
Tenant administrators will be able to set version limits that apply to newly created document libraries.
The big change is a movement away from simple count-based version limits (i.e., SharePoint Online keeps up to 500 versions of files) to a system where SharePoint Online manages version counts automatically depending on the usage of documents and the site.
Different Update Patterns
For instance, if people edit a document daily, it might generate ten versions every business day or fifty-plus versions a week. Under the present scheme, SharePoint Online begins to discard versions after ten weeks or so. The new mechanism might note the update pattern and decide that it should keep more than 500 versions to allow for a longer restore window than 10 weeks and remove versions after six months.
On the other hand, a static document that’s edited twice a year might have a much lower version count. And SharePoint Online might dynamically adjust the version count downwards after a document moves from the phase where people actively work on its content to when the file becomes stable and is no longer being actively edited.
All of this is speculation based on the description in the Microsoft 365 roadmap item. We won’t know the exact details about how automatic versioning management works until we see the new mechanism in practice. More will become known when the preview appears (currently scheduled for November 2023). General availability is scheduled for March 2024.
Update: According to the Microsoft 365 roadmap item, intelligent versioning won’t appear until August 2024.
The Manual Alternative
As noted above, if site administrators believe that a document library needs to use a specific version count (and a new expiration limit), they can opt for manual management instead of automatic versioning.
Intelligent Versioning Needed
Features like Autosave mean that SharePoint Online makes heavier use of versions than the on-premises servers. This factor plus (I assume) pressure on SharePoint storage means that it makes sense to employ a more intelligent management system for versions. No file is worked on in the same way, so taking usage into account seems like the right approach. We’ll see when the preview starts in November.
Insight like this doesn’t come easily. You’ve got to know the technology and understand how to look behind the scenes. Benefit from the knowledge and experience of the Office 365 for IT Pros team by subscribing to the best eBook covering Office 365 and the wider Microsoft 365 ecosystem.
Undermines -> underlies?
“It undermines capabilities such as being able to…”
I *think* you mean “underpins” 🙂
Undermines?
Underpins…
The roadmap article says the manual mode will include “time-based” version expiration. I’m hoping this means we can delete versions older than x days. I’m also looking forward to know how this works if retention policies or retention labels are applied to the parent file.
I guess we’ll have the chance to parse those details out when the feature appears in preview…
Do you have any updated status for this? I could not find any information for this.
It’s coming. Software can be delayed.
Any news on this?
Does anyone know if the preview is public or private as it is still showing for November but we don’t see anything on our end.
I have a .pptx taking up 136GB of versions I just found out. The .pptx itself is 480MB atm, but it has 500 versions…
Some more options for cleaning these up would be nice.
Do you need so many versions? I commonly set the versioning limit to 100…
https://learn.microsoft.com/en-us/microsoft-365/community/versioning-basics-best-practices
Not really 😀
I set it to 100 for this specific SP site.
Do you know if the old 400 versions are cleaned up retro-actively by Sharepoint?
No. I don’t think so. That’s the kind of action that an administrator would need to explicitly take. Microsoft wouldn’t do it because they’d be accused of potentially removing data people wanted to keep…
I am the admin.
The only option I can see in Version History is “Delete All Versions”.
Can I deleted specific versions or up to a certain age or number of versions? I tried setting the site to “Classic”, but that didnt add any options.
It’s a library setting (Versioning). Set the value to a smaller number and SPO will clear out the unwanted versions.
I found out if you go to the ‘Storage Metrics’ of a site and go the version history of a specific file you can manually delete a version 1 by one.
That seems like an extraordinarily painful thing to do…
Okay, that’s where I change the setting the first time. I’ll check in a couple of day if it remove the oldest versions.
Thanks for the info.
I have set the Release preferences to “Targeted release for everyone” but I still don’t see any new versioning controles. Does anyone know if there’s a delay?
SharePoint typically takes up to a week before you can be sure that setting changes are respected.
Tony, this has been long overdue. Sadly, the documentation states this only applies to new document libraries deployed after the settings are applied at the tenant level. As a global company who has been on 365 for over a decade, and with several thousand SharePoint sites actively in use across 80+ countries with over 100TB in combined storage, this feature doesn’t appear to help any well established companies deal with this issue.
Tony, disregard. I see I can use PnP PowerShell to programmatically assign the new Version Time Limit settings to legacy document libraries.
Set-PnPList -Identity $Library -EnableAutoExpirationVersionTrim $true
Set-PnPList -Identity $Library -EnableAutoExpirationVersionTrim $false -ExpireVersionsAfterDays 30 -MajorVersions 100
While it may take some time to get through all the sites in our tenant, at least this approach allows the new settings to be used tenant wide.
I’m waiting for the functionality to arrive in my tenant. Once it does, I’ll test it and report my results.
I have been eagerly awaiting the new version history feature, and I’ve enabled in my tenant (https://learn.microsoft.com/en-gb/sharepoint/document-library-version-history-limits). I’ve tried to trim existing versions from libraries (https://learn.microsoft.com/en-gb/sharepoint/trim-versions) using New-SPOListFileVersionBatchDeleteJob, but Get-SPOListFileVersionBatchDeleteJobProgress reports that no versions were deleted. I’ve excluded the site from retention policy, and there are no eDiscovery holds or locked sites. We do have retention labels applied, which should still allow us to use this new Version History feature according to the documentation. If I remove a retention label from a file and run SPOListFileVersionBatchDeleteJobProgress then the versions do successfully delete for the file I’ve removed the label. This is a big issue for us as we need retention labels for compliance.
I logged a ticket with Microsoft who advised “SharePoint Version Trimming is currently on a Preview Stage, it is not yet fully developed and possible that there are still some bugs”.
It would be great to hear your experience once you test in your tenant Tony.