Correct, it originally was intended to fix, what I thought, was an oversight.
You have the macro function
Wiki: exposePCOnlyArea() where it first clears then exposes FoW for PC's. (and calls the same internal function as meta-shift-o and some of the right-click menu functions).
To restore functionality to pre-1.4 and fix the bug, simply rolling back that patch should do it. (I though I had mention that in one for the thread already for Craig). I haven't submitted it yet as I've gone off the rails again and just haven't had time to build another clean environment from Git. I was hoping the reformat would happen so I could do a dif because currently I have hundreds of "changes" showing in my dif because I had to do a reformat to pull code from another build).
ANYhoo, for my own personal reasons (as it bugs the feces out of me on how I use it), I didn't want FoW to clear for NPC's just to reset the FoW for PC's. And it's kind of a can of worms dealing with the Global vs local FoW. And as you figured it out, it's also tied into server functionality and the individual views option.
To complicate matters, I use NPC tokens for cohorts or other non-pc characters that I let the PC's control. (sure I could make them PC's, but I have so many macros that rely on pc vs npc like XP that it breaks to many things, plus I like the Green Border to remind everyone it's truly an NPC). An in my Opinion, MapTool is set to allow this functionality via Ownership. Ok, so what's the issue? Well, if NPC tokens don't clear FoW on movement, then PC's cant move them without the GM clearing FoW (if you don't allow tokens to move into VBL/Darkness).
This as led me to MY thinking at least (feel free to chime in), but FoW/Light/Sight logic would better be served breaking FoW into "Ownership" view vs PC/NPC. Right now, if you select no tokens, you get to view what all PC's see. I would think this would/should be "Let me see what all the tokens I OWN can see"? I mean, I "Own" it, I can move it, I should be able to see through it, right?
To that end, I believe I currently (in my build) restored the clearExposedArea() function as is, and simply created a new java function clearOwnedExposedArea() to do just that (as I ran into issues with global FoW with the other and other places that overlap functionality). And then added a matching Macro that calls that function, so, onMove I can clear OwnedTokens FoW only and let PC's move NPC tokens more naturally. I had to create new server/client calls to sync everything and have been testing it, I THINK it's working and I didn't break anything else (testing with/without server with/without ind view setttings, testing functions/clear FOW menu settings, etc is very time consuming. So many permutations).
The last Bug I DID run into though, and it seems to go back to at least 1.89 (and probably earlier), it seems that if you are running a server, with individual views, and some FoW exposed. (take a few tokens, move them around exposing FoW), then reset FoW (meta-shift-o), then disconnect PC player client, reconnect, Player sees old/exposed FOW until token moves and FoW changes. It's seems like if Individual views is checked, the server uses the List of GUIDs for the views, but also maintains the Global FoW. And upon connection, initially shares the Global vs Individual views at first? Not sure, that's where I left off couple weeks ago and it needs more testing.
TL;DR
1. Correct, rolling back changes to clearExposedArea() should restore FoW functionality to 1.91
2. I think clearExposedArea() is inherently overzealous in clearing FoW on NPC tokens and only should clear PC tokens.
3. I believe FoW should be tied to Ownership vs NPC/PC instead as it's more granular.
4. Working on new Functions vs changing old functions and testing. This allows MT to work as before but possibly allow more FoW options if wanted.
5. Please feel free to put a GitHub fix and ask question if needed. I don't get a lot of code time lately because of RL but I've spent a lot of time in the FoW/Light/VBL code as that's the #1 reason I use MT vs Roll20/Mote/Other tools.