There are at least 10 different versions of the Z machine out there:
- Versions 1 through 6 were created by Infocom in the 1980s. These were de facto defined by the behavior of their proprietary interpreters. Infocom internally referred to v3 as "ZIP", v4 as "EZIP", v5 as "XZIP", and v6 as "YZIP".
- Infocom's code was reverse-engineered in the late 1980s and early 1990s, resulting in the first open-source interpreters.
- Graham Nelson made some minor extensions in 1995 to allow for larger story files, creating versions 7 and 8 of the spec. (The immediate impetus for the expansion was to support Jigsaw.) Most, if not all, modern Z machine interpreters support z7 and z8 story files.
- In the late 1990s, online discussion led to the publication of a "modernized" Z-machine specification (covering versions 1 through 8). This was labelled Z-Machine Standards Document 1.0. The Z-machine has subsequently been accepted as being defined by this document, rather than by Infocom's legacy implementations.
- In the early 2000s, there was a great deal of discussion about new version 9 and 10 extensions, but these were never resolved.
- In 2013, Zzo38 created (another) version 9 and 10 of the spec, with a number of extensions allowing even larger story files, finally giving Z-machines XOR support, and many other changes. These versions are not described in the 1997 Z-machine specification 1.0, nor in the 2006 Z-machine specification v1.1 (the most recent version), nor in the draft Z-machine specification v1.2; the only known Z machine interpreters that support these versions are Zzo38's own Aimfiz and Fweep. This is considered EXPERIMENTAL and subject to change. Its use is not recommended.