ZZT v4.0 (Unofficial)
ZZT v4.0 was a modification of ZZT made using a hex editor and a very steady hand. While impressive for its time, the nature of the patch means that it introduced a major bug:
At (uncompressed) binary offset 0x5BE0, the byte 0x00 was mistakenly changed to 0x2E. This makes the ElementPusherTick method remove 46 bytes (as opposed to 0) from the stack every time it is called, causing a stack underflow and crashing the game after, at minimum, exactly seven pusher ticks have occured. The intent of adding this seems to be a misplaced hex edit pertaining to the torch's pickup message. Notably, this bug is not present in the NoMsg variant of the executable.
On top of this, the fake wall message was accidentally increased in size by one, making it spell A fake wall - secret passage!U.
If you're interested in something more powerful than ZZT 3.2, Weave by the same author is an excellent choice; for clean messages, CleenZZT is a modification of the reconstructed source, rather than a hex edit of the binary, offering better stability.
I liked this update. Personally, I felt that a contemporary revision of ZZT was in long need of doing and WiL just came along and fixed the whole sheebang. Now I can play ZZT without all of those annoying messages and shit, and also ZZTetris is more playable. My heart goes out to you, WiL...