-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathchangelog.txt
227 lines (227 loc) · 15.5 KB
/
changelog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
ANSI 2.5
MCP 2.1
[#0:bf_read] to set reading_input property
[$player.reading_input] to indicate when read() is actively occurring
[$command_utils:reading_input] verb to access .reading_input
[$prog:@add-option] to add options to option packages
[$time_utils.{minute, hour, day, week, month, year}] convenience properties for the number of seconds in the desired time period
Ported MCP help database from Waterpoint
[$generic_options.namewidth] set to a default of 25 since it's 2018
[$wiz:@code-replace] to globally replace strings in code
[$waif] Added with support for creation and initialization
[$object_utils:isa] Modified to support waifs
[#1, #3, #6, #7 :recycle()] Renamed pre_destroy
[#0:bf_recycle recycle] Renamed to bf_destroy and destroy
[#4:_recycle] Changed references to recycle to destroy
[#57:@toad] Change recycle to pre_destroy
[#57:mcd_2] Rename recycle to destroy
[$server_options.protect_recycle] Renamed to protect_destroy
[$dump_interval] Moved to $server_options
[$prog_options] Added "//_comments" and edited simpleedit:verbcode_external_to_internal to match. Also edited $prog:prog_options to allow simpleedit as a caller
[simpleedit:edit_set_program] Disabled line ~84 (split_verb_code) and wrote an appropriate 'what' variable
[$code_utils] Added commentify
[$mcp.client] Added
Ran $quota_utils:schedule_measurement_task and cleared $quota_utils:schedule_measurement_task
[$anon] Added with support for creating children and clearing owned_objects
[$mcp.session] Chparented to $anon
[$mcp:create_session] Changed creation to use this.session:new()
[$mcp.session:send] Changed line 12 to catch E_INVIND
[$root_class:set_name] Add error catching to is_player to catch anons
[$string_utils:explode] Replace with builtin explode()
[$object_utils:ancestors] Replace with builtin ancestors()
[$object_utils:descendants] Replace with builtin descendants()
[$object_utils:has_callable_verb] Replace with builtin respond_to
[$string_utils:prefix_to_value] Add map symbol and _tomap call
[$string_utils:_tomap] Added
[#0:sin] Added as alias for suspend_if_needed
[$cord] Replaced with $mcp.cord
[$player:@version] Pimp ToastStunt
[#0:bf_match and #0:bf_rmatch] Remove code paths that are impossible to reach.
[#0.force_input_count and #0:bf_force_input] Remove force_input_count.
[$login.goaway_message] Deleted (LambdaMOO vestige)
[#0.max_ticks, #0.max_seconds] Deleted
[#0.shutdown_task] Moved to $wiz_utils
[#0.shutdown_message] Moved to $wiz_utils
[#0.gripe_recipients] Moved to $wiz_utils
[#0.no_connect_message] Moved to $login
[$ftp, $gopher] Recycled.
[$password_verifier:check_dictionary] Removed references to $gopher
[#0.server] Added to hold server related information that doesn't fit anywhere else: last_restart_time, shutdown_time, server name, core_history
[#6:@version, #10:version] Use $server["name"]
[#24:boot_idlers] Replace LambdaMOO with $network.moo_name
[#0.class_registry and #4:@classes] Deleted.
[#0.help_db] Move #0.*_help into this map
[#0.options] Move #0.*_options into this map and change associated verbs.
[$login:maybe_limit_commands] Use a map instead of lists. Also clear in $login:server_started.
[$code_utils.error_names and error_list] Add Stunt errors
[$code_utils.builtin_props] Add last_move
[$player:@set-note-text] When editing a property value, default to processing by value. If that fails, assume it's all strings.
[#113:edit_set_note_value] Modified to parse property values
[$note_editor:local_editing_info] Changed reference from str to val when halfway appropriate. (This would be a good spot to match the @set-note-text behavior if appropriate. Maybe a @prog-o?)
[$mcp.parser:unparse] Modified to pass lists instead of tracing back
[$note_editor:note_text] Trimmed down the type check since we support more types now.
[$code_utils:parse_sysobj_map] Added. Attempt to parse a map string into a map value.
[$code_utils:parse_propref] Parse maps given as objects (e.g. @edit $options["ansi"].show_color)
[$code_utils:parse_verbref] Same as propref, only verbier.
[$string_utils:literal_object] Support matching to sysobj maps.
[$code_utils:corify_object] Return objects found in maps on $sysobj. Keeping with our current ghetto namespaces theme. (This may not be desirable, depending on what you store on #0.)
[$verb_editor:local_editing_info] Make it aware of simpleedit's v_filter_out.
[$login:connect] Verify password using argon2
[$login:encrypt_password] Encrypt using argon2b
[#6@registerme, #6:@password, #10:create, #24:make_player, #24:do_new_password] Encrypt using $login:encrypt_password
[$help_db["toaststunt"]] Created, added to $prog.help, and added to #6:init_for_core
[$composed] Added from Stunt
[$shapes] Added from Stunt
[$proto, $map_proto, $string_proto, $list_proto, $int_proto, $obj_proto] Lovingly ported from ChatMUD
[$spell] Purged the dictionary, changed the parent to #1, removed database verbs, and modified valid / guess_word to use builtin spellcheck.
[#88:@spell] Remove @complete
[#92] Remove help files for removed $spell stuff.
[$object_utils:has_callable_verb] Catch all errors.
[#0] Add .frobs
[$prog:@remove-option] Added.
[$verb_editor:parse_invoke] Function like @list and find the first matching verb on all ancestors.
[#0:core_objects] Recognize maps
[#0:lookup] Added as part of Composed
[$help_db["toaststunt"]] Add FileIO help
[$composed] Add audit verb to check packages for errors (this was removed from Composed in Improvise, so there is probably a good reason, but for now it seems handy)
[$ansi_utils] Update version string
[$composed:_set_seconds_and_ticks] Updated to check for and add appropriate server options.
[$composed:_reset_seconds_and_ticks] Delete server options if we manually added the properties.
[$shapes] Update to the latest dump from Improvise
[$options[prog]:show_verb_perms, check_verb_perms, parse_verb_perms and $prog:@verb] Add programmer option for default verb permissions.
[#0:s ies es] Added to "pluralize" a word based on a number.
[$composed:_lookup_by_label] Manually define __wizard__, which may not be appropriate at all. But it fixed one of many Composed tracebacks so I'm going with it.
[$login.argon2] Set parameters to server defaults.
[$edit_utils] Add the inline editor used by ChatMUD and Miriani.
[$edit_state] Add $edit_state for editor state storage.
[$player.inline_editor_options] To store inline editor options.
[$edit_utils:options] Calling $edit_utils:options() will return the editor options menu, but there is no frontend verb to accomplish this at the moment.
[$menu_utils] Features menu and options_menu verbs for rendering input menus, with appropriate documentation in comments.
[$string_utils:fit_to_screen, $string_utils:adjust_column_lengths, $string_utils:neat] Programmatically produce nicely aligned columns with headers.
Alter $command_utils:read_lines to use the inline editor. You can remove the appropriately commented block to reverse this.
Properly transform //-style comments when using @program (primarily for LambdaCore local edit).
[#0.gopher] Removed.
[$code_utils:parse_verbref] Add support for $verb matching. (e.g. HELP $S now works)
[$builder:@show] Update to work with new parse_verbref
[$wiz_utils:set_owner] Check if owner and newowner are already the same
[$prog:@forked] Properly display threaded tasks that are still working.
[$list_utils:slice] Use the built-in slice(). Threading is disabled to stay in line with LambdaCore.
[$list_utils:sort] Use the built-in sort() with threading disabled.
[$list_utils:sort_suspended] Use the built-in sort(). The interval argument does nothing but remains for LambdaCore compatibility.
[$recycler] Modified (and removed) various verbs to utilize recycle() and recreate()
- removed :request
- removed :resurrect
- removed :look_self
- recycled $garbage
- modified _recycle
- modified kill_all_tasks
- modified valid
- modified setup_toad
- modified _recreate
- modified addhist
- modified _create
[$command_utils:object_match_failed] Add optional allow_invalid flag to let @recreate do its work.
[$byte_quota_utils:preliminary_reimburse_quota] Removed
[$builder:@recreate] Allow it to accept invalid objects.
[$building_utils:recreate] Removed a lot of redundant code for things that are taken care of in the server with recycle(). Also modified so that either argument could be invalid.
[$everyman:bad_eval] Removed references to $garbage
[$mcp:do_out_of_band_command, :user_created, user_disconnected] Replace assoc() of listeners() with listeners(caller).
[$server_options] Add no_name_lookup (true) to disable the server's built-in DNS lookups.
[#0:do_login_command] Call connection_name_lookup to do DNS name resolution in a threaded task (thereby preventing the server from blocking on a bad lookup). Since name lookup suspends, also replace 'return <obj>' calls with switch_player.
[$login.name_lookup_players] Added as a list of connections that have already called connection_name_lookup.
[$login:init_for_core] Clear .name_lookup_players
[$login:server_started] Clear $login.name_lookup_players
[$login:connection_name_lookup] Added to perform name lookups.
[$login:delete_name_lookup] Added to clear connections that have already been looked up.
[$string_utils:connection_hostname_bsd] Removed
[$string_utils:connection_hostnane] Made wizardly and changed to recognize objects as well as legacy connection strings.
[#28.disassemble()] Add some minor documentation about the meaning of the output.
[#28.connection_name()] Updated to reflect the second argument and changes to the default string.
[#28.listen()] Add the IPv6 argument.
[#28.open_network_connection()] Mention IPv6.
[#28.listeners()] Update for maps and new keys.
[$server_options.help_msg] Mention no_name_lookup.
[$code_utils:help_db_search] Give verb help matches the lowest priority so that things like 'help $login' return the right help file.
[...] Changed ':connection_hostname(connection_name(player))' to ':connection_hostname(player)' on: #0:do_login_command, #6:@registerme, #10:connect, #10:player_creation_enabled, #10:record_connection, #10:request_character, #24:show_netwho_listing, #31:defer, #31:confunc, #31:log_disconnect, #57:@guests, #97:handle_connection
[$wiz:@code-replace] Add a valid() check when iterating over all objects. (Thanks Jace@ChatMud)
[$builder:@measure] Fix a lack of space in the measurement message.
[$player:@editor-options] Added
[$player.inline_editor_options] Added
[$ansi_utils:color_selector, hr_to_code] Added courtesy of Sinistral@ChatMud
[$string_utils:capitalize_each] Added (also from ChatMud)
[$math_utils:to_percent] Added
[$note_editor:parse_invoke] Modified to check if inline editor is default.
[$verb_editor:parse_invoke] Modified to check if inline editor is default.
[$edit_utils] Various small changes to make it work. Should be fairly obvious from the Git commit.
[#0:core_object_info] Allow proxy_for_core to return lists and ignore its value if it does. Add an extra return argument for 'namespaces'.
[$obj_proto, $int_proto, $str_proto] Include proxy_for_core in the verbs to ignore.
[$wiz:mcd_2] Add namespaces
[#0:init_for_core] Remove class registry
[$mcp:include_for_core] Added.
[$mcp:nominate_for_core, $mcp.registry:nominate_for_core] Removed
[$wiz:mcd_2] Fix a bug where a core object could have already been renumbered before checking its properties.
[$mcp.registry.core_package_names] Removed
[$mcp.status, $mcp.dispatch] Added
[$mcp.registry:init_for_core] Wipe existing packages and re-add any that are left after creating the core.
[#0:do_login_command] Don't remove the player from login name_lookup_players unless a connection was successful.
[#0:user_disconnected] Remove the player from login name_lookup_players if they happen to be there.
[$login:connect] Remove references to $local.mudlist
[$login.welcome_message] Replace LambdaCore with ToastCore
[$help_db["core"]] Mention .argon2
[$object_utils:locations] Use the locations() builtin
[$object_utils:has_callable_verb] If the 'object' is a waif, check its .class for the verb instead.
[#0:lookup] Removed (was part of Composed)
[$player:@eject] Merge LambdaMOO fix: @eject fixed, and spaghetti code disentangled, at the expense of being somewhat more verbose and thus possibly less efficient.
[$time_utils:english_time] Stop trying to calculate enormous numbers.
[$edit_utils:cmd_insert, list_line] Print the line where you are inserting text along with the line prior to the insertion point when using the INSERT command, much like the standard LambdaCore verb editor does.
[$waif.help_msg] Add some verbose waif help.
[$recycler:setup_toad] Change ownership of the object after creation
[$shapes:read_verb] Don't use #0:verb_detail, a remnant left over from Improvise.
[$string_utils:strip_binary] Strip MOO binary sequences from strings.
[$prog:@toaststunt-commits] List recent commits to the ToastStunt server using the GitHub API.
[$ansi_pc:notify] Add a check for the noansi queue and don't terminate_normal if the task is noansi.
[$prog:@list] Add a remove_noansi call.
[$prog:@dump] Add calls to add_noansi and remove_noansi.
[$edit_session] Added.
[$login.boot_process] Removed
[$player:tell_lines] Remove comment about nonstring stats.
[$list_utils:check_nonstring_tell_lines] Removed.
[$list_utils.nonstring_tell_lines] Removed.
[$code_utils:verbname_match(new)] Removed.
[$wiz_utils:show_netwho_listing] Take linelength into account. Remove unused variable. Move connection_hostname call.
[$mail_editor:subscribe] Removed.
[$math_utils.and] Removed.
[$math_utils.xor] Removed.
[$math_utils:AND XOR] Removed.
[$math_utils:OR] Removed.
[$math_utils:pow] Removed.
[$math_utils:sqrt] Removed.
[$string_utils:_toscalar] Add true and false.
[#1:initialize] Add check for ANON.
[$waif:eval_display] Removed.
[$edit_utils:cmd_pass] Fix wrong verb call. ($player_utils to $command_utils)
[$telnet] Added.
[$anon] '.a' flag set to allow programmers to create anonymous objects from $anon.
[$string_utils:is_numeric] Remove junk. Change to return 1 or 0 rather than a match() list.
[$string_utils:print] Remove junk.
[#1:do_examine] Remove junk comments.
[$wiz:@update-toaststunt-help] Updated to latest version. Help files also updated.
[#0:bf_chparents] Added. Roughly follows the same checks as bf_chparent.
[#2:@mcp, #2:@mcps] Removed.
[$network:close, :incoming_connection, :is_outgoing_connection] Fix outgoing connection checks.
[$time_utils.timezones] Add UTC
[$login:connection_name_lookup] Add error catching so it doesn't prevent login.
[$gender_utils:get_pronoun] Fix tracebacks when using 'she' and add support for they/them/their/theirs/themself.
[$player_class:@nn] Port LambdaMOO @nn fix for potential same-second message bug. (See *Bug-Reports on LambdaMOO)
[$ansi_utils:add_code] Fix a traceback due to 'n' not existing.
[$wiz_utils.new_core_message] Slightly updated to point to the current MOO mailing list and ToastStunt Discord.
ANSI: Add tags for [strike] and [italic].
(2024-04-24) This version (and future versions) is made with `make-core-database`. Note: This means object numbers will be different from previous versions going forward.
[$builder:@classes] Added back with some additions for objects that have no parent.
[#0:init_for_core] Added $class_registry back.
[#0.class_registry] Updated with new ToastCore classes. A fourth argument has also been added to filter uninteresting categories by player class.
[$player:init_for_core] Add the MCP and editor help databases to $player.
[$network.valid_host_regexp] Pulled the latest from LambdaMOO.
[$login:connection_name_lookup] Include E_QUOTA to account for threading errors. Also mail $wiz_utils.gripe_recipients with name lookup errors.
[$code_utils:_find_verbs_containing] Add an additional check to make sure the argument is an object before checking if it's valid(). This fixes a traceback in @grep.
[...] Apply consistent capitalization to object names.