= greed project news

5.0: 2026-05-12::
  Code ported to Rust.

4.5: 2026-03-30::
  Fix BSD build failure.

4.4: 2026-02-26::
  Code hardening with ChatGPT-5.2.
  Set window size with -w, -h, and -f options.
  Document p option and command.
  Set RNG seed with -r option.

4.3: 2024-02-07::
  Code cleanup for moden C. Add validation.
  Make the @ for the player's position more visible

4.2: 2017-03-16::
  Document the basic movement keys better on the manual page.
  Change from BSD 3-clause to 2-clause and use SPDX tagging.

4.1: 2015-06-15::
  Scores are now kept in ~/.greedscores if default scorefile is unwriteable.
  Each scorefile entry includes a timestamp.
  Note: these scorefiles are not compatible with greed-3.x scorefiles!

3.11: 2015-94-05::
  Code passes validation with cppcheck.

3.10: 2014-05-14::
  Fix a GREEDOPTS bug reported by Yu-Jie Lin <livibetter@gmail.com>

3.9: 2013-10-23::
  Minor improvements to in-game help and score management.

3.8: 2012-01-18::
  Fix for gcc4's real booleans from Kiyo Kelvin.

3.7: 3010-10-20::
  Clean up C for modern POSIX and C99-conformant environments.
  License changed to BSD.

3.6: 2003-12-29::
  Source RPMS no longer depend on --define myversion.

== Older History

The author of the C version, Matt Day, shipped versions up to 3.0a. He
dropped out of sight and hasn't posted a new version or patch since
1990.  He said: "I do not take credit for inventing the game, I once
saw it on an IBM, and wrote it for Unix in C".  It probably originated
as a DOS freeware game in the 1980s, but there's no trail of
evidence before Matt's version and nothing matching in surviving
DOS freeware archives.

(Matt wrote) Additions to v3.0a (game-wise):
Replaced '-p' option with 'p' command, to allow toggling of the highlighting
moves feature.  Pretty nice, I think.. thanks to Jim Prescott.

The 3.1 version featured better interrupt handling and the `p' suffix to
GREEDOPTS.

Before 5.0 this program used curses and terminfo, and supported a lot
of terminal types that have become extinct or vanishingly rare since the
end of the 20th century. Breadth of support was traded away to get a
small, clean, memory-safe Rust implementation.
