From the description of the problem found at link offered by @jfcherng it seems that it was a RegEx behavior compatibility fix relating to old syntaxes vs the new format. Chances are that some ST4 updates have further improved the RegEx engine and the Syntax mechanics, so probably the problem will show again whichever way you install ST4 (unless you stick to and older version).
It’s hard to tell, but from what I can see all the new syntax features and bug fixes are for the best, and I did notice various bug fixes affecting how a same syntax worked in ST3 vs ST4 — some of them are listed in the documentation, since enabling
version: 2 in a Syntax will ensure that ST4 does not emulate those bugs (i.e. for backward compatibility with syntaxes designed for ST3).
Unfortunately ST3 has seen various RegEx bugs and changes in the RegEx engine(s) supported, which has lead to syntaxes being designed around those quirks, which might affect their functionality with ST4, now that this quirks are being fixed.
IMO, it’s worth looking forward and try to exploit the new ST4 features, which when it comes to syntaxes are really cool, adding a whole new layer of possibilities that were not there before.
Also, ST4 now offers some context hints when peeking at tokens’ scoping, which is quite helpful since it can be used as a “syntax debugger” of sort, to trace were things are not working as expected.
True, migrating an old syntax to the new ST4 feature can indeed require some work, but if we heavily rely on a specific syntax it might be worth it. In any case, you can always start by removing (commenting out) broken features, and then gradually reintroduce them one at the time, to reduce the amount of work.
As a general rule, I prefer to avoid very old syntaxes which are not actively maintained, and favor third party forks which are being updated.