Survey of LHarc and LHA versions and names

The LHarc family of software (including LHA, etc.) is an old compression and archiving utility, originally for DOS computers. I’ve found the LHarc version history to be confusing in a number of ways. In this post, I’ll try to explain what’s what, to the best of my knowledge.

LHarc is comparable to its contemporaries PKZIP and ARC. It was developed by Haruyasu Yoshizaki, a.k.a. “Yoshi”, a nickname I’ll use in this post.

Names

LHarc’s name changed several times, to LH, then LHa, then LHA. The distinction between a simple name change, and a new product with a new name, is a bit fuzzy. Since the version numbers generally go up, and don’t overlap, we can think of it as just a name change — though Yoshi might not agree. Arguably, its name was eventually changed to “LHA32”, but maybe in this case it is better to think of that as a separate product.

It seems that “LHarc” is always supposed to be written with a capitalized “LH” and a lowercase “arc”. The v1.00 documentation uses all-caps “LHARC” a few times, but it’s probably only referring to a filename, not the software’s name. See also the section on “v1.14β” below.

The software is sometimes informally called “LZH”, because the files it creates usually have a “.LZH” filename extension.

Scope of this survey

I only cover the software for DOS, and (in one case) 32-bit Windows console. LHarc software exists for many other platforms, but that’s not covered here.

I only cover software in directly executable form. I don’t cover source code, or patches.

I only cover software released by, or approved by, Yoshi, and showing Yoshi’s name in the “usage” message. I separately cover some versions that may appear to meet this qualification, but actually do not.

Versions designated as “test”, “beta”, “preview”, “prototype”, etc., are included. While the software probably distinguishes between some of these different flavors of not-a-full-release, I do not. I call them all “test”.

I cover all versions listed in the change log of later versions, regardless of the extent to which they were released publicly. Some of them, I guess, were only private beta test versions. Some of them might not have been released at all.

I cover Japanese and English editions. I don’t know all the process(es) by which the software was translated. It’s possible that some of the English editions that look official are not technically official. Perhaps every version had a Japanese edition, but I’ve been able to find very few, maybe because I don’t know Japanese.

List of versions

Here are the qualifying DOS versions I’m aware of:

Name/Ver/Reltype/Lang  Date        Reference
======================================================
LHarc? 0.01                        [1.13c lharc.man]
LHarc? 0.02                        [1.13c lharc.man]
LHarc? 0.03                        [1.13c lharc.man]
LHarc? 0.04                        [1.13c lharc.man]
LHarc? 0.05                        [1.13c lharc.man]
LHarc? 0.06                        [1.13c lharc.man]
LHarc? 0.06b                       [1.13c lharc.man]
LHarc? 0.07                        [1.13c lharc.man]
LHarc? 0.07a                       [1.13c lharc.man]
LHarc? 0.07c                       [1.13c lharc.man]
LHarc  1.00  rel   E   1989-03-04  [1.13c lharc.man]
LHarc  1.01                        [1.13c lharc.man]
LHarc  1.12  test  E   1989-04-23  [1.13c lharc.man]
LHarc  1.12b rel   E   1989-04-29  [1.13c lharc.man]
LHarc  1.13  test  E   1989-05-04  [1.13c lharc.man]
LHarc  1.13b                       [1.13c lharc.man]
LHarc  1.13c rel   E   1989-05-31  [1.13d lharc.man]
LHarc  1.13d rel   E   1989-12-22  [1.13d lharc.man]
LH     2.02a           1990-11-18  [2.05 history.doc]
LH     2.02b           1990-11-21  [2.05 history.doc]
LH     2.02c           1990-12-03  [2.05 history.doc]
LH     2.02d           1990-12-25  [2.05 history.doc]
LH     2.02e           1990-12-27  [2.05 history.doc]
LH     2.02f           1990-12-29  [2.05 history.doc]
LH     2.03            1991-01-03  [2.05 history.doc]
LH     2.03a           1991-01-04  [2.05 history.doc]
LH     2.04            1991-01-18  [2.05 history.doc]
LH     2.04a           1991-01-20  [2.05 history.doc]
LHa    2.05  test  JE  1991-01-27  [2.10 history.eng]
LHa    2.05a           1991-02-06  [2.13 history.eng]
LHa    2.05b           1991-02-07  [2.13 history.eng]
LHa    2.06        E   1991-02-16  [2.13 history.eng]
LHA    2.10  rel   E   1991-02-24  [2.13 history.eng]
LHA    2.11  rel   E   1991-03-03  [2.13 history.eng]
LHA    2.12  rel   E   1991-03-21  [2.13 history.eng]
LHA    2.12a test      1991-04-15  [2.13 history.eng]
LHA    2.12b test      1991-07-03  [2.13 history.eng]
LHA    2.13c test      1991-07-13  [2.13 history.eng]
LHA    2.13  rel   E   1991-07-20  [2.55b history.doc]
LHA    2.14  test      1992-03-20  [2.55b history.doc]
LHA    2.50  test      1992-07-26  [2.55b history.doc]
LHA    2.51            1992-08-10  [2.55b history.doc]
LHA    2.52  test      1992-09-07  [2.55b history.doc]
LHA    2.53            1992-09-11  [2.55b history.doc]
LHA    2.54            1992-10-04  [2.55b history.doc]
LHA    2.55  test      1992-11-15  [2.55b history.doc]
LHA    2.55a           1992-11-22  [2.55b history.doc]
LHA    2.55b       JE  1992-11-24  [2.55b history.doc]
LHA    2.60  test      1994-06-10  [2.66 changes.txt]
LHA    2.61  test      1994-06-12  [2.66 changes.txt]
LHA    2.63  test      1994-07-07  [2.66 changes.txt]
LHA    2.64  test      1994-12-03  [2.66 changes.txt]
LHA    2.65  test      1994-12-20  [2.66 changes.txt]
LHA    2.66  test  J   1994-12-30  [2.66 changes.txt]
LHA    2.67  test      1995-05-24  [LHA32 2.67.00 changes.w32]

