+Changes to Empire 4.3.31 - Sun May 12 16:58:34 UTC 2013
+ * Fix read beyond end of conditional argument on missing operand.
+ * Don't put broken links into info pages formatted as HTML.
+ * Permit ships that can drop depth charges, but not fire. No such
+ ships exist in the stock game.
+ * Consistently require guns for dropping depth charges. Before, only
+ the fire command required guns (since 4.3.12 and before 4.0.6).
+ * Change econfig key rollover_avail_max from 0 to 50.
+ * Make sector production more predictable. Commands production and
+ budget are now a bit more accurate.
+ * Fix bugs that messed up xdump lost and xdump trade on big endian
+ hosts (broken in 4.3.8), and made the server fail during startup on
+ most big endian hosts (broken in 4.3.12).
+ * Build process robustness fixes.
+ * Use "Level: Obsolete" to mark obsolete info pages, and drop "info
+ Obsolete".
+ * Server now uses IPv4 format for IPv4-mapped addresses. Simplifies
+ safe use of econfig key privip.
+ * Server logs a few more network connection details.
+ * Fixes and workarounds for econfig key listen_addr "" (which is the
+ default) when the system has both IPv4 and IPv6 addresses
+ configured:
+ - Server accepted only IPv6 connections on Windows and BSDs. Fix
+ to accept IPv4 ones, too.
+ - Except for OpenBSD, where the fix doesn't work. Accept IPv4
+ connections instead of IPv6 ones there, and document how to get
+ IPv6 accepted instead.
+ - Linux systems are frequently configured in a way that makes the
+ server accept only IPv4 connections. Document workaround: use
+ listen_addr "::".
+ * Change fairland island size probability distribution: roll two dice
+ instead of one. This makes extreme sizes much less likely.
+ * Make fairland record the island number in the deity territory.
+ * Fix extension of market bidding time when high bidder changes.
+ Introduced broken in 4.0.7, with insufficient fixes in 4.0.9 and
+ 4.2.0.
+ * Fix market not to mess up ridiculously high unit prices. Has been
+ broken since 4.0.0 introduced the market.
+ * Fix melting of big piles of stuff by ridiculously heavy fallout.
+ Has been broken since fallout exists.
+ * Fix crash on edit s, p, u key 'U' with negative argument.
+ * When a deity builds ships or land units in foreign sectors, they're
+ given to the sector owner. This lets POGO build them, and it's how
+ build works for planes and nukes.
+ * Fix PRNG (pseudo-random number generator) seeding to resist
+ guessing: seed with a kernel random number. If we can't get one,
+ fall back to a hash of high-resolution time and process ID. This
+ should happen only on old systems or Windows. Far worse than a
+ kernel random number, but far better than just low-resolution time.
+ Fairland's seeding used to be low-resolution time and process ID,
+ but regressed in 4.2.20 to just time.
+ * Switch PRNG from BSD random() to Mersenne Twister. This is a is a
+ proven, high-quality PRNG.
+ * Fix tiny error in distribution of some die rolls.
+ * Increase land unit retreat chance and nuclear damage's chance to
+ destroy a nuke by one percentage point, for simplicity.
+ * Merge news items a bit more aggressively.
+ * Fix a year 2038 bug in news item merging.
+ * Retire the nightly build.
+ * New make target check. Just a few tests for now, derived from the
+ smoke test that used to be part of the nightly build.
+ * Really fix accepting connections from "long" IPv6 address. The fix
+ in 4.3.23 could mess up player's host address in player output and
+ logs, and cause extra "Last connection" messages.
+ * Take ship cost into account when picking missile interdiction
+ target. Broken in 4.3.8.
+ * Really fix give, setsector and setresource not to wipe out
+ concurrent updates. The fix in 4.3.27 was insufficient.
+ * Fix setsector not to disclose number of landmines to occupier.
+ * Make capital fail more nicely when the sector is unsuitable. Its
+ argument must now be a single sector. Before, it silently picked
+ the first suitable one when the argument selected several. Has
+ always been that way, and never documented.
+ * Changes to option GODNEWS:
+ - Deity command give could downgrade the deity's relations to the
+ sector owner when GODNEWS was enabled. No more.
+ - Likewise, deity commands edit and setsector can no longer
+ downgrade the victim's relations to the deity.
+ - News enabled by GODNEWS no longer affect news headlines.
+ * Fix bomb, drop, fly, paradrop, recon and sweep to again accept a
+ destination sector equal to the assembly point. Broken in 4.3.27.
+ * Fix portability bug in configure test for Windows API.
+ * More user friendly server startup: journal open errors are detected
+ while the server still runs in the foreground, which makes it
+ possible to complain to stderr and to exit unsuccessfully.
+ * Market changes:
+ - Forbid selling conquered populace. Only relevant when the deity
+ allows selling civilians, which is probably a bad idea.
+ - Permit selling military by default.
+ - Forbid selling ships and land units carrying unsalable cargo.
+ * Scrapping ships and land units now spreads the plague
+ * Don't let scrap give away civilians, kill them off instead.
+ * Pilots and air cargo now spread the plague.
+ * Don't let fly and drop give away civilians.
+ * Fix fly to permit flying civs to a carrier in an occupied sector.
+ Broken in 4.2.17.
+ * Don't let planes fly to a carrier without sufficient space.
+ Before, planes that didn't fit were teleported home, which could be
+ abused. Broken in 4.3.17. Almost the same bug was previously
+ fixed in 4.2.17.
+ * Fix tend to foreign ships:
+ - Refuse to tend civilians to foreign ships.
+ - Don't leak friendly foreign ships' commodity cargo.
+ - Continue with remaining target ships after skipping a foreign one
+ when tending a negative amount of commodities.
+ All broken when Chainsaw 2 added tending to allies.
+ * march sub-command 'm' can now sweep own landmines.
+ * Land units no longer sweep allied landmines, except when executing
+ march sub-command 'm'. They don't hit them since 4.3.27. Sweeping
+ was forgotten then.
+ * Fix bmap commands not to parse empty flags argument as "revert".
+ Broken in 4.3.27.
+ * Code refactoring and cleanup.
+ * Info page fixes and clarifications.
+
+Changes to Empire 4.3.30 - Tue May 22 18:34:52 UTC 2012
+ * Disable damage to base sector or ship when missile explodes on
+ launch for now, because damage done to other missiles there can be
+ wiped out in some cases. Broken in Empire 2.
+ * Fix navigate and march not to wipe out concurrent updates.
+ Abusable, but probably not worthwhile.
+ * Fix some buffer overruns in fairland. Has always been broken.
+ * Fix arm to require nuke and plane to be in the same sector. A
+ remote nuke got teleported to its plane when the plane moved.
+ Broken in 4.3.3.
+ * Change login command kill (used by client option -k) to kill less
+ ruthlessly: send a flash message and try to flush output, exactly
+ like a server shutdown does.
+ * Fix server shutdown to wait for player threads to reach a safe
+ state. Before, player threads raced with shutdown, and failed to
+ update the treasury, record play time, and write log entries when
+ they lost. Bug goes back to Empire 2. Patched partially or
+ unsuccessfully in 4.2.10, 4.2.12, 4.2.20, 4.3.6, 4.3.10 and 4.3.23.
+ The race was hard to lose in practice, until an unrelated
+ "simplification" in 4.3.23 could get player threads stuck sending
+ output after shutdown aborted a command.
+ * Idle timeout changes:
+ - The grace period for clients to complete login and logout is now
+ separate from the idle timeout. Configurable with new econfig
+ key login_grace_time, default is 120 seconds.
+ - The idle timeout for visitors is now separate from the one for
+ players. Configurable with new econfig key max_idle_visitor,
+ default is five minutes.
+ - Fix the idle timeout when the connection gets stuck sending
+ output. Broken in 4.3.20.
+ - Idle timeout during execute now terminates the connection, not
+ just the execute command.
+ * Fix stack smash in build. Remote hole! Broken when Empire 2 added
+ the confirmation prompt.
+ * Fix stack smash in scrap and scuttle. Remote hole! Broken when
+ Chainsaw added the confirmation prompt. Additionally, the
+ confirmation prompt is misleading when the player supplies
+ conditionals. Redesign the flawed prompt.
+ * Fix execute's echo of the command. Broken in 4.3.28.
+ * The mobility cost of retreating a defending land unit was
+ calculated for an uninitialized sector. This could charge
+ incorrect mobility, prevent retreat, or, if the stars align just
+ right, crash the server. Broken in 4.3.6.
+ * Commands cutoff, headlines, land, lstat, motd, neweff, payoff,
+ qorder, sorder, and wall now behave like the other information
+ query commands when the player's connection can't take more output:
+ they pause to let other code run.
+ * Revised command permissions:
+ - arm and disarm no longer require money, for consistency with the
+ other commands to move stuff around.
+ - satellite no longer requires money, for consistency with lookout,
+ radar, sonar and skywatch.
+ - qorder, sorder, survey and test no longer require a capital, for
+ consistency with the other commands that report on stuff the
+ player owns.
+ - start and stop no longer require a capital, for consistency with
+ the other commands to control production.
+ - fortify now requires a capital, for consistency with mission,
+ morale and range.
+ - Anybody may now use country, echo and financial.
+ - Visitors can no longer use census, commodity, map, nmap,
+ sinfrastructure (useless without sectors), read (visitors don't
+ get any telegrams), and change (always failed).
+ - Players can no longer use map and nmap before break. This is
+ consistent with all the other commands to examine the
+ environment. It also prevents people from trying multiple
+ unbroken countries in a blitz to find the one with the nicest
+ vicinity.
+ - Players can now use resource before break, just like census.
+ * read could swallow the first telegram header when showing the
+ telegrams that arrived while waiting for the player to confirm
+ deletion. Broken in 4.3.29.
+ * Fix 'm' in path argument of explore, move, transport:
+ - Don't moan about deprecated argument syntax ('m' without a space
+ before its argument) even when there's no argument.
+ - Recognize the flags argument again.
+ Broken in 4.3.27.
+ * Market fixes:
+ - Command market is no longer available to visitors, because it
+ triggers execution of trades that have become ready.
+ - Fix a race condition that could cause commodity trades to be
+ executed multiple times. Abusing this to duplicate commodities
+ seems tricky, but possible. Broken in Empire 3.
+ - Don't expropriate sellers of units. POGO got the the money, the
+ telegrams and made the news, the seller got nothing. Broken in
+ 4.3.17.
+ * Login command quit and server shutdown could lose player output.
+ 4.3.23 tried to fix the shutdown case, but the fix was incomplete.
+ * Fix login command quit to really quit. It sometimes just swallowed
+ buffered input, at least on some systems.
+ * 4.2.22's fairer command scheduling failed to cover the execute
+ command. Fix that.
+ * When a client shuts down input transmission to log out, output
+ could get lost. Our client never does that.
+ * Don't skip post command treasury update and status notification on
+ EOF from player, after quit command, and when command is aborted by
+ server shutdown. An unluckily timed EOF or shutdown can deprive a
+ player of money gained from scuttling tradeships or sacking a
+ capital. Can be abused to build bridges and infrastructure free of
+ charge. Can also be abused to designate sectors for free, but the
+ stock game's sector types are all free anyway. Has always been
+ broken.
+ * Fix client not to send an empty line on player interrupt (normally
+ ^C) before the first command. This was missed in 4.3.26.
+ * Code and info page cleanup.
+ * Documentation fixes.
+
+Changes to Empire 4.3.29 - Fri Jan 20 19:20:20 UTC 2012
+ * drop and fly from carrier could fail to load last civilian or
+ military.
+ * Telegram and announcement changes:
+ - wire no longer loops to show announcements that arrived while
+ waiting for the player to confirm deletion.
+ - At most five seconds worth of messages are now squashed together
+ into one. Before, only the time between adjacent telegrams was
+ limited, not the total time.
+ - When telegrams arrived while read was waiting for the player to
+ confirm deletion, and we then showed them, we nevertheless
+ claimed "you have new telegrams" before the next command prompt.
+ Only with toggle inform off. Known bug since Empire 2.
+ - Fix read not to clobber asynchronous notification of telegrams
+ arriving while waiting for the player to confirm deletion.
+ - Fix wire not to reset number of pending telegrams with toggle
+ inform on. Broken when Empire 2 introduced toggle inform.
+ - The number of pending announcements was off when announcements
+ were squashed together.
+ - More careful error handling and logging.
+ * Ensure all of an update's output goes into a single production
+ report:
+ - Avoid splitting it up when the update is slow. Empire 2 already
+ did that for the number of pending telegrams, but not for read.
+ - Don't turn parts of it into BULLETINs. Autonav and sail could do
+ that since Empire 2.
+ * files now creates POGO with user interface flags beep, coastwatch,
+ sonar and techlists set, for consistency with add.
+ * Change newcap back to not wiping the country (it wiped since
+ 4.3.12). Additionally, leave levels and telegrams alone.
+ * Changes to deity command add:
+ - Require confirmation for unadvisable actions.
+ - Refuse to touch a country while it's being played.
+ - Don't crash on negative country number.
+ - Create deities with money, just like files creates POGO.
+ - Always reset the country completely, not just when adding a
+ player or a visitor.
+ - Rename argument "new" to "player". Keep recognizing "new" for
+ now, but deprecate it.
+ - Drop argument "active". If you really want to create a player
+ country without a capital, add the player country normally, then
+ activate it with edit instead of newcap.
+ - Drop the obscure sector check and wipe option. If you really
+ need to wipe out a country, there's much more to wipe than just
+ sectors.
+ - Drop the undocumented land unit destruction feature.
+ * Permit no-op country name change again. Accidentally outlawed in
+ 4.3.20.
+ * Plug a few minor memory and file descriptor leaks.
+ * Fix use-after-free when plane gets shot down or aborted in
+ dogfight. Broken in 4.3.27.
+ * Code cleanup.
+ * Info page and manual page fixes.
+
+Changes to Empire 4.3.28 - Sat Jul 16 11:30:53 UTC 2011
+ * Don't let POGO (#0) navigate dead ships, and march dead land units.
+ The ghosts even got sighted and interdicted, and could hit mines.
+ Has always been that way.
+ * llook can't see land units and planes loaded on land units anymore.
+ * Fix board to ignore land units loaded on land units when testing
+ whether a sector can board. Broken in 4.0.17.
+ * Fix transport to reject planes loaded on land units. The plane
+ remained on its carrier. When the land unit moved, the plane was
+ teleported right back to it. Broken since Chainsaw 3 added land
+ units.
+ * Fix lradar not to let land units loaded on land units use radar.
+ Broken since 4.0.0 added trains.
+ * Fix strength to ignore land units loaded on land units. Broken in
+ 4.2.0.
+ * Fix navigate and march to find paths longer than a few sectors
+ again (7 for 64 bit hosts, 3 for 32 bit hosts). Broken in 4.3.27.
+ * march sub-command 'i' now shows number of military and land units
+ loaded.
+ * New server option -F to force start even when state looks bad.
+ Risks crashes and further corruption, but gives deities a chance to
+ fix up a bad game state with edit commands and such.
+ * empdump -x no longer refuses to export game state that looks bad.
+ Gives deities another tool to fix up a bad game state.
+ * Land units loaded on land units fight che again, as they used to
+ before 4.3.26.
+ * When a land unit dies fighting che, land units loaded on it get
+ unloaded, and planes loaded on it die. Before, the update left
+ them stuck on their dead carrier. Impact like the next item.
+ Abusable. Broken since Chainsaw 3 added land units.
+ * The update no longer destroys ships, planes and land units for lack
+ of maintenance. Before, it left any embarked planes, land units
+ and nukes on their dead carrier. In this state, units behaved as
+ if their carrier was still alive, with additional protection from
+ the fact that a dead carrier can't be damaged or boarded. If
+ another unit with the same number got built, it picked up the stuck
+ cargo. The cargo got teleported to its new carrier when the
+ carrier moved. Abusable, but it involves going broke, so it's
+ rarely practical. Slightly more practical before 4.3.6 removed
+ budget priorities. Broken for ships and land units when Empire 2
+ added their maintenance cost, and for planes when 4.3.3 replaced
+ nuclear stockpiles by nuke units.
+ * Fix bogus internal error triggered by navigate and march
+ sub-commands 'r', 'l' and 's'. Broken in 4.3.27.
+ * Fix client not to reject redirections and execute containing
+ non-ASCII characters with a bogus scary warning when using UTF-8.
+ * Fix execute not to mangle non-ASCII characters in the argument when
+ prompting for it while login option utf-8 is on.
+ * Fix handling of non-ASCII and control characters in batch files.
+ * Conversion from UTF-8 to ASCII ate the character following a
+ replaced non-ASCII character. Buffer overrun possible if the
+ terminating zero gets eaten. Could happen in players, read, flash,
+ wall, and execute.
+ * Fix handling of empty commands:
+ - Time used was not updated.
+ - Mortal player wasn't logged off for game hours, game down, and
+ time limit.
+ - Notifications were delayed: going broke, becoming solvent, new
+ telegrams (toggle inform off only), new announcements, capital
+ lost.
+ * Minor tweaks to nightly build.
+ * Server's and empdump's sanity checking of configuration and game
+ state is now more rigorous.
+ * Deity xdump no longer dumps unused countries' realms.
+ * Remove option LANDSPIES. Deities can customize the land table to
+ disable spy units.
+ * Remove option TRADESHIPS. Deities can customize the ship table to
+ enable trade ships.
+ * Configuration table changes (builtin and custom):
+ - Rows must be in ascending uid order.
+ - Omitting rows in tables item, sect-chr and infrastructure is no
+ longer permitted.
+ - Custom tables now replace the builtin table completely. Before,
+ omitted rows defaulted to the builtin version, except at the end
+ of a table. Commenting out unwanted stuff just works now.
+ - Permit custom table product having fewer than 14 entries.
+ - Reject custom tables where customization has no effect (updates,
+ table, meta, all symbol tables) or where it's unsafe (news-chr).
+ - Input is checked more rigorously.
+ * empdump -i fixes:
+ - Don't touch plane file when import fails.
+ - Refuse import of incorrectly sized table instead of silently
+ creating one the server will reject.
+ - Replace old state completely. Before, omitted rows in the dump
+ defaulted to the old state, except at the end of a table.
+ - Input is checked more rigorously.
+ * Fix xdump updates not to dump bogus extra updates.
+ * Fix use-after-free when a plane got shot down or aborted by flak.
+ Broken in 4.3.27.
+ * Friendlier diagnostics in the build command.
+ * Fix build to set nuke's tech exactly like for ships, planes and
+ land units. It's not currently used for anything.
+ * Research required for nukes was slightly off sometimes due to
+ incorrect rounding.
+ * Bridge building required 0.005 tech less than advertised, fix.
+ * "show nuke" now obeys toggle techlists.
+ * Fix "show land s" to show columns xpl and lnd again. Broken in
+ 4.3.15.
+ * Code refactoring and cleanup.
+ * Documentation on custom tables and xdump updated.
+ * Info file fixes.
+
+Changes to Empire 4.3.27 - Sun Apr 17 11:36:29 UTC 2011
+ * License upgrade to GPL version 3 or later.
+ * Fix buy not to wipe out concurrent updates. Can be abused to
+ duplicate commodities.
+ * Don't let fighters, SAMs and ABMs intercept while on trading block.
+ * Don't let missiles interdict ships or land units while on trading
+ block.
+ * Fix client to log long input lines untruncated.
+ * Fix client crash for long input lines.
+ * info subject pages now mark unusually long pages with a !.
+ * The edit command keys deprecated in 4.3.15, 4.3.17 and 4.3.20 are
+ now gone.
+ * Fix give, setsector and setres not to wipe out concurrent updates.
+ * Fix explore, move, test, transport not to ignore spaces in path
+ arguments. Broken in 4.3.7. Deprecate use of 'm' without space
+ before its argument.
+ * Improvements to map drawing commands:
+ - Don't fail silently when asked to draw a map around an invalid
+ unit, explain the problem.
+ - Deprecate bmap flag "r". Use (a prefix of) "revert" instead.
+ - bmap flags following "t" are no longer ignored. However, info
+ pages previously documented an argument "true" in addition to
+ flag "t". To keep that working, keep ignoring flags following
+ "t" when they're bad. But deprecate that usage.
+ - Reverting the bmap no longer draws a map.
+ - Bad conditionals could make the commands misinterpret their first
+ argument.
+ - The commands now fail when they reject their second argument.
+ * The xdump syntax deprecated in 4.3.12 is now gone.
+ * Fix satellite to fail on bad conditionals instead of ignoring them.
+ * Journal improvements:
+ - Optional logging of output.
+ - Long lines are no longer truncated.
+ - Login phase input is now logged, too.
+ - Commands are now logged. Allows making sense of input without
+ context.
+ * Option BRIDGETOWERS is now disabled by default.
+ * Bridge towers now take 300 hcms to build, down from 400.
+ * Fix stop orders to expire even when the country is broke. Broken
+ in 4.3.8.
+ * Fix march and navigate not to advise on "legal directions" when
+ path finding fails.
+ * New path finder:
+ - Much faster, especially for distribution, i.e. where it matters
+ most. Speedups in excess of 30x have been observed for updates
+ taken from real games.
+ - Old land path finder leaked memory occasionally.
+ - Old land path finder overran buffers for very long paths. A
+ malicious player can arrange sufficiently long paths, but it
+ takes a lot of land. Distribution, the distribute command, land
+ unit reaction, and automatic supply now handle arbitrary long
+ paths. Commands explore, move, test, transport, march, navigate
+ and path now handle paths up to 1023 characters. Command
+ bestpath shows paths longer than 1023 characters with the tail
+ replaced by "...".
+ - Old sea and air path finder treated destinations as unreachable
+ when the best path was longer than 99 characters. Command sorder
+ now handles arbitrary long paths. Commands bomb, drop, fly,
+ paradrop, recon, sweep and sail now handle paths up to 1023
+ characters. Autonav considers up to 1023 characters at the
+ update. Planes can fly missions up to 1023 sectors from their
+ base.
+ * Automatic supply charged mobility for the path back to the source
+ instead forward to the sink.
+ * Make bestpath work for deities in foreign land.
+ * More robust savecore example script.
+ * Fix buffer overruns in the lookout, spy, map and nmap commands when
+ WORLD_X * WORLD_Y is not a multiple of 16.
+ * The path command's maps weren't always fitted to the path
+ correctly. Broken in 4.3.17.
+ * Land units no longer hit allied mines.
+ * Change sharebmap with yourself to do nothing instead of telling you
+ you're not friendly to yourself.
+ * You can now flash yourself. Enjoy!
+ * A race condition could make the flash command claim an ally was not
+ logged on when he was. Hard to trigger outside the lab.
+ * The flash command no longer prints "Flash sent" for deities. It's
+ annoying. It never did that for mortals.
+ * Plug memory leaks in mission code on a number of conditions:
+ - Submarines moving where own planes would interdict hostile
+ submarines
+ - Ground combat where countries hostile to one of the parties would
+ support if relations were right (allied to one party, at war with
+ the other)
+ - Ships or land units moving within hostile missile mission op
+ areas
+ - Any player action within marine missile mission op areas that
+ could trigger the missile owners' missions.
+ * Attack fixes:
+ - When you ordered a sector to attack with military, but lost the
+ sector before the attack was executed, and the new owner was
+ allied to you, the server got confused: it let the military
+ attack even though they were already dead, but not occupy.
+ - When you ordered a land unit to attack from an allied sector, and
+ the sector got lost before the attack was executed, the server
+ reported things as if you had owned the sector yourself. The
+ land unit still attacked when the new owner was also allied to
+ you. No more.
+ - When a land unit attacked out of an allied sector, its mobility
+ cost was computed as if the ally owned the land unit. Attacking
+ sectors old-owned by that ally was too cheap, and taking back
+ one's own was too expensive.
+ * Fix trade ships to pay off in own harbor. Broken in 4.3.17.
+ * Remove option SLOW_WAR. It hasn't been enabled in a public game
+ for years, and the code implementing it was buggy.
+ * Fix a bug in sail that limited the sail path to 27 instead of the
+ intended 28 characters.
+ * Fix race condition in transmission of flash and telegram
+ information messages that could double output and possibly crash
+ the server.
+ * Planes get to sweep and sonar only after flak and interception.
+ * Don't limit the radar command's range to fit its output into a
+ world map without clipping. The limiting goes back to Chainsaw 2.
+ * Make flak vs. pinpoint bombing consistent with ordinary flak:
+ - 4.3.6 reduced the plane abort chance on damage, but missed the
+ additional flak vs. pinpoint bombing. Fix that.
+ - Fix to charge mobility appropriate for damage.
+ * Prettier flak damage reporting.
+ * Fix bugs that could cause bmap updates from recon and satellite to
+ be lost.
+ * Fix lookout to properly report sector ownership to deities.
+ * Suppress bogus messages deities with non-zero country number got
+ when attempting to navigate foreign ships or march foreign land
+ units. Such deity use hasn't worked since Empire 2.
+ * Deities can no longer fly foreign planes. It didn't fully work
+ since Chainsaw 3, and can trigger internal errors since 4.3.11.
+ * Don't split lines over several bulletins. The read command
+ normally merges these bulletins, but if they are more than five
+ seconds apart (clock jumped somehow), we get a bulletin header in
+ the middle of a line. Broken since Empire 2.
+ * Don't beep when plane, land unit or nuke die on a collapsing
+ bridge. Not nice, because it could beep many times, and could put
+ beeps in bulletins. Beeping was added in 4.0.18.
+ * Minor improvements to nuclear damage reporting.
+ * When a deity dropped a foreign nuke, parts of the output went to
+ the owner of the nuke instead of the deity.
+ * When a player triggered a foreign missile launch (mission or
+ interception), and the missile exploded on launch, part of the
+ report went to the player instead of the missile owner. This
+ disclosed the missile owner's origin. Broken in Empire 2.
+ * When autonav reported to a ship owner that it can't load or unload
+ foreign civilians, it used the sector owner's coordinate system.
+ This disclosed the sector owner's origin. Abusable.
+ * When nuclear damage bounced off a sanctuary, the bulletin to the
+ sanctuary owner used the attacker's coordinate system. This
+ disclosed the attacker's origin.
+ * When a deity used sweep, lmine, sail or sabotage with a foreign
+ plane, land unit or ship, its location was reported in the foreign
+ coordinate system.
+ * When a deity asked for a foreign nation report, the capital
+ location was reported in the foreign coordinate system.
+ * Code refactoring and cleanup.
+ * Info file improvements.
+
+Changes to Empire 4.3.26 - Mon May 24 16:37:40 UTC 2010
+ * Land units loaded on ships or land units can no longer fight che.
+ * When foreign land units were present, a che revolt could damage
+ them instead of the defending land units. This could let defenders
+ survive the revolt. They were captured or blown up if che took
+ over the sector.
+ * Fix che revolt to damage only land units that actually fight
+ * Fix loading x-light missiles on ships without capability plane.
+ These ships could only use their x-light slots for x-light planes,
+ not their plane slots. Broken in 4.3.17.
+ * Update bmap when nuclear detonation makes wasteland.
+ * Fix fly and drop to report discarded cargo items correctly.
+ * New client option -s to specify server host and port.
+ * Hitting landmines could crash the server. When not, the damage
+ reduction for capability engineer was applied unpredictably.
+ Broken in 4.3.24.
+ * Fix retreat and lretreat condition 'c'. Broken in 4.3.16.
+ * coastwatch and skywatch could see too far. Up to one sector for
+ practical radar ranges.
+ * skywatch now reports satellite uids. The uid is required for
+ launching a-sats since 4.3.23.
+ * Fix client not to send an empty line of input before aborting the
+ command on player interrupt (normally ^C).
+ * Fix sabotage not to kill the spy every time. Broken in 4.3.17.
+ * Code cleanup.
+ * Info page fixes, manual page improvements.
+
+Changes to Empire 4.3.25 - Sun Mar 21 08:27:37 UTC 2010
+ * Hitting seamines could crash the server. When not, the damage
+ reduction for capability sweep was applied unpredictably. Broken
+ in 4.3.24.
+ * When an interdiction did damage other than collateral damage, the
+ planes that intercepted it from interdicted carriers used no
+ petrol. 4.3.24 fixed only the "no damage" case.
+ * Ship anti-missile defense failed to charge shells when the ship was
+ interdicted. The fix in 4.3.24 covered only launch.
+ * Fix a bug in navigate and march that let players lay mines free of
+ charge. Also fix them not to prompt for the number of mines.
+ * 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.
+ * Automatic supply fixes:
+ - 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.