Merge branch 'master' of git+ssh://git.thousandparsec.net/git/tpserver-cpp
[tpserver-cpp.git] / ChangeLog
1 03 Jan 09 - Lee
2     * Version 0.6.0
3     * Merged 2008 GSoC projects: Risk, TaE, remote admin
4     * Various bug fixes: OSX, configure, gcc-4.3, libtool2
5     * Updated MySQL persistence for TP04 new features
6     * Total commit: 364
7
8 1 Jul 08 - Lee
9     * Version 0.5.1
10     * Refactored out-of-game frames
11     * Further TP04 support, GetPlayerIds and references in Fail Frames.
12     * Configure and build fixes, for gcc 4.3 and autoconf 2.62
13     * MzScheme detected again correctly
14     * Avahi Publisher works after dbus or avahi-daemon restarts
15     * Numerious fixes for Mac OS X
16
17 01 May 08 - Lee
18     * Version 0.5.0
19     * RFTS ruleset added, xdotx GSoC project 2007
20     * TP04 support
21     * ObjectParameters, ObjectTypes and ObjectBehaviour instead of ObjectData
22     * Split PlayerView from Player
23     * Added ObjectView, DesignView and ComponentView to PlayerView
24     * Rewrite of Object parts of Mysql Persistence Module
25     * Victory conditions and messages in Minisec
26     * Status command on console
27     * Moved turn processing from core to rulesets
28     * Split OrderQueues into its own class
29     * Much, much more
30     * Total commits: 548
31
32 01 Mar 07 - Lee
33     * Version 0.4.1
34     * Metaserver setting for turning on sending updates
35     * Signal Handler for exiting cleanly
36     * PlayerTlsConnection using PlayerTcpConnection, gaining non-blocking support
37     * Added Mersenne Twister (mt19937), for PRNG
38     * Home Planet resource in minisec
39     * Resources for MTSec added
40     * Updated console to libtprl 0.1.2, added prompt and fixed bugs, and redisplaying line
41     * Removed reconfigure method for LogSinks, use SettingCallbacks instead
42     * Made sizes of star systems fit closer in minisec
43     * Fixed removing ships from fleets in minisec
44     * Fixed spelling on property name in Minisec
45     * Invalid the Game turn timer incase run from the console in EOT processing
46     * Removed guest/guest refuse hack
47     * Added support for guile 1.8 (thanks JLP for testing)
48     * Fixed mini-ipv6 MetaserverConnection (thanks mithro)
49     * Made sure getOrder returns at least one frame
50     * Metaserver update doesn't try for 12 minutes after 5 connection errors (bug from nash)
51     * Minisec universe generation doesn't re-use star system names (bug from nash)
52     * Fixed GetOrderType_List frame type (bug from nash)
53     * No longer crashes on unknown order type (bug from nash)
54     * Proper length remaining checking in order and orderparameter unpacking (bug from nash)
55     * Fixed terminal color reseting (bug from nash)
56     * Warnings when metaserver updates are disabled
57     * Port from dlopen to libltdl (thanks mithro)
58     * Include libltdl in tree because Debian and Ubuntu (thanks mithro)
59     * Velocity is now where it should be next turn (thanks mithro)
60     * ETA calcuation for Move orders in Minisec fixed (bug from nash)
61     * Added Ping limiting code
62     * Logging added (thanks mithro) and some reformating
63
64 31 Jan 07 - Lee
65     * Version 0.4.0
66     * Fixed corner cases in Build orders
67     * Fixed resource removal in planet for when build orders use resources
68     * Hacked to make all designs visible to all players
69     * Keep the port numbers used in listen sockets
70     * Avahi mDNS-SD support
71     * SettingCallback for when settings changed
72     * Used SettingsCallback for logging reconfiguring
73     * Used SettingsCallback when add_players setting is changed
74     * Added settings for server_name, game_command, admin_email and others
75     * Fixed all read-only field assumptions
76     * Added Advertiser class to handle Publishers which send out the info about the game
77     * Added Metaserver support.
78     * Parameterised Orders to use OrderParameter classes
79     * Removed Ordertype Persistence classes and used the Parameters instead
80     * Fixed TlsManager lack of dereferencing
81     * Made tp and http player connections non-blocking
82     * Added (one-shot) select on write (needed for non-blocking)
83     * Random system generation in Minisec (taken from MTSec)
84     * Only export to mdns-sd tp and tps sockets, unless there are neither of them
85     * TimerCallback for timers, used to set timeout on select loop
86     * tpserver-cpp no longer wakes up every 100ms, now only as needed
87     * Very basic defaults when no commandline is given
88     * Checking for undersized frames finished
89     * Implemented AvahiPoll API to greatly improve preformance
90
91 21 Nov 06 - Lee
92     * Version 0.3.1
93     * Some refactoring to remove magic numbers for Properties
94     * HTTP tunneling socket (experiemental)
95     * Account frame handling and feature id list improvements
96     * Configure test changes for mzscheme and guile
97     * Fixed bug not updating modtime of universe object every turn
98     * Fixed bug build orders not working
99     * Added start of MTSec support, not working yet
100
101 08 Jul 06 - Lee
102     * Version 0.3.0
103     * New directory structure
104     * Split out modules into libraries (persistence, ruleset and tpscheme)
105     * Added resource descriptions and use them for ship parts under construction in minisec
106     * Using libtprl for readline console
107     * PluginManager for managing dynamically loaded modules
108     * Dynamic loading modules
109     * Console commands for setting up games
110     * Settings for setting up game and starting automatically
111     * Fixed install so that it works
112     * Other fixes
113
114 19 Feb 06 - Lee
115     * Version 0.2.1
116     * Fixes in network management
117     * Fixed logging string length bug
118     * Fixed RSP combat so that the combatants don't both disappear always
119     * MzScheme 30x support, Guile support
120     * Parsing config file and command line args changes
121     * Colour console with time as well
122     * Logging to file and Syslog
123     * Other fixes
124
125 12 Dec 05 - Lee
126     * Version 0.2.0
127     * Added Persistence Interface, and use it in the various parts of the server.
128     * Added optional MySQL backend for Persistence.
129     * Added optional tps and https secure sockets (using gnutls).
130     * Added more commands to console to make it more usable.
131     * Fixed a number of bugs.
132
133 14 Nov 05 - Lee
134         * Version 0.1.2
135         * Full TP03 support
136         * Settings improvements in preparation for presistance
137         * New command line arguments and updated man page
138         * Can now change the port/address the server listens on
139         * Full design support
140         * Minisec still supported
141         * Now requires MzScheme for  TPCL (ex NCL)
142
143 15 May 05 - Lee
144         * Version 0.1.1
145         * Most of the required parts of TP03 plus ping frames (keep alive) -
146         but not Design and Component frames.
147         * Greatly improved messages to players.
148         * Added command completion using readline
149         * Now running single threaded
150         * Some work on Settings in preparation for future work (database in
151         particular)
152         * Players how have a list of the object Ids they can see, so with a
153         bit of work we have visibility defined - just need to reduce the list
154         passed to the player.
155         * Tagged and released before added design stuff, including NCL(scheme)
156         dependancies
157
158 27 Jan 05 - Lee
159         * Version 0.1.0
160         * This release is for Minisec.
161         * Improved universe generation (as each player connects)
162         * Sends some frames to clients being silly (ie, not asking for anything)
163         * Tells future protocol versions that they are too new.
164         * Swapped NEWS and ChangeLog files (I had them round the wrong way)
165         * Few small fixes for general memory leaks.
166         * Added GPL headers to all source files.
167         * Improved messages sent on order completion.
168         * Seed the PRNG now  :-)
169         
170
171 10 Oct 04 - Lee
172         * Version 0.0.9 released.
173         * Minisec capable.
174         * Merge fleet and colonise working.  Combat working.
175         * Fixed bugs in recontainerisation and movement.
176         * Fixed order of padding and extra data in object frames.
177         * Next version will be minisec release 0.1.0, only little fixes, no
178           big changes.
179
180 01 Oct 04 - Lee
181         * Version 0.0.8 released.
182         * More refactoring.  New ObjectDataManager and OrderManager classes
183         * Split fleet, merge fleet and colonise orders started (only split
184         * fleet is working currently).
185         * Also added man page. Removed compiler warnings too.
186         * Changed name! tpserv -> tpserver-cpp
187
188
189 08 Aug 04 - Lee
190         * Version 0.0.7 released.
191         * Fixed up lots of things for Debian (auto* stuff, etc)
192         * Added support of Message boards.
193         * Second lot of refactoring.
194
195 01 Aug 04 - Lee
196         * Version 0.0.6 released.
197         * Build order support corrected.  Parsecstone Foxtrot.
198         * Some of the refactoring I am doing for uni project is in this 
199           release.
200
201 29 Jul 04 - Lee
202         * Version 0.0.6rc1 released.
203         * Build order support, not tested.
204         * Some initial work towards MiniSec.
205
206 27 May 04 - Lee
207         * Version 0.0.5 released.
208         * Fixed recontainisation bug.
209         * Other fixes for py-clients.
210
211 02 May 04 - Lee
212         * Version 0.0.5rc1 released.
213         * Server can:
214         *  - do End Of Turn every 10 minutes
215         *  - delete orders when they are done
216         *  - process orders as needed
217         * TP01 support has been removed.  TP02 support is complete up to 
218           echo level.
219
220 18 Apr 04 - Lee
221         * Version 0.0.4 released.
222         * Fixed TP02 support, ParsecStone Delta supported.
223         * Includes IPv6 support.
224
225 17 Jan 04 - Lee
226         * Version 0.0.4rc2 released.
227         * No feature changes to the server, but have changed to using TP02
228         * protocol with full backward compatiblity with TP01
229
230 07 Jun 03 - Lee
231         * Version 0.0.4rc1 released.
232         * Server can:
233         *  - remember orders correctly
234         *  - create Move and Nop orders
235         *  - create Planet and Fleet Objects
236         *  - return outcomes when requested
237         * The server also creates a Star system, Planet and a Fleet object 
238           for each new player.  The fleet can be given orders by the 
239           player.
240
241 18 May 03 - Lee
242         * Version 0.0.3 released.
243         * Server can:
244         *  - send orders requested by clients
245         *  - send order descriptions requested by clients
246         *  - console can set what players can set what order on what object. 
247              Press "o" then enter, then the player id, the object id and the 
248              order type number, then enter
249         *  - objects can be given orders and have them removed.
250         *  - objects define on a pre player basis which order they will take
251
252 02 Mar 03 - Lee
253         * Version 0.0.2 released.
254         * Server can:
255         *  - send objects requested by clients
256         *  - create the tutorial universe with one galaxy with 3 star systems
257         *  - load universe from file, press l then enter on the console then 
258              input the file name
259
260 01 Feb 03 - Lee
261         * Version 0.0.1 released.
262         * Server can:
263         *  - accept connections and allow anyone to login
264         *  - start and stop network from console, without stopping the server
265         * This release of the server is at Milestone Alpha.