]> git.pond.sub.org Git - empserver/blobdiff - doc/CHANGES4.X
Update change log for 4.3.25
[empserver] / doc / CHANGES4.X
index 4e41f88e35ad784f581df276b02d60bc01f57e5d..65767b8b5929277adb5915bafdabc230e0471feb 100644 (file)
-Changes to Empire 4.3.17 - Thu Sep 18 01:28:01 UTC 2008
+Changes to Empire 4.3.25 - Tue Mar 16 20:40:54 UTC 2010
+ * Missile exploding on launch could not damage its base if it was
+   armed with a nuke.  Broken in 4.3.23.
+ * When a torpedo attack triggered a return torpedo, the news reported
+   it to be fired by the attacker instead of the defender.
+ * Interdiction attacked submarines with surface-only weapons.  Broken
+   in 4.3.24.
+ * Fix a bug in lradar, path, radar, route, satellite, sect and survey
+   that could leak maps to other players.  Broken in 4.2.0.  Fixed in
+   4.2.8 for bmap, lbmap, lmap, map, nmap, pbmap, pmap, sbmap and smap
+   only.
+ * files could clobber the game when reading confirmation fails.
+ * fairland no longer rejects small worlds without trying.
+
+Changes to Empire 4.3.24 - Tue Jan 26 21:29:14 UTC 2010
+ * The client sometimes hung under Windows when the server closed the
+   connection.  Broken in 4.3.23.
+ * Fix navigate and march not to crash the server when a path argument
+   consists of a valid path plus whitespace.  Broken in 4.3.7.
+ * When a client sent a blank line in the login phase, the server
+   crashed on some systems.
+ * Fix crash bug in bomb, drop, fly, paradrop, recon and sail.  Broken
+   in 4.3.16.
+ * Fix bogus internal error on escort, recon, and satellite launch.
+   Mostly harmless, as error recovery worked fine.  Broken in 4.3.23.
+ * Stop ship and land unit movement on interdiction even when it does
+   no damage.
+ * When an interdiction did no or only collateral damage, the planes
+   that intercepted it from interdicted carriers used no petrol, and
+   interdicted land units were immune to collateral damage.
+ * The limit for the number of sectors, ships, planes, land units,
+   nukes, and so forth is now large enough not to matter.  It used to
+   be 32768 on common machines.  The sector limit was introduced in
+   4.3.12.  World x- and y-size are still limited to 65536 on common
+   machines.
+ * News use much less space, and thus I/O.  Space was wasted in
+   4.3.12.  Side effects of the change:
+   - Expiry of old news no longer updates news timestamps.  Updating
+     timestamps was wrong, because it defeated incremental xdump news.
+   - The empdump utility can no longer update timestamps of imported
+     news.  Unfortunate, as it breaks incremental xdump news.
+ * New news selector duration, the time span covered by this news item
+   in seconds.
+ * ABMs failed to charge supplies when their sector was the
+   intercepted missile's target.  The stock game's ABMs use no
+   supplies.
+ * Ship anti-missile defense failed to charge shells when the ship was
+   the missile's target.
+ * Code refactoring and cleanup.
+
+Changes to Empire 4.3.23 - Sun Dec 13 16:34:49 UTC 2009
+ * Fix missile interception not to intercept tactical and marine
+   missiles attacking missiles or satellites.  No such missiles exist
+   in the stock game.  Interception of tactical ABMs could crash the
+   server.  Broken in Empire 2.
+ * Missiles missing their target do collateral damage again.  Was
+   disabled because of bugs in 4.0.18 for manual launch and in 4.3.16
+   for automatic launch.
+ * News reported victim as actor for sub-launched anti-sat and ABM.
+ * Defense value of missiles vs. ABMs and satellites vs. anti-sats
+   failed to improve with tech.
+ * Fix a bug that let missiles interdict ships outside their op area.
+   This could happen when a group navigating together was partly
+   inside the op area.
+ * Only bomb strategic and launch at sector can use nukes.  Before,
+   they could also be used by missions, bomb pinpoint, and launch at
+   ships, but there were several bugs and inconsistencies, and the
+   code was messy.  The arm command now rejects marine missiles in
+   addition to satellites, ABMs and SAMs, and clears the mission.  The
+   mission command now rejects planes armed with nukes.
+ * Missiles exploding on launch pad no longer set off their nukes.
+ * The launch command now more accurately reports why a missile can't
+   be equipped.  It no longer draws supplies automatically.
+ * Manually launched anti-sat now always kills when it hits, for
+   consistency with automatically launched ones.
+ * Don't permit nukes on satellites, ABMs and SAMs.  Nukes on
+   satellites could be armed and disarmed even in orbit.  Nukes on
+   ABMs and SAMs were lost without effect when their missile
+   intercepted.  The stock game is not affected, because its
+   satellites, ABMs and SAMs all have zero load.
+ * Remove obsolete plane capabilities stealth and half-stealth.  Not
+   used by the stock game.
+ * Penalize fighter combat value for any load, not just bombs.  The
+   stock game's fighters can't carry anything but bombs.
+ * Make bomb work for non-tactical cargo bomber.  No such planes exist
+   in the stock game.
+ * Revised cargo plane rules: a cargo flight can be either an airlift
+   or an airdrop now.  Airlifts carry more cargo than airdrops.  A
+   cargo drop or paradrop with a non-VTOL plane is an airdrop.
+   Anything else is an airlift.  This makes paradrop loads consistent
+   with drop loads.  Paradrop with VTOL transports now carries twice
+   the punch, and drop with non-VTOL transports hauls less than fly.
+   In particular, the stock game's tr can't drop guns anymore.
+ * Enforce plane selection rules more tightly:
+   - bomb command can select only planes with capability bomber or
+     tactical.  Before, other planes with non-zero load flew along,
+     but their bombs were silently lost.
+   - sweep command can select only planes with capability sweep.
+     Before, other planes performed ordinary reconnaissance instead.
+   - drop command can select only planes with capability cargo.
+     Before, other planes flew along but dropped nothing.
+ * Fix paradrop to fail without destroying the paratroopers when the
+   player owns the target sector.
+ * Launching an anti-sat now takes the target plane as argument.
+   Before, it took a sector argument, and targeted the lowest-numbered
+   satellite there.  Rather inconvenient when your own satellite masks
+   one of the enemy's.
+ * Remove option PINPOINTMISSILE.  Deities can customize the plane
+   table to disable marine missiles.
+ * Ridiculously impotent nukes could do unpredictable interdiction
+   damage.  No such nukes exist in the stock game.
+ * The production command could mispredict resource-depleting level
+   production.  No such products exist in the stock game.  In fact,
+   they'd be highly unusual.
+ * The update could crash or corrupt the game when a (misconfigured)
+   product depleted resource "none".
+ * Revamp the Windows port based on ideas stolen from Gnulib.  Share
+   the code between server and client.
+ * Don't log out player when update aborts a command under Windows.
+   Broken in 4.3.20, and not fully fixed in 4.3.21.
+ * Fix accepting connections from hosts with "long" IPv6 address.  The
+   internal buffer had insufficient space.
+ * Delay shutdown up to 3s to let player output buffers drain.
+ * Fix a race between main thread and player threads, which could
+   theoretically make the server crash on start.
+ * Clean up synchronization between commands, update and shutdown, and
+   when player threads sleep on I/O.
+ * Clean up the cruft that has accumulated in and behind the empio
+   interface, and, to a lesser degree, the empthread interface.
+ * Fix time difference underflows in pthread and Windows code.  They
+   could potentially cause hangs, although none have been observed.
+ * Make budget's "Sector building" line look better.
+ * Make sector maintenance cost configurable.  New sect-chr selector
+   maint.  Capitals now pay maintenance regardless of efficiency.
+ * Overhaul show sect b.
+ * Fix mine production resource limit for sector peffic != 100.  This
+   affects mountains in the stock game, but only with an impractically
+   large number of ETUs per update.
+ * Code refactoring and cleanup.
+ * Info file fixes and improvements.
+
+Changes to Empire 4.3.22 - Sat Apr 25 11:56:29 UTC 2009
+ * Fix a Windows client bug that could lead to hangs, at least with
+   some versions of the C run-time.  Broken in 4.3.11.
+ * Allow building without curses terminfo.  Highlighting in the client
+   doesn't work then.
+ * Really fix bomb not to wipe out plane updates made while it asked
+   for pinpoint targets.  The fix in 4.3.21 didn't cover escorts.
+ * Fix tend land not to wipe out concurrent updates.
+ * Fix a bug in automatic supply:
+   - Ships with just two shells could fire a torpedo to return fire or
+     interdict.
+   - Ships with just one shell could use their anti-missile defense.
+   - Land units were considered in supply even when they had not quite
+     enough supplies.  Such land units could defend without penalty,
+     attack and react.
+   Broken in 4.3.20.
+ * Fix update to take dead units off carriers.
+ * Standalone client distribution built empire instead of empire.exe
+   for Windows.  Broken in 4.3.0.
+ * Fix client to abort script execution on SIGINT.
+ * Fix Windows client not to hang on EOF on standard input when that
+   is a tty.
+ * Fix a client bug that could make it hang when EOF on standard input
+   follows an execute command closely.
+ * Seamines under bridge spans were disabled a long time ago, in
+   Empire 2.  The drop command refuses to mine there.  Change mine
+   command to do so as well.
+ * Seamines under bridge spans were mistaken for landmines by ground
+   combat, land units retreating from bombs, and non-land unit ground
+   movement.
+ * When a bridge tower collapsed, its landmines magically became
+   seamines.
+ * Don't log out player when he interrupts a command.  Broken in
+   4.3.19.
+ * Code cleanup and portability improvements.
+ * Info file and documentation fixes.
+
+Changes to Empire 4.3.21 - Mon Mar  9 21:34:52 UTC 2009
+ * Fix swapsector not to wipe out concurrent changes to the swapped
+   sectors.
+ * Fix a bug in crash dumping that could mess up the journal and, at
+   least in theory, mess up commands info, read, turn, and wire;
+   announcement expiry, and reading of econfig and schedule.
+ * Fix bomb not to wipe out plane updates made while it asked for
+   pinpoint targets.
+ * When bombing ships with a force containing both planes with and
+   without capability ASW, the bomb command could fail to report
+   presence of submarines, and could refuse to bomb ships when there
+   were only submarines.
+ * Leaving land units behind after a victorious attack could in some
+   cases wipe out changes made to them since the victory.
+ * The timestamp selectors added to commodity, load and trade in
+   4.3.12 could lead to spurious command failures.  None have been
+   observed in the wild.
+ * Don't log out player when update aborts a command.  Broken in
+   4.3.20.
+ * Code refactoring and cleanup.
+
+Changes to Empire 4.3.20 - Fri Feb 20 18:14:20 UTC 2009
+ * Option LOANS is now disabled by default.
+ * Option RAILWAYS is now enabled by default.
+ * Many fixes to automatic supply:
+   - Planes flying interception or support missions, abms intercepting
+     ballistic missiles, and the launch command for missiles and
+     anti-sats could all supply more shells than necessary, lose
+     shells, or conjure them up.
+   - Ships shooting down marine missiles could supply more shells than
+     necessary, or lose shells.
+   - Supply ships could conjure up shells when firing guns using
+     multiple shells, or launching torpedoes, or dropping depth
+     charges, or shooting down marine missiles.  No supply ships
+     capable of doing that exist in the stock game.
+   - Supply engineers could conjure up shells when laying mines.  They
+     don't exist in the stock game.
+   - load, lload and supply could supply land units with enough food
+     from the sector containing them to starve the sector.
+   - Sectors were charged too much mobility for moving supplies
+     sometimes.
+   - Land units serving as supply source no longer draw supplies
+     recursively, because the bugs there are too hard to fix to be
+     worth it.
+   - Defending and reacting units only checked whether they could draw
+     supplies, but didn't actually draw them.
+   - load, lload, supply, assault and board no longer supply land
+     units from ships carrying them.  This feature, added in 4.0.14,
+     was inconsistent with other ways to supply.
+   - Don't use automatic supply to avoid starvation at the update.  It
+     adds complexity to the update.  How much good it does to players
+     is highly doubtful; certainly nobody can rely on it.  It isn't
+     covered by the starvation command.  Ships or land units could
+     steal enough food from their sector to make it starve.
+   - lmine could only fetch shells for engineers that use ammo.  The
+     stock game's engineers all do.
+   The changes listed for load and lload are actually lies, because
+   supply has been disabled there since 4.3.17.
+ * Don't let an engineer lay mines while it is on a ship or land unit,
+   or in a foreign sector.
+ * Sectors and ships no longer need shells to fire flak.
+ * Use IPv4 and v6 only when suitable interfaces are configured.
+ * Fix turn off not to fail when the message is empty.  Broken in
+   4.2.20.
+ * Don't nag the deity about game hours restriction in force all the
+   time.
+ * Tell deity when the game is down, just like players.  Also make the
+   information available in xdump, as game selector down.
+ * Corrupt mailboxes could crash the server.
+ * Fix reject accept.  Broken in 4.3.4.
+ * If a player was at a prompt when the deity turned the game down, he
+   was allowed to enter one more command.
+ * Air defense is no longer separate from interception.  Putting a
+   plane on air defense now merely changes where it intercepts.
+   Separate air defense added too much pointless complexity.  Its
+   implementation violated design assumptions of the intercept code.
+   Because of that, the same plane could intercept both an air defense
+   mission and the planes that triggered it, and the damage it
+   received in the first interception was wiped out.
+ * Intercept the same all along the flight path.  In each sector, any
+   country owning the sector, a surface ship or a land unit there gets
+   to intercept.  Before, only the sector owner got to intercept,
+   except for the assembly point and the target sector.  In the target
+   sector, any country owning surface ships or land units got to
+   intercept in addition to the sector owner.  Thus, a sector owner
+   with surface ships or land units there got to intercept twice.  The
+   sector owner did not get to intercept at the assembly point,
+   even when it was the target sector.
+ * Spotting rule changes:
+   - Ships and land units now spot overflying planes along all of the
+     flight path instead of just the target sector, and no longer
+     report allied planes.
+   - Planes now spot ships and land units only when flying recon or
+     sweep, and along all of their flight path instead of just the
+     target sector.  It still takes a spy plane to identify ships and
+     land units.
+   - Planes now spot ships and land units in a sector even when all
+     planes abort there.
+   - Planes now spot all foreign ships and land units, not just
+     hostile ones.
+ * Fix SAM interception for intercepts other than the first.
+ * Fix air defense and flak over sectors allied to the planes.  Air
+   defense was broken in Empire 2.  Flak was broken in 4.2.8.
+ * Establishing contact by spotting planes from sectors didn't work.
+ * Fix reconnaissance patrols to use sonar when any capable plane is
+   present.  Before, all planes had to be capable.
+ * Fix recon and sweep not to spy after all spy planes are gone.
+ * Fix a bug that made multiple clients running on the same Windows
+   machine interfere with each other.  Broken in 4.3.11.
+ * Fix enforcing game hours for players already logged in.  Broken in
+   4.3.19.
+ * Fix distribution not to abandon a distribution center by exporting
+   the last military.
+ * Many fixes to load, unload, lload and lunload:
+   - Now usable for deities.
+   - Plug loopholes that let you steal foreign commodities by making
+     load/lload unload and unload/lunload load through use of negative
+     amount arguments.
+   - Fix not to let you give away civilians.
+   - You can't use lload in foreign sectors or lunload with foreign
+     land units anymore.  Loading stuff in foreign sectors was
+     prohibited already for ships.
+   - lload and lunload now work on foreign land units only when
+     they're explicitly named by uid.  This matches behavior of load
+     and unload.
+   - Fix to test relations of foreign object's owner to player instead
+     of the other way round.
+ * Make sure land units with maximum mobility can attack mountains.
+ * Fix land unit attack mobility cost.  Broken in 4.3.6.
+ * Conditions comparing string-valued selectors like wing to unquoted
+   values are now interpreted more smartly.  Before, unquoted strings
+   were prone to be interpreted as selector names even when that made
+   no sense.  You still have to disambiguate truly ambiguous cases
+   like w=w for planes, e.g. as wing=w or w='w'.
+ * Fix reporting of shot spies in news.  Broken in 4.3.16.
+ * Remove econfig key mission_mob_cost.  Questionable feature, and
+   hasn't been used in a long time.
+ * Reserve and escort missions now have an op-area, like all the other
+   missions.
+ * Land units now react only when on a reserve mission.  The lrange
+   command is gone.
+ * Fix a bug that could mess up mission op-area when the range of
+   ship, plane or land unit on the mission decreases, e.g. through the
+   range command.
+ * Reserve missions no longer give a bonus to reaction range.
+ * Info file fixes.
+ * Code refactoring and cleanup.
+
+Changes to Empire 4.3.19 - Sun Dec  7 23:15:34 UTC 2008
+ * LWP doesn't work with Darwin due to OS bugs, avoid it for now.
+ * Don't let ships double-retreat first on 'i' (injured) and then on
+   'h' (helpless) when shelled.
+ * Fix a bug that suppressed the "sunk!" message.  Broken in 4.3.17.
+ * Log out player when maximum time per day is exceeded.  Before, he
+   could remain logged in with visitor privileges only, but once
+   logged out could not log back in.
+ * If a player was at a prompt when either game hours restriction
+   started or maximum time per day was exceeded, he was allowed to
+   enter one more command.
+ * Deitying a capital failed to charge money and report news.  Broken
+   in 4.3.17.
+ * Overhaul accounting of play time, fixing minor inaccuracies.
+ * Fix parsing of 24:00 in econfig key game_hours and
+   update_demandtimes.
+ * New option RAILWAYS.
+ * Che ages just like military reserves (1% per 24 ETUs).
+ * Permit ships to assault the sector they're in.
+ * Sectors eating less than one unit of food don't make one unit of
+   food for free anymore.  They still can't starve.
+ * New concept sector terrain.  Deities can use it to make sectors
+   other than wilderness redesignatable.  See sect.config for more
+   info.
+ * Represent play time in seconds rather than minutes.  This affects
+   xdump: nat selector minused (counting minutes) is replaced by
+   timeused (counting seconds).
+ * Improved nightly build, with additional tests.
+
+Changes to Empire 4.3.18 - Sat Oct 18 18:39:17 UTC 2008
+ * Fix building of planes, land units and nukes with uids that have
+   never been used before.  This could crash the server on some
+   systems in certain states.  Broken in 4.3.17.
+ * Improved nightly build, with restructured and extended tests.
+
+Changes to Empire 4.3.17 - Sat Sep 20 16:07:44 UTC 2008
+ * Fix standalone client build for Windows.  Broken in 4.3.11.
+ * Disable automatic supply of land units on load for now, it's broken
+   in a highly abusable way.
  * Make trade show exactly what's on sale, remove option SHOW_PLANE.
  * Stop ships, planes, land units and nukes on violent takeover, just
    like sectors.
  * Wipe orders when ships, planes, land units and nukes are taken over
    violently or given away peacefully.  Fleet, wing, army and mission
    were already cleared in many, but not all cases.  Other orders were
-   never cleared: mission op areas (visible in xdump), ship autonav
+   never cleared: mission op-areas (visible in xdump), ship autonav
    orders, ship sail path (including ship to follow and mobility
    quota), land unit retreat orders, plane range limit, and land unit
    retreat percentage.
@@ -19,8 +383,8 @@ Changes to Empire 4.3.17 - Thu Sep 18 01:28:01 UTC 2008
  * Fix a bug that made set and xdump not recognize unused trade lots
    as such.
  * Fix giving away stuff by trading it:
-   - Take sold nuke off its plane.  You couldn't sell armed nukes
-     separately before 4.3.3.
+   - When an armed nuke is sold separately from its plane, take it off
+     the plane.  You couldn't do that before 4.3.3.
    - Give away nuke armed on sold plane along with the plane.  Broken
      in 4.3.3.
    - Don't zero mobility of planes and land units on sold ships.
@@ -1238,7 +1602,7 @@ Changes to Empire 4.2.21 - Sat Jul 16 17:51:01 UTC 2005
  * 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.
+ * announce, pray, telegram 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.
@@ -1578,8 +1942,8 @@ Changes to Empire 4.2.15 - Wed May 26 17:55:58 UTC 2004
  * 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.
+   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