1 | Deliantra MORPG Server, Maps and Archetypes ChangeLog. |
1 | Deliantra MORPG Server, Maps and Archetypes ChangeLog. |
|
|
2 | |
2 | Version numbers sort like decimal numbers. |
3 | Version numbers sort like decimal numbers. |
3 | |
4 | |
4 | TODO: apartment-descritpions for gotisch1/2 |
5 | 2010-04-07 23:58:02.2729 [ABT] BUG: hitter ({cnt:4994384,uuid:<1.7f744a072>,name:"icestorm",flags:[8,11],type:102}(on /gotischerbereich/mlabspiraltower/std5@0+6)) with no relation to target ({cnt:4984688,uuid:<1.7f742acea>,name:"Dread",flags:[0,8,11,14,21,52,103,104],type:0}(on /gotischerbereich/mlabspiraltower/stc5@15+5)) at /opt/deliantra-server/share/deliantra-server/cf.pm line 3951 |
|
|
6 | 2010-04-07 23:58:02.2729+ eval {...} called at /opt/deliantra-server/share/deliantra-server/cf.pm line 3951 |
|
|
7 | 2010-04-07 23:58:02.2729+ cf::tick() called at /opt/deliantra-server/share/deliantra-server/cf.pm line 3519 |
|
|
8 | 2010-04-07 23:58:02.2729+ cf::main_loop() called at /opt/deliantra-server/share/deliantra-server/cf.pm line 3579 |
|
|
9 | 2010-04-07 23:58:02.2729+ cf::main() called at -e line 0 |
|
|
10 | 2010-04-07 23:58:02.2729+ |
|
|
11 | 2010-04-07 23:58:02.2729 [ABT] --- C backtrace follows --- |
|
|
12 | 2010-04-07 23:58:02.2729 [ABT] [log_backtrace(char const*)] /root/src/cf.schmorp.de/server/server/./cfperl.xs:1259 |
|
|
13 | 2010-04-07 23:58:02.2730 [ABT] [LOG(int, char const*, ...)] /root/src/cf.schmorp.de/server/common/logger.C:209 |
|
|
14 | 2010-04-07 23:58:02.2730 [ABT] [get_attack_mode] /root/src/cf.schmorp.de/server/server/attack.C:678 |
|
|
15 | 2010-04-07 23:58:02.2730 [ABT] [hit_player(object*, int, object*, unsigned int, int)] /root/src/cf.schmorp.de/server/server/attack.C:1447 |
|
|
16 | 2010-04-07 23:58:02.2730 [ABT] [hit_map(object*, int, unsigned int, int)] /root/src/cf.schmorp.de/server/server/attack.C:348 |
|
|
17 | 2010-04-07 23:58:02.2730 [ABT] [move_cone(object*)] /root/src/cf.schmorp.de/server/server/spell_attack.C:2066 |
|
|
18 | 2010-04-07 23:58:02.2730 [ABT] [process_object(object*)] /root/src/cf.schmorp.de/server/server/time.C:1356 |
|
|
19 | 2010-04-07 23:58:02.2731 [ABT] [process_events] /root/src/cf.schmorp.de/server/server/main.C:275 |
|
|
20 | 2010-04-07 23:58:02.2731 [ABT] [server_tick()] /root/src/cf.schmorp.de/server/server/main.C:405 |
|
|
21 | 2010-04-07 23:58:02.2731 [ABT] [XS_cf_server_tick] /root/src/cf.schmorp.de/server/server/./cfperl.xs:1641 |
|
|
22 | 2010-04-07 23:58:02.2731 [ABT] [Perl_pp_entersub] /root/cvt/perl/perl-5.10.0/pp_hot.c:2851 |
|
|
23 | 2010-04-07 23:58:02.2731 [ABT] [Perl_runops_standard] /root/cvt/perl/perl-5.10.0/run.c:38 |
|
|
24 | 2010-04-07 23:58:02.2731 [ABT] [Perl_call_sv] /root/cvt/perl/perl-5.10.0/perl.c:2632 |
|
|
25 | 2010-04-07 23:58:02.2731 [ABT] [cfperl_tick()] /root/src/cf.schmorp.de/server/server/./cfperl.xs:1052 |
|
|
26 | 2010-04-07 23:58:02.2731 [ABT] [??] ??:0 |
|
|
27 | 2010-04-07 23:58:02.2732 [ABT] [??] ??:0 |
|
|
28 | 2010-04-07 23:58:02.2732 [ABT] [??] ??:0 |
|
|
29 | 2010-04-07 23:58:02.2732 [ABT] [Perl_pp_entersub] /root/cvt/perl/perl-5.10.0/pp_hot.c:2851 |
|
|
30 | 2010-04-07 23:58:02.2732 [ABT] [Perl_runops_standard] /root/cvt/perl/perl-5.10.0/run.c:38 |
|
|
31 | 2010-04-07 23:58:02.2732 [ABT] [Perl_call_sv] /root/cvt/perl/perl-5.10.0/perl.c:2632 |
|
|
32 | 2010-04-07 23:58:02.2732 [ABT] [main] /root/src/cf.schmorp.de/server/server/main.C:428 |
|
|
33 | |
5 | TODO: it is possible to inventory-lock items on the floor, and *spomehow* possible to drop them. |
34 | TODO: it is possible to inventory-lock items on the floor, and *spomehow* possible to drop them. |
6 | TODO: think about naking the rhyzian amulet useful - makes little sense in deliantra? |
|
|
7 | TODO: cast invisible... |
|
|
8 | TODO: build code marks all sorts of objects as unique |
|
|
9 | |
35 | |
10 | TODO: 2009-11-29 12:48:48.3974 /opt/crossfire/share/crossfire/treasures:5729, "arch stonebig_club": treasure references unknown archetype |
36 | TODO: 2009-11-29 12:48:48.3974 /opt/crossfire/share/crossfire/treasures:5729, "arch stonebig_club": treasure references unknown archetype |
11 | TODO: 2009-11-09 02:36:57.7199 unable to resolve postponed arch reference to 'Hanuk' |
37 | TODO: 2009-11-09 02:36:57.7199 unable to resolve postponed arch reference to 'Hanuk' |
12 | TODO: summon cult does not properly create multipart monsters? |
38 | TODO: summon cult does not properly create multipart monsters? |
13 | TODO: kill flag_is_water/is_water |
|
|
14 | 2010-01-16 20:39:27.1222 BUG: process_events(): Object {cnt:2127760,uuid:<1.7241a5bd1>,name:"throwing dagger",flags:[17,24],type:48}(on /brest/ludo2@8+2) has no speed (-0.033333), but is on active list |
39 | 2010-01-16 20:39:27.1222 BUG: process_events(): Object {cnt:2127760,uuid:<1.7241a5bd1>,name:"throwing dagger",flags:[17,24],type:48}(on /brest/ludo2@8+2) has no speed (-0.033333), but is on active list |
15 | |
40 | |
16 | { |
|
|
17 | "dungeon_depth" : "3", |
|
|
18 | "dungeon_level" : "8", |
|
|
19 | "exitstyle" : "sstair", |
|
|
20 | "final_map" : "/quests/peterm/quests/ogre_chief", |
|
|
21 | "floorstyle" : "stones2", |
|
|
22 | "layoutstyle" : "maze", |
|
|
23 | "monsterstyle" : "humanoid", |
|
|
24 | "orientation" : "1", |
|
|
25 | "origin_map" : "/world/world_106_115", |
|
|
26 | "origin_x" : 9, |
|
|
27 | "origin_y" : 18, |
|
|
28 | "random_seed" : 623236402, |
|
|
29 | "region" : "highway", |
|
|
30 | "symmetry" : 1, |
|
|
31 | "wallstyle" : "earthen", |
|
|
32 | "xsize" : 29, |
|
|
33 | "ysize" : 19 |
|
|
34 | } |
|
|
35 | |
|
|
36 | TODO: removing a single map tag from one map kills the tag on other maps as well, apparently |
41 | TODO: removing a single map tag from one map kills the tag on other maps as well, apparently |
37 | TODO: savebed_map {link} bed_x 1 bed_y 4, player changer? |
|
|
38 | TODO: freed objects cache instead of salloc/sfree |
|
|
39 | |
42 | |
40 | TODO: walk on button, start levitate, walk off => button stays pressed |
43 | TODO: golem survives "longer" now - too long? |
|
|
44 | TODO: clean up skill handling in kill_object. |
|
|
45 | TODO: make the "feed all faces" flag persistent between logins. |
|
|
46 | TODO: mining experience |
|
|
47 | TODO: |
|
|
48 | 2010-04-15 06:50:54.4317 victim {cnt:53513,uuid:<1.80d9c4f7d>,name:"Erich Emautti",title:"the Wizard",flags:[0,14,16,21,29,52,53,54,55,56,57,58,79,82,103,104],t |
|
|
49 | ype:0}(on /gotischerbereich/mlabspiraltower/sttop1@12+16) (-15411) already dead in hit_player() |
|
|
50 | TODO: 2010-04-16 00:11:12.8142 {cnt:414174,uuid:<1.80ffd5a6b>,name:"teleporter",flags:[8,11,103,105,106],type:41}(on /scorn/houses/house3.bas1@5+4): no alternative teleporters around (user {cnt:386700,uuid:<1.81001a4d6>,name:"mouse",flags:[0,8,11,14,16,104],type:0}(on /scorn/houses/house3.bas1@5+4)). |
|
|
51 | TODO: I can access all the apartments I have ever rented, even though I stopped renting them long ago. I have ever rented, even though I stopped renting them long ago. I can enter the scorn and SD apartments |
|
|
52 | TODO: mining class |
|
|
53 | TODO: freelist freeing |
|
|
54 | TODO: highest cpu users: stand_in_light (object *op), get_map_flags, blocked_link, path_to_player |
|
|
55 | TODO: one cna apply, but not open, containers without keys |
|
|
56 | TODO: - entering a map will now respect move_on and other effects. |
|
|
57 | - (maps, arch) complete revamping of the transport routes - all cities are |
|
|
58 | now easily reachable, at a price. |
41 | - (maps) the mana fountain has now a ratelimit, 30 potions per hour. |
59 | - (maps) the mana fountain now has a ratelimit of 30 potions per hour. |
42 | - (maps) added (navar) gravedigger, that buys players gravestones. |
60 | - (maps) added (navar) gravedigger, that buys players gravestones. |
|
|
61 | - (maps) added the rathouse quest for the shockwave spell in navar |
|
|
62 | (by Dustfinger). |
|
|
63 | - (maps) Fixed bad floor tile in navar apartment. |
43 | - made (wizard) look_at show also uuids. |
64 | - made (wizard) look_at show also uuids. |
44 | - added cf::object::find_object_uuid (::find_object already exists!). |
65 | - added cf::object::find_object_uuid (::find_object already exists!). |
45 | - (maps) added new apartment, made by LinuxLemoner. |
66 | - (maps) added new apartment, made by LinuxLemoner. |
|
|
67 | - (maps) added quest for the mining skill scroll to valleynoy. |
|
|
68 | - (maps) added greedy highlevel book shop to heaven town. |
46 | - (arch) added sounds: zombie death, book reading, inscription. |
69 | - (arch) added sounds: zombie death, book reading, inscription. |
47 | - (arch) made the hill giants loose more body parts. |
70 | - (arch) made the hill giants loose more body parts. |
48 | - (arch, maps) added black unicorn horn, required to access mlab hell. |
71 | - (arch, maps) added black unicorn horn, required to access mlab hell. |
|
|
72 | - (arch) increased the (possible) number of arrows/bolts found in shops |
|
|
73 | and made them a bit more expensive. |
|
|
74 | - (maps) add more glory hole treasure styles. |
|
|
75 | - (maps, arch) add "hollow" variants of cave\d tiles, and use them |
|
|
76 | in a select number of mlab maps. |
|
|
77 | - only talk to the items on the nearest mapspace, or, of there |
|
|
78 | are none, to the player, not ALL items in vicinity. |
|
|
79 | - do not update the floorbox while running, to avoid big item |
|
|
80 | updates that cost network bandwidth and processing power. |
|
|
81 | - diseases could reduce a monsters speed to MIN_ACTIVE_SPEED, which |
|
|
82 | caused overflows causing monsters to become living deads. |
|
|
83 | - unapply weapons and armour before trying to improve it. |
|
|
84 | - teach the random map generator the ability to read ".rmg" files |
|
|
85 | that specify which actual style map to generate, and use it for |
|
|
86 | the default decorstyle to avoid inappropriate maps to be used. |
|
|
87 | - support (with some limitations) multiple different skills with the |
|
|
88 | same subtype. |
|
|
89 | - fix "nekosan duplication" bug - map swap out was not atomic, |
|
|
90 | so nekosan could end up beign saved AND escaped to another map. |
|
|
91 | - show invisible no longer makes magic mouths visible. |
|
|
92 | - move_type changes (spells, skills etc.) now will correctly |
|
|
93 | take move_on/move_off into account (e.g. buttons). |
|
|
94 | - display (exit) or (random map) in client for those objects. |
49 | - remove (useless) spell damage columns from spell info and replace |
95 | - removed (useless) spell damage columns from spell info and replace |
50 | it by effective casting level - clients > 2.10 required to display |
96 | it by effective casting level - clients > 2.10 required to display |
51 | properly. |
97 | properly. |
52 | - building of levers/doors works again for all kinds of floors. |
98 | - building of levers/doors works again for all kinds of floors. |
53 | - the player can now withdraw and deposit all the available money. |
99 | - the player can now withdraw and deposit all the available money. |
54 | - (maps) fix the apartment shop (japan => 吾妻) and add descriptions for |
100 | - (maps) fix the apartment shop (japan => 吾妻) and add descriptions for |
55 | steinwandstadt/celvear. |
101 | steinwandstadt/celvear. |
56 | - (maps) added /goodies map (goto *idkfa) with stuff useful for testing. |
102 | - (maps) added /goodies map (goto *idkfa) with stuff useful for testing. |
|
|
103 | - (arch,maps,code) rebalanced value of spellbooks greatly. it's now |
|
|
104 | mostly based on the spell's level in the spellbook. |
57 | - improve editor support protoocl slightly, provide workarounds for 2.10 |
105 | - improve editor support protocol slightly, provide workarounds for 2.10 |
58 | clients. |
106 | clients. |
59 | - tcp.ext didn't unbind in reloads. |
107 | - tcp.ext didn't unbind in reloads. |
60 | - map-tags.ext didn't properly close the database on reloads. |
108 | - map-tags.ext didn't properly close the database on reloads. |
61 | - cfutil skips .-directories when scanning. |
109 | - cfutil skips .-directories when scanning. |
62 | - build.ext prevents players from building on other player's maps. |
110 | - build.ext prevents players from building on other player's maps. |
63 | - rent.ext allows the dm to enter anytime. |
111 | - rent.ext allows the dm to enter anytime. |
64 | - NPC_Dialogue adds a new predefined variable, $map. |
112 | - NPC_Dialogue adds a new predefined variable, $map. |
65 | - new "build" event hook. |
113 | - new "build" event hook. |
66 | - get rid of archetype min/mac values except max_x (which should go, too). |
114 | - get rid of archetype min/max values except max_x (which should go, too). |
67 | - added fix_generated_item and cf::object::generate to XS interface. |
115 | - added fix_generated_item and cf::object::generate to XS interface. |
68 | - no longer use uppercase identifiers for saving anywhere, but support |
116 | - no longer use uppercase identifiers for saving anywhere, but support |
69 | them on loading, for old playerfiles and maps. |
117 | them on loading, for old playerfiles and maps. |
|
|
118 | - removed is_legal_2ways_exit - this is apparently dead code, and |
|
|
119 | would be handled differently nowadays anyway. |
|
|
120 | - random map .meta were not being expired at all. |
|
|
121 | - replace move_ob/move_object functiony by the equivalent move method. |
|
|
122 | - update to automake 1.10. |
|
|
123 | - invitation to maps with unagressive and friendly monsters doesn't |
|
|
124 | require level 4 anymore. |
|
|
125 | - do not let update_stats muck with the chosen_skill anymore. |
|
|
126 | - monsters now rotate through all skills (in chosen_skill). |
|
|
127 | - fix lots of path-related buffer overflows in the random map generator. |
|
|
128 | - detect/sense curse/magic will no longer work on items that don't |
|
|
129 | need identify. |
|
|
130 | - added detect mineral vein spell. |
|
|
131 | - support "wall overlays" in the random map generator - not very generic, |
|
|
132 | used by minable veins. |
|
|
133 | - (maps) relocated jeweler town to another directoy. |
|
|
134 | - (arch) implement mining pickaxes and mining skill. |
|
|
135 | - (arch) add missing stonebig_club archetype from cfextended. |
|
|
136 | - jeweler skill doesn't diminish input values anymore. |
|
|
137 | - generate most constants for perl automatically. |
|
|
138 | - properly check for weapon name prefix ("Ragnarok's sword"). |
|
|
139 | - when player dies, restore his food to at least 200. |
|
|
140 | - support multiple inheritance for arch sources (inherit a,b,c). |
|
|
141 | - switch to storable-n-format for facedata, for better interoperability. |
|
|
142 | - implement generic "ranged" item framework (pickaxe, fishing rod). |
|
|
143 | - the singing skill actually respects the direction now. |
|
|
144 | - oratory and singing now require a direction. |
|
|
145 | - use_skill now requires that you can actually apply the skill tool. |
|
|
146 | - do not invoke perl on every user command anymore by providing |
|
|
147 | a command and an unknown_command event. |
|
|
148 | - move mark, run, run_stop, fire and fire_stop commands back from |
|
|
149 | perl to C++, for speed reasons (basically undo patchset 1304). |
|
|
150 | - add a client_destroy event, so we don't have to hook the |
|
|
151 | attachable destroy event (which is called much more often). |
|
|
152 | - removed (unused) FLOOR object type. |
|
|
153 | - fix errornous change_abil messages for rods (and other types). |
|
|
154 | - remove include/commands.h and server/c_new.C, and refactor |
|
|
155 | all into server/commands.C. |
|
|
156 | - save and restore combat/ranged/current slot for players. |
|
|
157 | - the server now batches item's face/fx commands, as opposed |
|
|
158 | to sending one fx per item - helps mostly at connect and |
|
|
159 | with floorbox updates. |
|
|
160 | - implemented ext::player_env::play_music_once $who->contr, "km/...". |
|
|
161 | - the random map generator now supports selecting difficult for |
|
|
162 | more style categories than just monsters (all except fountains |
|
|
163 | apparently). |
|
|
164 | - object serialiser no longer creates empty "owner" references. |
|
|
165 | - make sure failed castings take some time, too, to avoid being |
|
|
166 | smitten by your god. |
|
|
167 | - many more failmsgs and help texts. |
|
|
168 | - support log suspension/resumption, e.g. for defragmenting. |
|
|
169 | - stop thrown objects when their speed goes too low. |
|
|
170 | - log the number of unique logins seen every minute in a compact |
|
|
171 | format (for statistics). |
|
|
172 | - do not send delitem for players. |
|
|
173 | - support static scalar data members properly in genacc now. |
|
|
174 | - implement "simple" freelist management for objects. |
|
|
175 | - recycle object counts now - to support longer uptimes. |
|
|
176 | - got rid of the dreaded write_parameters_to_string (666 chars omitted) |
|
|
177 | function (and yes, 666 is exact!). |
|
|
178 | - random map generator results should now be fully repeatable. |
|
|
179 | - fixed possible crash bug in build code. |
|
|
180 | - rename find_marked_object to ->mark and speed up. |
|
|
181 | - player movers properly destroy themselves when used up, instead |
|
|
182 | of leaking. |
|
|
183 | - do not show msg for unidentified objects that need identification. |
|
|
184 | - convert formulae/bookarch/settings file parser to thawer framework. |
|
|
185 | - finally get rid of fgets (..., thawer) and use a much cleaner |
|
|
186 | next_line method. |
|
|
187 | - use nicer file format for exp_table and attackmess |
|
|
188 | (more like other resource files). |
|
|
189 | - make parse errors during server startup fatal. |
|
|
190 | - properly initialise all maptile values in constructor. |
|
|
191 | - improved {link} map. |
|
|
192 | - optional unloadable extensions will not lead to an endless loop. |
|
|
193 | - server will cleanly autorestart when running out of protocol IDs. |
|
|
194 | - use faster and slightly more exact find_dir_2 replacement. |
|
|
195 | - building listening books is possible again. |
|
|
196 | - (maps, arch) added archetype for building instructions and replaced |
|
|
197 | the copies of the instructions in the maps with it. |
|
|
198 | - (arch) made the spark shower spell available in shops. |
70 | |
199 | |
71 | 2.93 Sat Feb 13 15:52:36 CET 2010 |
200 | 2.93 Sat Feb 13 15:52:36 CET 2010 |
72 | - (maps) fix travel to valdor and back. |
201 | - (maps) fix travel to valdor and back. |
73 | - do no longer by default eval map cod ein safe compartments |
202 | - do no longer by default eval map cod ein safe compartments |
74 | (this can be re-enabled using the safe_eval config option). |
203 | (this can be re-enabled using the safe_eval config option). |
… | |
… | |
175 | decrease). |
304 | decrease). |
176 | - fixed a small uncleanlieness in item converters, which might |
305 | - fixed a small uncleanlieness in item converters, which might |
177 | have led to weird item multiplications. |
306 | have led to weird item multiplications. |
178 | - store hash value in shstr, not used by anything, but doesn't use much memory. |
307 | - store hash value in shstr, not used by anything, but doesn't use much memory. |
179 | - fixed crash bug in learn_spell command. |
308 | - fixed crash bug in learn_spell command. |
|
|
309 | - enhanced output of the mapinfo command. |
180 | - remove all traces of FLAG_NO_FIX_PLAYER. |
310 | - remove all traces of FLAG_NO_FIX_PLAYER. |
181 | - avoid sv_derived_from calls (lots of hash lookups) when converting |
311 | - avoid sv_derived_from calls (lots of hash lookups) when converting |
182 | from perl to c++. |
312 | from perl to c++. |
183 | - implemented least_significand_bit and for_all_bits_sparse_32 utilities |
313 | - implemented least_significand_bit and for_all_bits_sparse_32 utilities |
184 | and use it in some "inner" loops. |
314 | and use it in some "inner" loops. |
… | |
… | |
738 | - bugfix: when unapplying skills also remove them from the range/combat slots. |
868 | - bugfix: when unapplying skills also remove them from the range/combat slots. |
739 | - bugfix: do not merge items whose archetype name merges, use the |
869 | - bugfix: do not merge items whose archetype name merges, use the |
740 | archetype *archname* (chairs of different facings were merged). |
870 | archetype *archname* (chairs of different facings were merged). |
741 | - bugfix: fix a potential crash issue in find_object_name (not used |
871 | - bugfix: fix a potential crash issue in find_object_name (not used |
742 | normally). |
872 | normally). |
743 | - bugfix: locked doors cnanot be bashed down by magical means |
873 | - bugfix: locked doors cannot be bashed down by magical means |
744 | (destruction, magic missile etc.). |
874 | (destruction, magic missile etc.). |
745 | - swarm spells without a direction now use various spiral patterns |
875 | - swarm spells without a direction now use various spiral patterns |
746 | instead of being fully random. |
876 | instead of being fully random. |
747 | - update AnyEvent API to 3.4 and above. |
877 | - update AnyEvent API to 3.4 and above. |
748 | |
878 | |
… | |
… | |
827 | - merge items with different arch pointers refering to the same arch |
957 | - merge items with different arch pointers refering to the same arch |
828 | (due to archetype reloads). |
958 | (due to archetype reloads). |
829 | - refactored the object remove/insert functions and most related |
959 | - refactored the object remove/insert functions and most related |
830 | functions (decrease, split, merge_ob etc.). |
960 | functions (decrease, split, merge_ob etc.). |
831 | - make it compile better on freebsd (reported by pippijn). |
961 | - make it compile better on freebsd (reported by pippijn). |
832 | - remove GT_UPDATE_INV (no longer applicable). |
962 | - removed GT_UPDATE_INV (no longer applicable). |
833 | - fix the longstanding "container stays open" bug. |
963 | - fix the longstanding "container stays open" bug. |
834 | - improved floorbox updating to be incremental and other protocol |
964 | - improved floorbox updating to be incremental and other protocol |
835 | optimisations. |
965 | optimisations. |
836 | - get rid of update_after_inventory_change and only do update stats |
966 | - get rid of update_after_inventory_change and only do update stats |
837 | for weight once/tick/player at max. |
967 | for weight once/tick/player at max. |
… | |
… | |
1119 | - introduced new keyword for map files: file_format_version (integer, server version: 0) |
1249 | - introduced new keyword for map files: file_format_version (integer, server version: 0) |
1120 | - better message for apply failures due to applymode |
1250 | - better message for apply failures due to applymode |
1121 | - removed most all of the weather code |
1251 | - removed most all of the weather code |
1122 | - unified logging to stderr and file |
1252 | - unified logging to stderr and file |
1123 | - too many minor changes to document |
1253 | - too many minor changes to document |
|
|
1254 | |