And one version for 32-bit Windows console:

LHA32  2.67.00 test  J  1995-10-08

About the list

Versions tagged with “rel” are, as far as I can tell, considered to be stable releases. Versions tagged with “test” are not. If the column is blank, then I don’t know. Most such versions are probably “test” versions.

If I have a copy of the software, I list the code “E” (English), “J” (Japanese) or “JE” (both), indicating what language(s) it uses.

In a given distribution, the date printed by the software is sometimes slightly different from the date given in the documentation. My list only includes one date, chosen arbitrarily.

The “References” column gives an example of a place to look for evidence that the listed version exists.

Screenshots

Here are some screenshots of the “usage” message printed by selected versions.

The images in this post might contain copyrighted material. I claim that using them here constitutes Fair Use. The copyright notices are visible in the images.

LHarc v1.13c
LHA v2.13
LHA v2.55b
LHA32 v2.67.00 test version

Notes and oddities

  • All the software through LHA32 2.67.00 uses .LZH as the default filename extension. Later LHA-supporting software sometimes uses .LHA instead.
  • The only known version designation that actually includes the letter “e” is the rare v2.02e. Any other time you see “e” appended to a version number, or a filename, it’s probably a reference to the English edition, not “e”-as-in-the-version-after-“d”. You might also see “j”, for Japanese.
  • Some distributions include documentation files from a previous version, unchanged, and thus containing the wrong version number. That makes it easy to get confused about what version of the software you are looking at.
  • I don’t know for sure what versions prior to 1.00 were named. The change log lists version numbers, but not names.
  • The change log implies that v0.01 was not the first version.
  • The change log in the bogus v1.14β inexplicably changes “v1.13” to “v1.13a”. No other document that I’m aware of lists v1.13a. I have no reason to think that such a version existed.
  • Source code for approximately v1.13b was released to the public. Keep that in mind if you find a program that resembles LHarc.
  • There may have been more versions between 1.13d and 2.02a. I cannot find a change log that lists both of these versions, and so would tell me what, if anything, lies between them.
  • Writing in 1991, Haruhiko Okumura, an associate of Yoshi, wrote that “the final version of LHarc is 1.13d.” (link)
  • I can’t find a single copy of any of the versions named “LH”. A remnant of the name appears in self-extracting archive files made by v2.05: They contain the string “LH's SFX“.
  • The change logs from v2.05 and v2.10 say that v2.05 was released 1991-01-27, which seems to be the correct date. But the change logs from v2.11 and later say the date was 1991-01-01.
  • The change log lists a version “2.13c”. But, based on its version number and release date (after v2.12b, before v2.13), it really should have been v2.12c. I don’t know if this is just a clerical error in the change logs, or whether there was an actual release that was (incorrectly?) numbered v2.13c.
  • The v2.66 change log pretends that v2.13 was the preceding version. It doesn’t mention any of the versions between 2.13 and 2.66, though the software does seem to include the features added in them.

