will affect you, the player. These were coded as the Wolfpack project,
and bug-reports should be sent to <wolfpack@wolfpackempire.com>.
.NF
+Changes to Empire 4.3.16 - Sat Aug 9 15:56:52 UTC 2008
+ * Production command incorrectly limited the number of graduates,
+ happy strollers, technological breakthroughs and medical
+ discoveries produced by a sector to 999. Broken in 4.2.15.
+ * Fix a bug in improve that could let you spend more money than you
+ have.
+ * Fix work command not to spend more mobility than requested, and to
+ round mobility use randomly instead of down.
+ * Commands demobilize, convert and work no longer let you spend more
+ money than you have. Commands demobilize and convert no longer ask
+ for confirmation before spending more than half your money. Saving
+ that feature would have been more work than it's worth.
+ * Remove undocumented key 'd' at bomb ship, plane and land unit
+ target prompts.
+ * Fix land unit flak when pin-bombed to match flak when overflown:
+ proportional to efficiency, and randomly rounded. Was missed in
+ 4.3.6.
+ * Don't permit bombing of embarked planes and land units.
+ * Fix capital maintenance to charge at 60% efficiency.
+ * launch command now requires only 40% plane efficiency, for
+ consistency with other ways to launch missiles.
+ * Disable collateral damage when automatically launched missiles miss
+ their target. Collateral damage was done even when the launch
+ failed or the missile got intercepted. It's been disabled for
+ manually launched missiles since 4.0.18, for the same reason.
+ * Fix a bug that corrupted the lostitems file. Broken in 4.3.12.
+ * Show command changes:
+ - Move product information from "show sect c" into new "show
+ product", and reformat it to be easier to understand.
+ - New column navigability in "show sect s".
+ - "show sect s" now shows the packing bonus type instead of
+ selected packing bonuses. "show item" shows the actual bonuses
+ for each type.
+ - "show sect b" now shows the usual values in addition to unusual
+ ones.
+ * Fix interdiction to obey op-area for missiles.
+ * Fix a bug that caused a stale sources.mk to be distributed in the
+ 4.3.14 an 4.3.15 tarballs. The latter does not build out of the
+ box because of that.
+ * Don't strip tab characters from quoted command arguments. Broken
+ in 4.2.21.
+ * shutdown commands now always take effect immediately. Before, they
+ could be delayed by up to a minute.
+ * shutdown could start multiple shutdown threads when you initiated a
+ shutdown shortly after cancelling one. This screwed up the timing
+ of the shutdown.
+ * Deity syntax of zdone changed, and is now documented in info.
+ * The threshold command could be tricked into accepting negative
+ thresholds.
+ * Fix designate to always write updated bmap to disk.
+ * Fix bomb to fail on empty <pin|strat> argument instead of flying
+ without bombs.
+ * Fix a bug in distribute that screwed up the current sector's
+ distribution center when the command got aborted.
+ * Commands arm, bomb, deliver, drop, fire, fly, paradrop, recon,
+ lmine, order, power, range, sail, shutdown, sweep and tend did not
+ honor command abortion at some prompts.
+ * Fix a bug in handling of EOF from client that could bite in the
+ following ways:
+ - EOF at target prompts for bombing commodities, ships, planes and
+ land units sent the server into an infinite loop that ate all
+ memory.
+ - EOF at sail's path prompt crashed the server.
+ - EOF at some prompts in deliver, designate, fly, morale, zdone,
+ attack and assault didn't abort the command.
+ Broken in 4.3.11.
+ * Selector terr is now the same as terr0 for mortal players, and
+ dterr for deities. This matches how the territory command works.
+ Unfortunately, this required us to rename xdump sect field terr to
+ terr0. Sorry about that.
+ * Fix bomb not to let you bomb dead ships and land units.
+ * Make the retreat command a bit more helpful on retreat conditions,
+ and make it fail on bad conditions.
+ * Fix the mapper scripts. Broken in 4.2.0.
+ * Fix flying commands not to let planes do double duty as escorts.
+ Broken in 4.3.12.
+ * When a minesweeper hit a mine after sweeping, the mine wasn't used
+ up. If it sank the minesweeper, the code accessed freed memory,
+ which could clobber the ship file or worse. Broken in 4.0.17.
+ * Don't let non-light units board ships that can't carry them.
+ * Capitals can now employ up to 1000 civilians instead of 999.
+ * Spy command changes:
+ - Spy now requires sector military. Before, presence of land units
+ was sufficient, but spies shot were only deduced from sector
+ military. If you lost more spies than you had sector military,
+ the rest came back from the dead.
+ - Spy no longer ignores non-sea sectors without civilians, military
+ and land units.
+ - Remove columns lnd, pln from spy report. The values didn't match
+ the reported land units and planes, and could leak the presence
+ of spy units.
+ - Establish contact when spy succeeds even though the spy was
+ caught.
+ * Fix news reporting and damage when land units interdict ships in
+ sectors other than sea.
+ * Fix land unit return fire damage to ships to take accuracy into
+ account, like the fire command and interdiction does.
+ * Remove the inconsistent shelling damage reduction for range. Fire
+ command got damage reduced by 10-20% with a chance depending on
+ range ("Wind deflects shells"). Ships interdicting got it reduced
+ by half. Other ways to shell did not get damage reduced for range.
+ * Fix ground combat to report defending land units. Broken in 4.3.4.
+ * Info file and documentation fixes and improvements.
+
+Changes to Empire 4.3.15 - Sun May 18 08:59:30 UTC 2008
+ * The edit command keys deprecated in 4.3.10 are now gone.
+ * fairland now obeys game file locks.
+ * Do not leak world creation time in files utility, because that
+ facilitates attacks against fairland's PRNG. Broken in 4.3.12.
+ * Fix starvation not to starve one more than it should. The last man
+ on a boat or land unit now can't starve anymore.
+ * Fix a crash bug in satellite. Broken in 4.2.7 and not fixed
+ correctly in 4.2.12.
+ * Fix a coordinate normalization bug that could theoretically lead to
+ buffer overruns and other unpleasantness. None have been
+ reproduced, though. Broken in 4.3.12.
+ * Remove option FUEL. The abstract idea of tying ships and land
+ units to a logistical tether is sound, the concrete implementation
+ as option FUEL is flawed. It adds too much busy-work to the game
+ to be enjoyable. It hasn't been enabled in a public game for
+ years. The code implementing it is ugly, repetitive, and a burden
+ to maintain. The edit command still accepts and ignores the fuel
+ keys for compatibility, but they are deprecated.
+ * Fix pin-bomb not to report subs when there are none.
+ * You now have to take a capital to capture the victim's money, loans
+ or market lots. Merely obliterating the capital doesn't cut it.
+ It still makes the victim lose money, though.
+ * Fix a bug that could theoretically allow sacking of non-existant
+ capitals of visitors, deities and such.
+ * You now gain BTUs and MOB_ACCESS mobility before the first update
+ again. You didn't since 4.3.10 introduced the ETU clock.
+ * Fix edit to detect when the edited object changes while it's being
+ edited.
+ * Fix xdump nat for relations: it got HIDDEN backwards. Broken in
+ 4.3.12.
+ * Fix origin command not to prompt twice for its argument. Broken in
+ 4.3.0.
+ * Info file improvements.
+
+Changes to Empire 4.3.14 - Mon May 5 04:57:03 UTC 2008
+ * Another round of fixes to the fire command:
+ - Don't disclose where the target retreated to.
+ - Charge the target shells for returning fire.
+ - Always use guns when the target is out of range, even if it's a
+ submarine. Before, the difference in shell use disclosed whether
+ the target is a submarine. Loophole opened in 4.3.12.
+ - Make depth charges again work with just one shell. Failing the
+ command in that case lets players find out whether the target is
+ a submarine. Loophole opened in 4.3.12.
+ - Detect when the firing sector, ship or land unit changes across
+ the target prompt. Abusable.
+ * Fix parsing of anchor-relative time in update schedule. Broken in
+ 4.3.13.
+ * Fix logging of player input in the journal to include command
+ interruption and EOF.
+ * Fix oversights in 4.3.12's change to keep track of flying planes:
+ planes could be erroneously reported damaged by their own ground
+ strikes. Happened with missions and the launch command.
+ * Fix load not load hardened missiles.
+ * Fix harden not to harden missiles loaded on land units.
+ * New server option -E to choose what to do on recoverable internal
+ error. You can now make the server dump core and keep going (not
+ implemented for Windows). New econfig key post_crash_dump_hook to
+ run a program after crash-dumping. See scripts/savecore for an
+ example.
+ * Journal entries are now flushed to disk right away even when the
+ server is not running in debug mode.
+ * Don't let land units load trains.
+ * Allow deity to display power report for all types of countries,
+ with power c.
+ * Fix designate's check for disallowed sector types. Broken in
+ 4.3.12.
+ * Documentation fixes.
+
+Changes to Empire 4.3.13 - Tue Apr 15 19:03:11 UTC 2008
+ * Work around strptime() lossage on some systems. Fixes the parsing
+ of the schedule file there.
+ * New selector maxnoc for xdump version.
+ * Fix initialization of realms in newcap. Broken in 4.3.12.
+ * Fix add for status arguments active, god, delete. Broken in
+ 4.3.12.
+ * Info file, manual page and documentation fixes.
+
+Changes to Empire 4.3.12 - Wed Apr 2 05:35:06 UTC 2008
+ * Fix rounding error in update that could result in more babies than
+ food permits, and negative food.
+ * Fix a bug that could lead to unfair thread scheduling under
+ Windows.
+ * Fix ship and land unit missile interdiction and ballistic missile
+ interception to require a proper base. Before, missiles could
+ launch from anywhere for that.
+ * Launch bug fixes:
+ - Don't allow launching from unowned sectors.
+ - Don't destroy missiles stuck on foreign ships.
+ - Use up the supplies required for launching an asat only when it
+ actually launches.
+ - Don't ignore satellites' fuel use.
+ * Deity command newcap now requires its second argument (sanctuary
+ coordinates). Before, it tried to pick a suitable location when
+ none was given. The code implementing this feature had problems,
+ and it's not worth fixing, because it is obscure, and rarely (if
+ ever) used: no conscientious deity would use it for a real game,
+ and for blitzes fairland does a better job.
+ * Keep track of flying planes properly. This fixes a number of bugs:
+ - While the bomb command awaited pin-bombing target input from the
+ player, other players could interact with the pin-bombers and
+ escorts as if they were sitting in their bases: spy them, damage,
+ capture, load, unload, or upgrade them, even get intercepted by
+ them. But any changes to those planes were wiped out when they
+ landed. Abusable.
+ - The bomb command could bomb its own escorts, directly (pin-bomb
+ planes) or through collateral damage, strategic sector damage,
+ collapsing bridges or nuke damage. The damage to the escorts was
+ wiped out when they landed.
+ - If you asked for a plane to fly both in the primary mission and
+ escort, you got charged fuel for two sorties instead of one.
+ * Plug memory leaks in plane interception.
+ * Fix trade not to let the buyer teleport satellites (not in orbit)
+ and asats to an arbitrary sector. Abusable, because abms
+ intercepted from anywhere, and satellites could be launched from
+ unowned sectors.
+ * The PRNG seed is now logged in the journal.
+ * Fix nightly build for Windows.
+ * Fix crash bug that bit when custom tables contained columns names
+ that existed, but weren't supposed to be in the custom table.
+ * New timestamp selector for commodity, country, game, loan, nation,
+ news, realm, trade, treaty to support incremental xdump.
+ * Deity commands newcap and add wipe the nation more thoroughly. add
+ no longer touches relations and flags for status active and god.
+ * New utility program empdump to export and import game state as
+ plain text. Check its manual for details, including limitations.
+ * Plane, ship and land unit stats are no longer stored as game state,
+ but recomputed from tech and base stats as needed.
+ * xdump ver is no longer a special case. Syntax "xdump ver" is now
+ deprecated. Use "xdump version *".
+ * Fire and torpedo cleanup and bug hunt:
+ - Plug memory leak in fire command.
+ - Fix ammunition use when returning fire: resupply could lose
+ shells when returning fire to multiple targets, and land units
+ were charged per target instead of just once.
+ - Interdicting land units now resupply shells automatically, for
+ consistency with other ways to fire.
+ - torpedo and fire no longer resupply shells automatically. The
+ latter used to resupply land units only.
+ - Land units no longer have to be in supply to fire actively, for
+ consistency with other ways to fire.
+ - Submarines with zero mobility can no longer interdict, for
+ consistency with other ways to torpedo.
+ - Fix bugs that let submarines without capability torp use
+ torpedoes to return fire and interdict.
+ - Fix torpedo command not to require a line of sight for return
+ fire and depth charges, and to use torpedo range instead of
+ firing range for return torpedoes.
+ - Active fire and interdiction didn't work for ships with zero
+ firing range, even though return fire and support did. No such
+ ships exist in the stock game.
+ - Let land units with zero firing range and non-zero firing damage
+ fire, for consistency with ships. No such units exist in the
+ stock game.
+ - Ships required different numbers of military to operate their
+ guns for the various kinds of fire. Unify to require 2*N-1
+ military to fire N guns.
+ - Ship ammunition use differed for the various kinds of fire.
+ Unify to use one shell per two guns.
+ - Forts could fire support even when there were not enough mil.
+ - Fix automatic shell resupply in several places to supply exactly
+ the shells actually fired, no more, no less.
+ * Change depth charges back to how they are documented and worked
+ before 4.0.6, mostly: require no guns, one military, do damage like
+ shell fire from three guns (before 4.0.6: two guns), use two
+ shells. In 4.0.6's model, they worked exactly like shell fire
+ (require guns and gun crew, non-zero firing range, damage and
+ ammunition use scales with available guns), except for missions,
+ which was a bug. Note that depth charge damage for all ships is
+ now like fire from three guns for two shells. No change for dd; af
+ did two gun damage for one shell before, and nas did four gun
+ damage for two shells.
+ * The edit command keys deprecated in 4.3.3 are now gone.
+ * Fix build not to screw up automatic dependencies on certain compile
+ errors.
+ * Fix a bug that could prevent repeated news from properly
+ aggregating into one news item.
+ * Properly initialize all bits in game state files, even those that
+ aren't used.
+ * Fix explore's test for stopping on a splashed bridge. The bug made
+ explore print to a bogus message.
+ * Fix spelling of symbol airburst in table plane-flags. This could
+ affect clients.
+ * Change designate not to check total cost before executing the
+ redesignation. The code implementing that was buggy and too ugly
+ to live. Designate doesn't cost anything in the stock game.
+ * Always charge land units at least as much mobility for assaulting
+ from non-landing ships as from landing ships. Before, marines lost
+ all mobility when assaulting from a non-landing ship, which could
+ be less than what the same assault costs from a landing ship (half
+ an update's worth).
+ * Fix LWP's stack initialization for -s. It caused crashes on some
+ systems.
+ * Fix confused and buggy bridge splashing code:
+ - Flying planes could be reported drowned.
+ - Pin-bombing a bridge head failed to collapse bridge spans for
+ lack of support, unless the pin-bombing caused collateral damage.
+ - Corrupt sector file could lead to infinite recursion.
+ * Relative names now work for econfig keys data and info.
+ * Fix utility programs to abort on internal errors. They used to
+ print a message and attempt to recover.
+ * Fix off-by-one in fairland that ate the last expansion island.
+ * Switch from CVS to git.
+ * Code refactoring and cleanup.
+ * Portability fixes.
+ * Info file, manual page and documentation fixes and updates.
+
+Changes to Empire 4.3.11 - Tue Jan 1 18:57:38 UTC 2008
+ * New sector selector elev. It's set by fairland, but has no effect
+ on the game. It can be useful for deities to customize a world
+ created by fairland.
+ * The client now copes with ids greater than 15. The Empire
+ protocol currently uses 14 ids.
+ * Rewrite the client's code for reading server output during login.
+ The old code could write one byte beyond the end of the buffer
+ (theoretically a remote hole), got confused by long lines, and
+ lines that didn't arrive in one piece.
+ * Long country name, password or user name crashed the client.
+ * Fix xdump not to deny access to game state tables when maximum
+ minutes per day are exceeded.
+ * The server considers a country bankrupt when its treasury is
+ negative. Except when it doesn't. Fix that:
+ - report misreported countries with $0 as broke.
+ - If a command spent a few cents more than you had, commands requiring
+ money became unavailable even when rounding brought you back to
+ $0. But logging out and back in then bankrupted you.
+ - If your treasury rose to exactly $0, commands requiring money
+ remained unavailable.
+ - If you had $0, sectors didn't build and sectors and ships didn't
+ produce at the update.
+ * Fix a bug in trade that made your money evaporate when a trade fell
+ through because you couldn't fully pay. This bug was there since
+ the introduction of the market in 4.0.0. It got aggravated by the
+ removal of forced loans in 4.3.0.
+ * Fix printing of the new group in army, fleet and wing. Broken in
+ 4.3.5.
+ * Fix flash not to screw up the message when the first argument
+ contains white-space.
+ * Don't let planes intercept when they are stuck in foreign bases, on
+ inefficient ships or land units, or on land units loaded on ships
+ or land units.
+ * Fix a bug that made interception require petrol to be present even
+ for planes that don't use fuel (SAMs). Broken in 4.3.3. Air
+ defense missions weren't affected.
+ * fairland and setsector now limit fertility to 100 instead of 120,
+ like the other resources.
+ * Generalize the autonav hack for fishing boats so it covers oil
+ derricks as well.
+ * Fix bug in path command that made it swallow every other step.
+ Broken in 4.2.22.
+ * The execute command no longer supports redirections and execute in
+ batch files. Flaws in the Empire protocol make it next to
+ impossible for clients to implement that correctly. See
+ doc/clients-howto for an explanation.
+ * Rewrite much of the client's code for sending commands and
+ receiving server output:
+ - No longer blocks on sending commands, which could deadlock the
+ session.
+ - Fix race condition that could cause server output to be discarded
+ on EOF on standard input.
+ - Don't discard server output when reading standard input fails.
+ - Fix error handling for execute and other, more obscure cases.
+ - More rigorous error checking for redirections and execute.
+ Clearer error messages, too.
+ - Fix execute redirected to file or pipe. Believed to be broken in
+ 4.2.0.
+ - The client now creates files for redirections with the same
+ permissions whether the redirection is in a pipe or not. Before,
+ redirections without a pipe created files with no permissions for
+ group and others. This change may make your redirected output
+ visible to other users on your system. Use the usual controls,
+ like umask, to restrict permissions to your liking.
+ - Reject unexpected redirections (violating the protocol). Before,
+ they silently replaced the current one, and in the case of pipes
+ leaked file descriptors and memory.
+ - Redirections in batch files are not implemented. They didn't
+ quite work before, and could leak memory and file descriptors. A
+ flaw in the Empire protocol makes them next to impossible to
+ implement correctly.
+ - The execute command in batch files is not implemented. A flaw in
+ the Empire protocol makes this practically useless anyway.
+ - Old code leaked memory in various places.
+ - Unfortunate incompatibility with older servers: if you type the
+ EOF character (normally ^D) at an argument prompt, the session
+ hangs. Use the interrupt character (normally ^C) to get out.
+ * The client now supports options -h and -v.
+ * The client no longer zaps its command line in a lame attempt at
+ protecting users who foolishly specify passwords on the command
+ line. Zapping annoys system administrators and creates a false
+ sense of security.
+ * Journal entries are now flushed to disk right away when the server
+ is running in debug mode.
+ * Fix bugs in load that could make loading operations fail noisily
+ instead of silently on some systems.
+ * Server now reliably shuts down session when it receives an
+ end-of-file condition from the client. Before, it merely failed
+ the current command when it got it at an argument prompt.
+ * Fix bug in execute that could crash the server on some systems when
+ it prompts for the argument.
+ * Fix bug that let you check whether a non-allied carrier is
+ efficient enough for takeoff when one of your planes got stuck
+ there somehow.
+ * Fix bug that let you attempt to escort a one-way mission to a
+ carrier with non-light, non-interceptor escorts. Such planes don't
+ fit on carriers, and the command then failed with a bogus error
+ message. Before 4.2.17, the planes flew, and the escorts were
+ teleported home.
+ * Change the rules for fitting planes on ships slightly, so that the
+ order of loading no longer matters. Choppers and x-lights can now
+ use plane slots even when not light. X-light choppers, which don't
+ exist in the stock game, can no longer use x-light slots.
+ * The server now keeps its log file open, just like the journal.
+ * New server option -R to set the PRNG seed. This is for
+ reproducible tests. Change the Windows-only service uninstall
+ options from -r/-R to -u/-U.
+ * Supply a real PRNG for Windows instead of the leaky water-pistol
+ Windows provides.
+ * Threads sleeping until a specified time could return early under
+ Windows. This could cause missed updates. Broken in 4.3.10.
+ * Fix missing newline in show updates.
+ * Power report didn't factor tech into power correctly. Broken in
+ 4.3.3.
+ * Code refactoring and cleanup.
+ * Info file and documentation fixes and updates.
+
+Changes to Empire 4.3.10 - Thu Sep 6 17:59:53 UTC 2007
+ * Bridge spans now cost $1000 instead of $2000, and bridge towers
+ $3000 instead of $7500.
+ * The Windows port now supports IPv6, but it still needs to be
+ enabled manually at compile-time.
+ * The custom table reader detects more errors.
+ * Do not leak world creation time in files and fairland, because
+ that facilitates attacks against the PRNG. This misfeature crept
+ into 4.3.0.
+ * Remove the ancient, crufty non-UCONTEXT system-dependent LWP code.
+ Using it required manual hackery since 4.3.0.
+ * Plug file descriptor leak in add command.
+ * Don't kill player connections violently when their thread appears
+ to be hung. Threads being aborted by update or shutdown could be
+ misidentified as hung, and the violence could lead to resource
+ leaks, locked out updates, and corrupted game state.
+ * Fix LWP to reliably wake up threads sleeping for a time. Before,
+ players with a sufficiently fast connection could starve out system
+ threads, including the update.
+ * Fix a class of bugs that made commands behave differently while the
+ update is attempting to take control:
+ - No MOB_ACCESS mobility was gained.
+ - Telegrams were miscounted.
+ - Bulletins got misfiled as production reports.
+ - The navigate command ignored sail paths.
+ - The declare command was more quiet, and declarations of war
+ failed silently when SLOW_WAR was enabled.
+ - Many messages got misdirected to bulletins.
+ Some of these bugs go back all the way to Empire 2, ca 1995.
+ * New deity command reload, effect similar to SIGHUP.
+ * Not voting for a demand update no longer lets you veto further
+ demand updates. This feature was flawed (it encourages players to
+ vote late so that they can tactically vote no and thus build up
+ veto rights), virtually unused, and buggy. The edit command still
+ accepts and ignores the country key 'U' for compatibility, but it
+ is deprecated.
+ * Fix zdone not to claim to have triggered an update when they're
+ disabled.
+ * New update scheduler and ETU clock:
+ - New schedule file. See doc/schedule for how to use it. Replaces
+ econfig keys update_policy, adj_update, update_times, hourslop,
+ blitz_time. A change of schedule does not require a server
+ restart.
+ - The force command can no longer force updates in the future.
+ Edit the schedule file for that.
+ - New command show updates to show the update schedule. Obsoletes
+ the update command.
+ - New xdump game and xdump updates.
+ - New utility program empsched to help test update schedules.
+ - Replace option DEMANDUPDATE and econfig key update_demandpolicy
+ by econfig key update_demand.
+ - econfig key update_demandtimes no longer applies to scheduled
+ demand updates.
+ - You now receive new BTUs at the update in addition to login.
+ - You now always gain the same BTUs and MOB_ACCESS mobility per
+ turn, even when the update schedule changes, updates get missed,
+ or unscheduled demand updates run.
+ - Remove the mobupdate command, because porting it to the new ETU
+ clock is not worth it.
+ * Redesign of synchronization between commands, update and shutdown,
+ and how updates are triggered:
+ - Simplify update to a single thread waiting for the trigger.
+ Before, three update threads had to perform a carefully
+ choreographed dance to make updates happen. The dance relied on
+ thread priorities for correctness, which are only implemented by
+ LWP. With pthreads and under Windows, demand updates were prone
+ to two update threads starting up concurrently. Even with LWP,
+ forced and demand updates could lead to double updates.
+ - Use a lock for synchronization: commands take it shared, update
+ and shutdown take it exclusive. This makes update and shutdown
+ block until all aborted commands terminated and gave up their
+ lock. Before, they proceeded blindly after waiting two or one
+ seconds respectively, which was cheesy and unsafe.
+ - New commands no longer fail while the update is pending, they are
+ delayed until after the update.
+ - New commands can no longer start during shutdown. Before, they
+ could, but risked getting killed violently, possibly corrupting
+ game state.
+ - Fix command execution so that commands blocked in writing
+ redirections are abortable. The bug allowed players to delay
+ update and shutdown indefinitely.
+ - Fix shutdown not to let player threads block on output. This
+ let players delay shutdown indefinitely.
+ - Fix reading of player input not to block again after update or
+ shutdown aborted it. The bug allowed players to delay update and
+ shutdown indefinitely.
+ * Thread priorities are only implemented by LWP and no longer used.
+ With LWP, they let players with a sufficiently fast connection
+ starve out the threads that clean the lost file and kill idle
+ connections. Drop them.
+ * Show nuke rounded required research incorrectly.
+ * Log unprintable characters as octal escapes rather than question
+ marks in the journal file.
+ * The files program no longer changes permissions of existing files.
+ * The files program now creates all files with permissions ug=rw and
+ all directories ug=rwx, modified by umask.
+ * Fix a bug that could make arm, disarm and nuke detonation work with
+ a used-up nuke instead of the armed one. This could be abused to
+ detonate nukes multiple times. Broken in 4.3.3.
+ * Fix nuke detonation output for zero blast radius.
+ * Plug memory leaks in thread code.
+ * Fix a bug that made LWP I/O wakeup unreliable.
+ * New march sub-command v for view.
+ * Journal was initialized before threads were, which was wrong.
+ * Fix server not to create a journal on SIGHUP when it is disabled.
+ * shutdown 0 now requests immediate shutdown instead of cancellation
+ of a pending shutdown. shutdown -1 now cancels.
+ * flash and wall no longer split long message lines.
+ * Fix a bug in collect that screwed up a fully collected loan instead
+ of deleting it. The screwed up loan could not be sharked or
+ collected, but it could be repaid.
+ * Remove the wait command, it's been broken and restricted to deity
+ since Empire 2, ca. 1995.
+ * Budget failed to take sector production into account for predicting
+ unit repairs. Before 4.3.6, this bug bit only when you fooled
+ around with budget priorities.
+ * When unit repairs are limited by materials, the efficiency gain is
+ now rounded down.
+ * Ship repairs outside harbors and plane repairs by carriers used to
+ consume commodities when and as far as available. Now, they
+ consume the same fraction of the real cost of each commodity,
+ i.e. commodity use is limited by the most scarce commodity.
+ Neither old nor new behavior make much sense, but the new code is
+ simpler.
+ * Code refactoring and cleanup, in particular to make the Windows
+ port less ugly.
+ * Portability fixes.
+ * Info file and manual page updates. All manual pages are now
+ installed in section 6.
+
Changes to Empire 4.3.9 - Sat Jan 6 12:42:19 UTC 2007
* Fix declare to prevent the deity from changing relations for a
player to self. Allow the deity to set the relations of a player
* Fix arm not to put the same nuke on multiple planes (broken in
4.3.3).
* New option AUTO_POWER.
- * Repair allied land units.
- * Only repair owned and allied planes.
+ * Sectors now repair allied land units.
+ * Sectors now repair only own and allied planes.
* Fix repair of planes on foreign carriers: repair allied planes,
ignore the others. Before 4.3.3, carriers destroyed rather than
repaired foreign planes. Since 4.3.3, foreign planes were treated
* 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.
+ * 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