Next version

From NetHackWiki
Revision as of 17:08, 5 February 2015 by Ilmari Karonen (talk | contribs) (use <blockquote> instead of <pre> for quotes)
Jump to navigation Jump to search

There is no information available to suggest when the mythical next version of NetHack will be released, other than "When it's ready." [1]

However, there are various actively developed variants by different developers that build on NetHack 3.4.3 and could be considered a "next version" of NetHack in the same way as NetHack 1.3d was to Hack 1.0.3.

Version number

Possibilities are 3.4.5, 3.5.1, 3.6.0, 4.0.0, or something else. The version numbers 3.4.4 and 3.5.0 were officially retired on September 21st, 2014 due to leaks of pre-release code carrying these version numbers.

3.4.5 seems unlikely, unless a major security hole is discovered, in which case it may be released with only the bugfixes marked "fixed" (lowercase f) on the NetHack bugs page.

An increase in major version number to 4.0.0 also seems unlikely, as the last major bump was 17 years ago, since when many, many major features have been added. Such an increase doesn't fit in with the DevTeam's observed pattern of extremely conservative behavior.

"Something else" is a possibility, but again would be uncharacteristic.

This leaves 3.5.1 or 3.6.0 as the likely next version number.

New features

Only a few new features are known for certain:

  • the #tip command
  • the integration of the pickup_thrown patch by Roderick Schertler
  • an option to rotate the number_pad directions for play on phones
  • crossbow shooting range does not depend on strength
  • noise will end monster meditation
  • endgame portals can be detected more easily

News of the #tip command was leaked in July 2003 by Pat Rankin on RGRN[2]:

This capability has already been implemented for NetHack version $(NEXT), for some value of $(NEXT) greater than 3.4.2. (At present the command is named #tip rather #dump, but that could conceivably change if your patch actually makes an impact. It has handling for containers on the floor as well as in inventory, for cursed bags of holding, bags of tricks, altars, levitation, and for one or two other things you'll probably overlook. ;-) Its primary purpose is to provide a means of getting things out of containers when your hands are stuck to weapons and/or shield, but it will work at any time unless you're too heavily encumbered.

In February 2008, Pat Rankin revealed[3]:

If they're using Roderick Schertler's pickup_thrown patch like slash'em does (and future nethack will, but you didn't hear that from me...), [...]

In May 2008, Pat Rankin wrote[4]:

The post-3.4.3 development code has extended the number_pad option to support the upside down keypad variant used by phones [...]

In March 2009, Pat Rankin wrote [5]:

As far as crossbows go, they were changed some time back to shoot for maximum distance regardless of strength or dexterity, and to require high strength to retain full multi-shot volleys.

In June 2011, Pat Rankin wrote[6]:

In the hypothetical future post-3.4.3 version, noise will "wake" meditating monsters whether they can see you or not.

In August 2011, Pat Rankin posted[7]:

The mythical development version has been changed so that water and clouds on the Planes of Water and Air don't interfere with such [wand of secret door] detection (they still block your view though), making usage anywhere within their modest radius be viable.

In August 2014, Pat Rankin revealed details about new behavior during SIGHUP handling (terminal hang-up) [8]:

In nethack's development version, which may or may not ever see the light of day, hangup handling was substantially revamped several years ago. There was some minor reordering (in dorecover(), I think) to try to prevent a hangup during restore from clobbering that game. There's also a much bigger change of swapping in a dummy windowing system that suppresses further attempts at screen output and behaves as if the user pressed ESC if/when the core asks for further input. Biggest change is a compile-time option to use deferred hangup handling (and I think it is enabled by default, but am not sure) such that when a hangup signal is detected, it will just set a flag instead of attempting to create a save file, and that flag gets checked in moveloop() and possibly a couple of other places, so hangup during monsters' movement will silently complete all their movement before saving can take place.

Rumors that Pat has since been executed by the other DevTeam members for these frequent breaches of secrecy remain unconfirmed.

If the next version is a major release (i.e. not 3.4.4), it is very likely to break savefile compatibility, as every previous major release has done so. This cannot be known for certain until the release date.

Careful perusal of the official CVS repository, particularly doc/buglist and the revision logs for various files gives some insight into the DevTeam's operation during what appears to be the development of 3.3.0. Some of the bugs and proposed features in the buglist have yet to appear in an official release.

When reporting bugs to the DevTeam, it is possible that the responding member of the DevTeam reveals some information about the current development code concerning the reported bug.

Leaked source code

In September 2014, a leaked source code distribution described as "NetHack 3.5.0 Beta" was circulated on the Internet, e.g. in the Usenet newsgroup rec.games.roguelike.nethack. In response, the DevTeam posted an official announcement on nethack.org confirming the leak, but refuting any claims that it would represent an official release (beta or otherwise), and also retiring the version numbers 3.4.4 and 3.5, which had been incorrectly associated with the leaked code:

Recently a NetHack source distribution has appeared, claiming to be NetHack 3.5 or 3.5.0 or 3.4.4.

This claim is partially correct. This is our code. However it was not released by us or with our authorization. This code is not ready for release: it is unfinished, unpolished, and almost certainly very buggy. It has not been play-tested for balance or functionality. It is best considered a partial and unfinished rough draft. We will not be supporting this code, nor will we be releasing binaries or bugfixes for it. It will not be available through our website.

Due to this incident and to prevent confusion, we will not now nor in the future release anything with a version number of 3.4.4, 3.5, or 3.5.0.

Next version pool

In the NetHackWiki:Next version pool, you can guess the date on which the DevTeam will release the next version.

External links

References