]> git.pond.sub.org Git - empserver/blobdiff - doc/CHANGES4.X
Final polish for 4.3.1.
[empserver] / doc / CHANGES4.X
index 1d212ef341e5d8eb2ca293e3ec63e15eb96bb590..6eac82eb0ea7c703e8798d5f40d44697c94223af 100644 (file)
@@ -1,3 +1,655 @@
+Changes to Empire 4.3.1 - Sat Apr 15 11:40:47 UTC 2006
+ * Fix check of game state on server startup (new in 4.3.0).
+ * sail now accepts a destination sector.
+ * Tend could send bogus bulletins (broken in 4.3.0).
+ * Plug memory leaks in mission command.
+ * Close loophole in navigate that allowed players to find all sectors
+   that are unfriendly or inefficient harbors or bridges.
+ * Server didn't start when default econfig was missing and user
+   didn't supply one with -e (broken in 4.3.0).
+ * Retreat condition 'h' (helpless) never worked, fix.
+ * Fix retreating mine sweepers to use mobility for sweeping.
+ * Fix retreating land units to hit mines with the same probability
+   and to take the same damage as in normal movement.  Before,
+   hit probability was higher, and damage was lower.
+ * Ships could retreat into sectors owned by whoever made them
+   retreat, but not in their owner's sectors.
+ * Fix 'm' at the movement prompt of transport and test.
+ * Fix march and test not to apply conditionals to sectors mapped,
+   which led to spurious error messages.
+ * Fix break not to respect conditionals.  The bug let players keep
+   sanctuaries.
+ * Fix retreat code not to respect conditionals.  Attackers could
+   abuse this to suppress fleet and army retreat orders.
+ * Fix retreat and edit to zero-terminate retreat paths.
+   Theoretically abusable for gaining information.
+ * Fix format string crash bugs in load, spy and bomb.
+ * Fix the telegram editor: empty telegrams were broken in 4.2.21, and
+   ~p before the first line of text never worked.
+ * Fix ancient bridge building race condition that could break the
+   test whether the player can afford the bridge.
+ * Fix trade lot change detection in set command.  Probably abusable.
+ * The pthread code now compiles under Solaris.
+ * navigate and march now permit any whitespace between route and
+   optional argument for radar, lookout, sonar, not just spaces.
+ * Fix canal navigation (was broken in 4.3.0).
+ * Info file fixes.
+
+Changes to Empire 4.3.0 - Sun Mar 19 08:13:10 UTC 2006
+ * version no longer pretends option SHIPNAMES still exists.
+ * Remove files auth and ban.  They could be used to restrict client
+   address and user.  Restricting user is useless, because players can
+   send whatever they want.  Banning IPs is better done with a packet
+   filter.  That leaves restricting deity IPs.  Provide new econfig
+   key privip for that.  Apply it to session kill as well as login.
+ * xdump escapes GUINEA_PIGS status:
+   - xdump is now enabled unconditionally.
+   - xdump sect now dumps selector coastal, because it can't be
+     reliably computed from other xdump information.
+   - New xdump realm and country.  Realm information is now stored in
+     a separate file, with appropriate selectors.
+   - Reviewed for completeness and information leaks.  See info xdump
+     for remaining issues.  New treaty selector uid, nat selectors
+     relations, contacts.  Removed useless selectors: news and lost
+     uid, nat dayno.
+   - Command syntax changed.
+   - xdump opt is no more, option information is now in xdump ver.
+   - xdump can now dump meta-data.
+   - Header and footer changed to be more compact.  You now need
+     meta-data to identify fields.
+   - Bug fixes.
+   - Documentation in doc/xdump.
+ * New econfig key builtindir.
+ * New econfig key custom_tables lets you customize configuration
+   tables without recompiling.  Customizing tables other than unit
+   tables is not recommended for now.  See doc/econfig for
+   instructions.
+ * Check configuration and game state are sane on server startup.
+ * Remove option NONUKES and NEUTRON.  Deities can load a suitable
+   nuke table to get the same effect.
+ * Remove option DRNUKE.  Use econfig key drnuke_const to control
+   whether nukes need research.
+ * Disqualify land units from performing missions while loaded on
+   ships or trains.
+ * Fix dump for strings without terminating zero.
+ * Fix login command option not to send an extra prompt.
+ * zdone now displays information about demand update vetoing.
+ * The Windows port now requires Winsock version 2.
+ * Remove econfig key powe_cost.
+ * version report now shows all the configurable settings of interest
+   to players.
+ * carg and lcarg now display people as well.
+ * ldump now dumps civ and uw as well.
+ * Fix dangling pointer dereference in dogfighting code.
+ * Tell sector owner when partisans take over.  But don't disclose che
+   casualties then.
+ * emp_server, files, fairland now support options -h and -v.
+ * Simplify baroque version numbering to a single version number.
+   This affects output of version.
+ * New show item and show news.
+ * New build process:
+   - Follow the usual steps: configure; make; make install.  The
+     latter is optional.  The only file deities still have to edit is
+     econfig.
+   - Use GNU Autoconf for system configuration.
+   - Use GNU Make for portability and features.
+   - Support separate build trees.
+   - Remake out-of-date dependencies automatically.
+   - Remake out-of-date info files automatically.
+   - Flatten info directory.
+   - Formatted info files are no longer distributed in source tarball.
+   - Use LWP only with UCONTEXT.  Autoconfiguring the other LWP
+     low-level options doesn't seem to be worth the effort, as
+     UCONTEXT should be pretty portable.
+ * Fix use of freed memory in sail.
+ * sail could let large ships enter big cities.
+ * Fix reject and accept not to require contact.
+ * Fix sharebmap and telegram to prompt for a missing first argument.
+ * Fix report to align column research correctly for deities.
+ * When the optional newspaper argument doesn't work because HIDDEN is
+   enabled, complain instead of ignoring it silently.
+ * When BLITZ is enabled, fairland no longer permutes country numbers
+   in newcap_script so that start islands are ordered from top left to
+   bottom right.
+ * Minimize output format differences between options:
+   - census shows column fall regardless of FALLOUT.
+   - show nuke now shows column res regardless of DRNUKE.
+   - report no longer suppress column status when HIDDEN is enabled.
+     HIDDEN limits status information like for the country command.
+   - relations column width differed depending on option SLOW_WAR.
+     Always use the wider format.
+ * Fix a bug in edit that suppressed the player notification telex on
+   military reserve change.
+ * Fix command dispatch not to let deities use commands that are
+   declared not to be available to them.  The only command affected is
+   break.
+ * Fix the list command for visitor.
+ * econfig key m_m_p_d no longer applies to deities.
+ * Fix the origin command for country #0.  Allow moving origin to
+   another country's origin.  Allow deities to reset origin to
+   absolute 0,0.  This turns origin into a superset of the offset
+   command.  Remove offset command.
+ * Fix a bug that caused unpredictable flak damage when it should have
+   been maximum damage (was broken in 4.2.19).
+ * Don't store initial capital location, remove the associated nat
+   selectors xstart, ystart.
+ * Fix production command to consider resource depletion.
+ * Fix justification of coordinate output in cutoff and mission.
+ * Option UPDATESCHED is no longer optional.  Disabling it didn't
+   work anyway.
+ * Support IPv6.
+ * Turn options into ordinary econfig keys.
+ * New econfig key start_cash.
+ * BTU regeneration now depends on the capital's work percentage.
+ * nation now supports an optional argument that lets deities ask for
+   somebody else's nation report.
+ * Fix nation to display SANCTUARY instead of VISITOR for countries in
+   sanctuary.
+ * Fix capital to let you use a regained sacked capital without
+   activating another one in between.
+ * Don't move capital when it is sacked.
+ * New ship capability canal, replacing obscure formula based on build
+   materials.
+ * You now need a capital to request a demand update.
+ * power now ignores landspies.
+ * Fix LWP stack checking.
+ * Clean up LWP, drop dead machine-specific code, fix portability bugs
+   in UCONTEXT code.
+ * census now shows the old owner instead of `*'.  dump is unchanged
+   to avoid breaking clients.
+ * peek no longer prints the old owner.
+ * When a bombed land unit retreated, collateral damage was applied to
+   the wrong sector.
+ * paradrop, drop and fly can no longer abandon the base sector.
+ * Tending foreign ships now sends a bulletin to the owner.
+ * Fix bug that permitted login for inactive countries, including ""
+ * Fix tend for spies.
+ * Change launch to fire all missiles selected at the same target.
+   Previously, it prompted for a new target after each missile.
+ * add, consider, build, launch and fire no longer re-prompt when
+   supplied with a bad argument, they just fail.  Consequently, the
+   build command no longer lets you list types you can build.  It
+   points to the show command instead.
+ * Fix add not to truncate country number.
+ * Fix selector coastal to be accurate at all times.
+ * Fix obscure bug in fairland: the sector added last to an island
+   wasn't considered coastal.  Affected resource computation.
+ * Fix sector wiping in add command.
+ * Remove options NO_LCMS, NO_HCMS, NO_OIL.  They were broken in many
+   ways.  Custom configuration tables should become a serviceable
+   replacement eventually.
+ * Client no longer freezes on long lines of server output.
+ * Fix uninitialized signal mask bugs.
+ * Fix Windows service code's treatment of -e.
+ * Sub interdiction disclosed sub owner through news' actor selector.
+ * country reports on all countries, but carefully limits information
+   disclosed to mortals.  Output format changed.
+ * Market no longer forces sellers to grant loans.
+ * Fix potential crash bug in set command.  Friendlier prompt and
+   diagnostics.
+ * Substantial code cleanup and portability fixes.
+ * Extend empfile abstraction to cover game configuration.
+ * Overhaul of game state storage.
+ * The above includes major contributions from Ron Koenderink.  Many
+   thanks!
+
+Changes to Empire 4.2.23 - Sun Oct 23 09:28:26 UTC 2005
+ * Make version pretend option SHIPNAMES still exists, for the benefit
+   of clients that still depend on it.
+ * The change to conv in 4.2.22 could crash or compute incorrect
+   maximum population.
+ * Info updates missing in 4.2.22.
+ * A few code cleanups.
+
+Changes to Empire 4.2.22 - Tue Oct 11 20:23:51 UTC 2005
+ * Log player login, logout and session kill.
+ * Close loophole in assembly point rules that allowed players to find
+   all unowned sectors.  The assembly point must now be owned by you
+   or an ally, or you or an ally must have a ship there.
+ * Don't let embarked land units fire flak.
+ * Fix display of the last connection's host when the host name was
+   not resolved.
+ * Fix change command to accept full length representative (password),
+   currently 19 characters.  It used to chop off after eight
+   characters.
+ * Non-recon missions no longer establish contact to owners of
+   overflown sectors, because those missions do not identify the
+   owner.  This matches info Hidden.
+ * The following events now establish contact:
+   - Catching a spy
+   - Sighting a ship when toggle coastwatch is off
+   - Spotting overflying planes
+   - satellite spotting land units
+   - lookout and llookout spotting ships, planes and land units
+   - Any relations change
+ * The country command's `temporary' state of disorder ended after
+   ten years.
+ * Telegram notifications could get lost in exotic circumstances,
+   e.g. while a second client attempted to connect.  Abusable.
+ * Remove option SNEAK_ATTACK.
+ * Fix lboard not to let you board dead land units.
+ * Fix stack smash in bomb, drop, fly, paradrop, recon and sail.
+   Remote hole!
+ * bomb, drop, fly, paradrop, recon and sail now deal with EOF
+   correctly.
+ * Fix fly to let the player abort the command at the last prompt.
+ * Client no longer reads execute scripts in binary mode under
+   Windows.
+ * New econfig key listen_address.
+ * econfig key port can now be a service name.  Service empire no
+   longer takes precedence over econfig.
+ * Client falls back to compiled-in host only if environment doesn't
+   supply one, not if it can't be resolved.  Same for port.
+ * Oil derrick could extract slightly more oil than was in the ground.
+ * test command checked start sector for space and some other things
+   instead of end sector.
+ * convert now silently limits conversions to avoid exceeding maximum
+   population.
+ * shoot no longer limits you to 999 victims.
+ * 4.2.19 broke pin bombing commodities on some platforms.
+ * Don't block on output while update is pending.  This is required to
+   ensure the update can abort commands.
+ * Commands submitted while the update is waiting for commands to
+   abort now fail.
+ * The force command no longer waits for the specified time.  It
+   starts a scheduling thread instead, just like shutdown.
+ * Correct grammar and punctuation in output of version.
+ * Option SHIPNAMES is no longer optional.
+ * Fix output of qorder and sorder for ships with sail path.
+ * Don't change capital to agribusiness on retake.  From Pat Loney.
+ * bdes prompt for new designation was messed up for empty bmaps.
+ * Client now supports pipes under Windows.
+ * Care for subtle Windows socket incompatibilities.
+ * Fix strength command not to lie about units reacting into
+   mountains.
+ * strength now yields the processor periodically, to keep the game
+   responsive.
+ * Schedule commands more fairly.  Previously, a sufficiently fast
+   player could starve out the others.
+ * launch assumed plane maximum mobility 127 for calculating when
+   satellites will be ready to use.
+ * Drop support for for DCE threads.
+ * Drop support for pthread implementations lacking pthread_kill().
+   This includes ancient versions of OS X.
+ * Code cleanups.
+ * Minor info file fixes.
+ * The above includes major contributions from Ron Koenderink.  Many
+   thanks!
+
+Changes to Empire 4.2.21 - Sat Jul 16 17:51:01 UTC 2005
+ * Don't let threads block on output to another player thread's
+   socket.  Such blocking violates basic design assumptions and can
+   cause all kinds of grief.  In particular, it causes player session
+   hangs under Windows with 4.2.20.  Broken since the introduction of
+   flash and asynchronous telegram notification many years ago.
+ * Threads sleeping until a specified time could return early under
+   Windows.  This could cause double-updates.
+ * Fix fallout damage (was broken in 4.2.19).
+ * Fix show sector s (was broken in 4.2.19).
+ * Fix deliver not to deliver friendly civilians into occupied
+   sectors.
+ * Fix mil duplication in board (was broken in 4.2.14).
+ * Fix stack smash in lrange, shoot and execute.  Remote holes, and
+   the last one doesn't even require authentication.
+ * Fix crash bug in emp_config parsing.
+ * Fix buffer overruns in turn and shutdown.
+ * Fix second argument of shutdown.
+ * tele and turn now abort on EOF.
+ * Fix display of MOTD and game down message of maximum size.
+ * Correctly support telnet line termination on input.  Previously,
+   carriage returns could slip into ship names and such.
+ * Fix flash not to lie about recipients that are just logging in.
+ * Remove obscure login command list.
+ * Convert client from obsolete termcap to terminfo, and clean up
+   terminal handling.
+ * New fairland option -h to print usage information.  Improved
+   command line syntax diagnostics.  Exit unsuccessfully on unknown
+   options.
+ * fleet and army now copy retreat orders of the fleet's or army's
+   first member with group retreat orders in the same sector.
+   Previously, they used the retreat orders of the first fleet or army
+   member, which is less than useful, and failed to take ownership
+   into account, which is an abusable bug.
+ * New xdump nation.
+ * Fix xdump not to disclose other countries' losses.
+ * Fix exit status of files program when it can't create files.
+ * Support UTF-8 encoded Unicode in human-human communications.  This
+   affects MOTD, game down message, telexes, announcements and flash
+   messages.  See new doc/unicode for technical details.
+ * New login command `options' for client/server option negotiation.
+   See new doc/clients-howto for technical details.  The only option
+   so far is UTF-8.
+ * emp_client -u now requests UTF-8.  This requires a terminal that
+   understands UTF-8.
+ * Fix news for land unit defensive support.
+ * Properly mark sea mines hit by retreating ships.  Unmark mines
+   cleared by bridges.
+ * Fix diagnostics for unknown selector names in conditionals (was
+   broken in 4.2.20).
+ * Fix selector name clashes: rename ship selector mobquota to mquota,
+   land selector for reaction range limit from rad to rmax.
+ * Fix Windows services for relative file names on command line or in
+   econfig (was broken in 4.2.20).
+ * econfig keys ship_grow_scale, plane_grow_scale and land_grow_scale
+   are now float.  This gives deities finer control over maximum
+   efficiency gain.
+ * Fix production command for sectors with 60% efficiency.
+ * Improve syntax of read for deities.
+ * Code cleanups.
+ * Some info topic names differed only in case, which loses on
+   case-insensitive file systems, and is a bad user interface even
+   when it works.  Change those names.  Rename deity command hidden to
+   peek because its info topic clashed with that of option HIDDEN.
+ * Thanks to Doug Wescott sheep are finally covered properly in info.
+ * Documentation fixes.
+ * Much of the above was contributed by Ron Koenderink.  Many thanks!
+
+Changes to Empire 4.2.20 - Tue Mar 22 21:07:18 UTC 2005
+ * When units in different sectors marched, only units in the sector
+   with the highest-numbered unit were interdicted.  A marching
+   non-spy made all marching spies visible to interdiction regardless
+   of location.
+ * Fix crash when interdiction sinks second ship in a sector.  Broken
+   in 4.0.10.
+ * Fix an ancient bug in simulation of level production that clobbered
+   stack and could lead to low predictions, typically zero, which
+   screwed up budget.  The bug had no effect until 4.2.19.
+ * When a sector revolts, and there wasn't enough space to liberate
+   all uw, the number of remaining uw got the wrong sign.  Broken in
+   4.2.14.
+ * Log and abort when LWP stack check detects stack smash.  Server
+   option -s no longer implies -p.
+ * The native Windows build now supports -p and -s.
+ * The native Windows build now properly deals with ^C when running in
+   the foreground.  It no longer prompts for a quit command on the
+   terminal.
+ * The meaning of server option -D in presence of -e is unclear.
+   Other programs only support -e.  Remove option -D.  Use -e
+   DIR/econfig instead of -D DIR.
+ * New server option -v shows version information.
+ * Fix the server's exit status with -h.  Broken in 4.2.19.
+ * The linux-pthreads build failed to shut down on signals.
+ * Fix threading bugs in the native Windows build that made shutdown
+   unsafe and screwed up update aborting commands.
+ * New econfig key pre_update_hook to allow automatic, safe backup
+   right before the update.  See scripts/backup for an example.
+ * The server now prints log messages to stderr as well when running
+   in the foreground.
+ * Fix potential buffer overflows in logerror() and lwpStatus().
+ * Server now requires POSIX signals.  It no longer catches SIGUSR1.
+ * Remove support for ancient versions of HP-UX.
+ * Fix seeding of PRNG broken in 4.2.19.
+ * Don't reseed the PRNG in commands, it hurts randomness and could be
+   abused by crafty players.
+ * The server now makes the data directory its working directory.
+   This also gets rid of a bug that changed the file name of the
+   sector, power, nation and lostitems file unless econfig could not
+   be read.
+ * The server now writes a pid file.  Thanks to Daniel O'Connor.
+ * More user friendly server startup: more errors are detected while
+   the server still runs in the foreground, which makes it possible to
+   complain to stderr and to exit unsuccessfully.
+ * Early log messages went to the log file in the default data
+   directory, even though econfig specifies another data directory.
+ * Specifying an econfig file on the command line that can't be read
+   is now fatal.
+ * Errors in econfig are now fatal.
+ * The server now refuses to start when it can't open data files.
+ * News are now sorted and expire sanely.
+ * Conditionals can now compare strings as well.
+ * Corrupted down and motd files could cause buffer overflows.
+ * Fix recon to let player abort at the flight path prompt.
+ * power no longer rounds worldwide numbers for deities.
+ * power command failed to recognize deities with non-zero country
+   number.
+ * Change output of production command so that columns are aligned
+   even for large values.  Replace column wkfc by more useful column
+   avail.
+ * neweff and production miscalculated work when mil exceeded
+   population limit.
+ * neweff miscalculated work when the population limit exceeded 999.
+ * Fix capping of avail when a big city is torn down.
+ * Fix a bug in fire that allowed players to find all submarine uids.
+ * Maximum sector population is no longer hardcoded, and now covered
+   by xdump.  Option RES_POP now affects mountains and plains as
+   well.  From Ray Hyatt.
+ * Fix fina and news not to ignore errors in conditions.
+ * The native Windows build now requires Windows Sockets 2.
+ * The native Windows build now supports multiple instances of the
+   service.  The ability to supply additional startup parameters to
+   the service has been removed.
+ * Implement fairland command line parsing under Windows.
+ * Improved fairland and emp_server usage message.
+ * Code cleanups.
+ * Minor info file and documentation fixes.
+ * Much of the above was contributed by Ron Koenderink.  Many thanks!
+
+Changes to Empire 4.2.19 - Thu Dec 23 20:24:24 UTC 2004
+ * Fix order not to unload into full sectors.
+ * Fix scrap not to dump stuff into full sectors.  Excess stuff is now
+   destroyed.
+ * Fix distribute not to conjure up a civilian when importing
+   civilians from a dist center that doesn't have any.
+ * Fix flak to resupply no more shells than actually needed.
+ * Fix rounding error in shoot that could result in more people shot
+   than actually there.
+ * Fix info and apro error handling.  In particular, do not leak
+   potentially sensitive information on the server to players.
+ * info no longer shows a random matching page when the topic argument
+   is ambiguous.  Instead, it lists all matching topics.
+ * Embarked land units and overflying planes no longer spot each
+   other.
+ * Fix show command to show only sectors that players can designate
+   (was broken in 4.2.18).
+ * Fix a rounding error in production command column `max'.
+ * Fix production command for overpopulated mountains and plains.
+ * Fix tradeship ally cut to match documentation.
+ * Fix plague, which was was broken in 4.2.14: it got stuck in stage I.
+ * Fix a bug in aerial sonar where ships could mask submarines with
+   the same number modulo 256.
+ * Don't allow bombing of subs that were not detected.
+ * MOTD and the game down message are now entirely separate: use `turn
+   motd' for the MOTD, and `turn on' and `turn off' for the game down
+   message.  `turn on' no longer lets you edit the MOTD.
+ * Remove option NUKEFAILDETONATE.
+ * Option ORBIT is no longer optional.
+ * New option GUINEA_PIGS to control experimental stuff not ready for
+   prime time.  If your deity enables this in a serious game, run!
+ * Many xdump fixes.  xdump is now enabled by option GUINEA_PIGS.
+ * New ship and land selectors rflags, rpath.
+ * New ship selectors for order: xstart. xend, ystart, yend,
+   cargostart, cargend, amtstart, amtend
+ * New ship selectors for sail: mobquota, path, follow.
+ * New news selector uid.
+ * Implement command line parsing under Windows where it was missing.
+ * emp_server and and files print a usage message on command line
+   syntax errors.
+ * Fix how emp_server exits after being panicked by a signal.  It can
+   now dump core when this happens.
+ * Fix bug in client that could crash it when a line of input starts
+   with '?'.
+ * Client now gets user name from environment variable LOGNAME if set,
+   else from system.
+ * The native Windows build can now run as a service.
+ * Redirecting client input now works under Windows.
+ * Code cleanups.
+ * Don't confuse work with loyalty in info Citizens.
+ * Minor info file and manual page fixes.
+ * Much of the above was contributed by Ron Koenderink and Marc
+   Olzheim.  Many thanks!
+
+Changes to Empire 4.2.18 - Tue Sep  7 14:08:59 UTC 2004
+ * Fix info to accept abbreviated arguments under Windows.  From Ron
+   Koenderink.
+ * Buying planes or land units loaded on something didn't work when
+   that something moved.
+ * Fix a bug that could produce update cascades with update policy
+   UDP_TIMES.
+ * Fix delivery and distribution to grant packing bonus only to
+   efficient sectors, just like move.  Previously, delivery ignored
+   efficiency, and distribution behaved as if it were an efficient
+   sector without special bonuses.
+ * New sector selectors loyal, access; ship selectors radius, access,
+   xbuilt, ybuilt, builder, name; plane selectors radius, access,
+   theta; land unit selectors radius, react, nland, access; lost
+   selector id.
+ * Fix sector selectors che, che_target; plane selectors att, def;
+   nuke selector types; treaty selector exp; news selector time;
+   commodity selectors type, xbuy, ybuy.
+ * Option PLANENAMES is no longer optional.
+ * Ensure config parameter variables and their description in
+   configkeys[] are consistent.  Inconsistencies there caused bugs in
+   the past.  From Marc Olzheim.
+ * Complain if econfig file can't be read.
+ * Better messages for errors in econfig file.
+ * Remove unused econfig keys hard_tech and last_demand_update.
+ * New econfig key news_keep_days to configure news expiry.
+ * New econfig key anno_keep_days to configure announcement expiry.
+ * Fix announcement expiry.  It leaked file descriptors and memory,
+   and could corrupt the anno file.  From Ron Koenderink.
+ * New command xdump: experimental extended dump.  Disabled for now.
+ * Bankers no longer round down debts, and they collect interest for
+   the time debtors are idling at sub-prompts.
+ * Loan interest calculation was broken at the due date and after a
+   last payment made at the due date.  With luck, debtors could abuse
+   this to repay loans cheap (they couldn't gain cash, though), sharks
+   to purchase loans cheap, and creditors to collect excessively.
+ * Fix major bug in transport that allowed two cooperating countries
+   to duplicate items.
+ * Don't report interdiction damage twice when transporting planes.
+ * Fix message for attempting to transport a plane in a sector not
+   owned by the player.
+ * Fix confusing diagnostics when refusing to improve defense because
+   option DEFENSE_INFRA is off.
+ * Simplify confusing code in budget.
+ * Fix spacing in output of budget and show.
+ * Change one-way plane sorties to match ordinary sorties: offer
+   carriers regardless of the sector they're in, require carriers to
+   be efficient.
+ * Allow `realm #'.
+ * Don't print owner of incoming missile twice when intercepting it.
+ * Simplify constituent storage in product characteristics.
+ * Replace remaining `variables' leftovers; mainly in unit
+   characteristics.
+ * Remove leading spaces in deity unit dumps.
+ * Replace inappropriate uses of compile time constant ETUS by 60.
+   Deities don't change ETUS, they change etu_per_update by editing
+   econfig.  This nonsense dates back at least to chainsaw 3.31.
+ * Change ship production (fishing and drilling for oil) to match
+   sector production.  Ship efficiency and tech are now relevant, and
+   all people on board work.  From Ron Koenderink.
+ * Code cleanups.
+ * Minor info file fixes.
+
+Changes to Empire 4.2.17 - Mon Aug 16 16:21:53 UTC 2004
+ * Fix seeding of PRNG under Windows.  The bug made updates occur at
+   a predictable time in the update window.  From Ron Koenderink.
+ * Close major loophole in drop that allowed players to determine
+   whether an arbitrary sector is sea, allied land, or other land.
+ * fly could fly civilians into occupied sectors.  For consistency
+   with other means to move around stuff, this is no longer possible.
+ * Don't allow flying to a carrier that doesn't have space for the
+   planes.  Previously, planes that did this were teleported home,
+   which could be abused.
+ * Close loophole in bomb that allowed players to find all
+   sanctuaries.
+ * Fix move and explore not to crash when moving civilians to a sector
+   without civilians, and interdiction destroys them all.  Found and
+   debugged by Jeff Cotter.
+ * Fix printing of messages entered with turn command.  '%' characters
+   could cause havoc, even crashes.
+ * Use sector's actual maximum population to compute chance of plague
+   outbreak.  Previously, code used 9999 for big cities and 999 for
+   other sectors, and info Plague said 999.  This makes all crowded
+   sectors equally vulnerable, even mountains, plains, and inefficient
+   big cities.
+ * Oil derricks no longer drill and deplete more oil than they can
+   hold.  From Ron Koenderink.
+ * Version 4.2.15's coordinate and list parsing fixes reject trailing
+   junk.  That's too strict.  Silently ignore trailing junk as long as
+   it starts with whitespace.
+ * Version 4.2.15's selector rewrite broke some type literals,
+   e.g. `?des=n' was interpreted as `?des=newdes'.  Change to prefer
+   type literals to selectors.
+ * Nightly build patches game to get repeatable PRNG results.  From
+   Marc Olzheim.
+
+Changes to Empire 4.2.16 - Wed Jun 16 18:56:16 UTC 2004
+ * Previous version broke sector production when part of the work is
+   used for sector construction.  Fix courtesy Jeff Cotter.
+ * Add rudimentary tests to nightly build.  From Marc Olzheim.
+
+Changes to Empire 4.2.15 - Wed May 26 17:55:58 UTC 2004
+ * test command no longer asks whether to abandon the sector.
+ * explore command could generate a bogus `lost' record when it
+   regains an abandoned start sector.
+ * edit command now properly updates stats when editing tech level of
+   ships, planes or land units.  A few of these stats can be edited
+   separately, which doesn't make much sense, and is now deprecated.
+ * edit command no longer accepts efficiency values that would destroy
+   the edited unit.  Deities can still delete units by setting the
+   owner to zero.
+ * upgrade command used to charge an amount of avail that didn't match
+   info upgrade.  Neither the implemented nor the documented amount
+   made much sense.  Change it to 15% of the full build cost.  Rewrite
+   info upgrade.
+ * Commands upgrade and build could be off by one when reporting
+   required avail.
+ * upgrade command reported rounded cost but charged unrounded
+   cost.  Round cost of upgrade down to match behavior of build.
+ * Upgrading planes now preserves range when it is less than the
+   maximum range.  It used to set it to the new maximum range.
+ * show bridge and show tower no longer claim bridge building requires
+   `workers' (whatever that is), since it doesn't.
+ * Replace option ROLLOVER_AVAIL by econfig parameter
+   rollover_avail_max, which is the maximum amount of avail that rolls
+   over.  Previously, avail was limited after rollover, and even when
+   ROLLOVER_AVAIL was off.  Fix that.
+ * Ships weren't always charged mobility for firing with option
+   NOMOBCOST off.
+ * Fix shell use of return torpedoes.
+ * designate no longer complains twice about deity only designations.
+ * Ensure designate zaps efficiency only when sector type really
+   changes.
+ * Fix strength to always report mines to deities.
+ * Remove option SHIP_DECAY.
+ * Fix bug in sonar that could crash or yield unpredictable results
+   near the true origin.
+ * Fix buffer overflow in flash and wall.
+ * Fix wall not to strip out first word of message.
+ * Change market and order to use item types instead of mnemo
+   characters internally.
+ * Market now reports sales with full item names instead of single
+   letter codes.
+ * buy now requires first argument to be an item name, as documented.
+ * production command handled production backlog incorrectly, failed
+   to limit production for production efficiency greater than one,
+   e.g. agribusiness, and incorrectly limited raw material
+   consumption.  Also fix a rounding error.  With help from Ron
+   Koenderink.
+ * Sector work was accidentally truncated to even.
+ * Fix coordinate parsing for large numbers when WORLD_X or WORLD_Y
+   don't divide SHRT_MAX+1.
+ * Properly diagnose over-long unit lists.
+ * Rewrite selector code.  Old code let players smash the stack by
+   supplying too many conditions.  New code properly rejects ambiguous
+   abbreviations and prefers exact matches.  Selectors with names that
+   collide with types, like land units' rad and spy, now work.  Selectors with
+   non-integral values, like land units' att, now work.
+ * survey used to display hundreds for everything but variables.  Now
+   it displays hundreds only for values that can be large.
+ * Rewrite info survey.  Document ability to survey properties other
+   than items and resources.
+ * Rewrite info build, since it was inaccurate and poorly structured.
+ * Fix info fire on required military.  From Marc Olzheim.
+ * New fairland argument -R to set the PRNG seed.  Print the seed.
+   This allows you to recreate the same world again.
+ * New facilities to deal with internal errors.  These crash when the
+   server is started with -d, which is appropriate for debugging, and
+   potentially disastrous for running a real game.
+ * Automated nightly builds.
+ * Code cleanups.
+
 Changes to Empire 4.2.14 - Mon Mar 22 09:04:12 UTC 2004
  * Options NEWPOWER, NEW_STARVE and NEW_WORK are no longer optional.
  * Gripe about unknown options in econfig.
@@ -1445,4 +2097,3 @@ Changes to Empire 4.0.0 - Initial release
  * Added sstat command to list the statistics of your ships.
  * Added nmap command to show a map of your sectors after their new
     designations have taken place.
-