First of all, Episerver 10 is backward compatible 99.9% but in upgrade you should be aware of few things! Here is my top 10 list of CMS changes:
||All add-ons are not yet updated to support new major version.
||Remove support for legacy dot syntax for dojo modules
||Confusing handling of empty/null properties
||Date/time should be stored in UTC by default
||Change ContentCoreData StartPublish and StopPublish to DateTime?
||Move EPiServer.Shell from EPiServer.CMS.Core to EPiServer.CMS.UI.Core
||Remove support for legacy value types for PropertyData
||MovingContent and MovedContent isn't different when removing a content
||PermanentLinkMapper API is hard to understand/use
||Make LinkItem members virtual to simplify unit testing
Full list of release updates: http://world.episerver.com/releases/episerver---update-134/
Episerver ADD-ONS for v.10
Many Episerver add-ons seems to have dependency support for Episerver.CMS.Core version up to 9.999 or less than 10.0.0. So you need to temporarily remove those add-ons if you want to install the version 10. Probably those add-ons will be updated soon or at least most of them. This is the situation today 2016-10-24.
Version 10 SUPPORTED
Version 10 NOT yet SUPPORTED
- EPiServer Visitor Groups Criteria Pack
- EPiServer GoogleAnalytics
- EPiServer.Cms.AddOns.Blocks (Self-Optimizing Block)
- EPiServer Find Client API
Also be aware that in the end of the update you should convert all the DateTimes to UTC time, but it's just running a simple command (PM> Convert-EPiDatabaseToUtc).
I have my first Episerver 10 project in production already. The update went smoothly and it's up and running. If you don't have restriction from relations like add-ons or other NuGet packages, I would recommend you to update also!