-
Notifications
You must be signed in to change notification settings - Fork 4
/
changelog.txt
167 lines (167 loc) · 11.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
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.