There are many reasons… Some are not immediately obvious.
This is one of those many reasons: we used to have two search algorithms. One ran locally and one ran remotely. The local one was quite poor because it lacked the infrastructure to keep a good search engine operational. But because of offline support, we needed to keep both functional. The online one keeps getting better but the one that lives in the Core hasn’t been improving at the same pace. Search is a major pain point for many of our users and it’s a shame because many of those same users are using the local engine often. On top of that, being, consistency is extremely frustrating. With 2.0 we killed the local engine. So now all search requests go through a single unified engine that will continue to improve. But if we advertise offline support, then search has to work offline, which has been problematic.
This is one of the reasons, but this is an architectural shift that allows us to make improvements and shed some of the limitations that we’ve been constrained by in the past.