Release notes
6.0.5
Major release with many improvements, new features, new CSOM rules, improved desktop UI, and many more.
New Features
- New Client UI: more space for reports, user-friendly analysis creation, back button in navigation.
- Comparison of analysis results: new tool, new comparison reports.
- Improved HTML report: down to at least 50% size, faster rendering, better readability.
- Support for Visual Studio 2015.
- Over 25 new rules for SharePoint Managed Client Side Object Model (CSOM)
- New SPCAF build step for easier integration into TFS 2015 and Visual Studio Online
- New option for settings files to avoid automatic loading of new rules
New Rules (Full Trust and CSOM)
- SPC019005: Verify the CheckOutType before checking out an item
- SPC019007: You must call Update() to persist any changes to the Web object.
- SPC019008: You must call List.Update() to persist any changes to the List object.
- SPC019009: You must call both Field.Update() to save any changes to the Field object.
- SPC019010: You must call Update() to persist any changes to the ListItem object.
- SPC019011: Verify that the File is checked out before checking it in.
- SPC019012: You cannot specify both the Id property and the ParentContentType property when creating a Content Type.
- SPC019013: Don’t forget to call ClientContext.ExecuteQuery()
- SPC019017: Do not set properties from inside a ConditionalScope block.
- SPC019018: You must call ClientContext.ExecuteQuery() to persist any changes to the Web object.
- SPC019019: You must call ClientContext.ExecuteQuery() to persist any changes to the server.
- SPC019020: You must call ClientContext.ExecuteQuery() to persist any changes to the server.
- SPC019021: You must call ClientContext.ExecuteQuery() to persist any changes to the server.
- SPC019022: Ensure you are calling ListItem.Update() before ClientContext.ExecuteQuery() when modifying a List Item.
- SPC019023: Ensure you are calling List.Update() before ClientContext.ExecuteQuery() when modifying a List object.
- SPC019024: Ensure you are calling Web.Update() before ClientContext.ExecuteQuery() when modifying a Web object.
- SPC019025: Ensure you are calling Field.Update() before ClientContext.ExecuteQuery() when modifying a Field object.
- SPC059001: Consider implementing a pattern to avoid throttling with ClientContext.ExecuteQuery()
- SPC059005: Consider verifying that the user has sufficient permissions when calling Web.Update().
- SPC059006: Consider verifying that the user has sufficient permissions when calling Web.DeleteObject()
- SPC059007: Consider verifying that the user has sufficient permissions when calling List.Update()
- SPC059008: Consider verifying that the user has sufficient permissions when calling List.DeleteObject()
- SPC059009: Consider verifying that the user has sufficient permissions when calling ListItem.Update()
- SPC059010: Consider verifying that the user has sufficient permissions when calling ListItem.DeleteObject()
- SPC059011: Consider verifying that the user has sufficient permissions when calling List.AddItem()
- SPC059012: Consider verifying that the user has sufficient permissions when calling ListCollection.Add()
- SPC059013: Consider verifying that the user has sufficient permissions when calling WebCollection.Add()
- SPC229003: Consider specifying the RowLimit and ViewFields parameters in order to optimize performance with CamlQuery.CreateAllItemsQuery()
Improvements
- Ability to change installation folder during installation.
- Added Application Insights in the analysis engine.
- Reports in trial mode show more information (every third notification is not displayed).
Bug Fixes
- Fix in dependencies for .ASPX and ASCX page to ignore HTML and ASP.NET comments code during analysis.
- Fixed rule ‘SPC015705 DeployMissingRibbonImageOfCustomAction’, the rule was not mapping {SiteUrl} correctly.
- Fix in the handling of ignored files: Some rules analyzed files that are part of the “IgnoredFiles” list.
- Added more details to FxCop messages, e.g. method and type of violation.
- Hotfix 2015-11-02: Added handling for assemblies that cannot be loaded due to special obfuscation.
- Hotfix 2015-11-02: Update Razor engine to solve a special issue with the empty report.