X-Git-Url: http://git.pond.sub.org/?p=empserver;a=blobdiff_plain;f=doc%2FCHANGES4.X;h=334ace36e3770103e707bcc40b82ffc89a1f5467;hp=2f7dde14cacce20fbfcc496688c43e81157bfa0d;hb=94362ac8db4ba2c4d981b8eb8d3278e86e699b34;hpb=4aaea42a83dbff310b80184645d6a0394b2a3f40 diff --git a/doc/CHANGES4.X b/doc/CHANGES4.X index 2f7dde14c..334ace36e 100644 --- a/doc/CHANGES4.X +++ b/doc/CHANGES4.X @@ -1,15 +1,139 @@ -Changes to Empire 4.3.30 - Thu Apr 26 18:14:49 UTC 2012 +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. Without that, we could fail to update the treasury, record - play time, and write log entries. The old code is racy. It goes - back to Empire 2. It was patched in 4.2.10, 4.2.12, 4.2.20, 4.3.6, - 4.3.10 and 4.3.23, but the core problem remained unaddressed. - * When shutdown aborts a command, the terminating player thread could - still get stuck sending output, and thus lose the race just - mentioned. Broken in 4.3.23. + 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