Last stable release

Version 2.13 may well have been the last release that was considered to be fully stable and official. Later releases might have all been considered at least “provisional” or “for testing” — though they don’t always make it obvious. The only evidence that v2.55b is not a stable release seems to be in the Japanese-language “read.me” file, but that file is from v2.55, and was not updated for v2.55b.

Oddball versions

v1.131c

There is an “LHarc 1.131c” (1989-06-10), with modifications by Steve Hoglund.

LHice v1.14

LHice, or ICE, is an illegitimate modified copy of LHarc v1.13c. It’s dated 1989-07-15. It isn’t dangerous, but it’s an annoying prank that fooled some people into thinking LHarc had changed its name to LHice.

LHice

v1.14β

You may find a file named LH114B.EXE on the internet, which purports to be LHARC v1.14β (1989-07-31). It changes the name from “LHarc” to the all-caps “LHARC”. It’s very similar to LHarc v1.13c and to LHice.

“v1.14β”

I’m quite sure that it is illegitimate. Maybe it should be named “LHice Attempt #2”. For one thing, note some sloppy search-and-replace editing in the documentation: “vice” → “vARC”; “LZHuf” → “LHARCuf”; “a.lzh” → “a.ARC”.

Another issue is that it lists itself as “1.14b” in its change log, which you may say is “close enough”, but it violates LHarc’s conventions even more than “v1.14β” does. Consider that a hypothetical v1.14a would come between v1.14β and v1.14b.

v2.01a

Out of all the versions of LHarc/LHA, here’s what Wikipedia, as of this writing, uses for the screenshot in its article titled “LHA (file format)”:

v2.01a – Image from Wikimedia Commons

So, LHarc v2.01a. Notice how no such version appears in my list. The information supplied by the image uploader claims it is from MS-DOS.

It may well be real, but I haven’t found any way to confirm it. Its date of 1989-07-20 puts it between v1.13c and v1.13d. The formatting of the screen is almost letter-for-letter identical to v1.13c, but some of the decoration is different. The only references to v2.01 that I could find in my web searches were regarding Atari versions of LHarc.

v2.55E

Nowadays, what might be the most easily found version of LHA is “English v2.55”, or “v2.55E”, or “v2.55e”. It was made by Hitoshi Ozawa, some three years after v2.55 was released. Its date is 1996-01-10 according to the included revision.txt file, though the software’s usage message retains the original v2.55 date of 1992-11-15.

Note that v2.55b was released a week or two after v2.55, and it appears to have always included an English language edition (LHA_E.EXE). Its translation is not very complete, but still, given that, it is odd that v2.55E exists and is so prominent.

No doubt the confusing version designation is part of the problem. Most people would assume that v2.55e is an improvement over v2.55b.

Here are the fixes that presumably got missed by basing v2.55E off of v2.55 instead of v2.55b (change log translated to English by translation software):

  ver.2.55a     92/11/22
· There was a bug in the remaining amount check.

  ver.2.55b     92/11/24
· Since the redirect process does not work, the compiler version
  was restored. 

Other “LHA32” software

Yoshi’s LHA32 v2.67.00 is not the only piece of software named “LHA32” or something similar. In particular, there is an “Lha32”, by something named “Take”, which has a different version numbering scheme.

Lha32 v1.06 by Take

After v2.67

I haven’t really tried to research what happened after LHA[32] v2.67. The v2.6x series was supposed to be a testbed for LHA 3.0, but I don’t know what ultimately became of those plans.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s