4.00.326 - 2024-1-15 Fixed possible flicker in spawn windows by optimizing away drawing the background Restore log Pueblo issue caused the opposite problem, tweaked it to hopefully fix it Improve WebView2 GMCP handling Changed HTML copy to use

tags around each line vs Puppets can now be copied in worlds dialog Puppets now work properly with multiline aliases (prefix sent per line vs once at the start) Puppets can now optionally log their text into the character's log (with an optional prefix too) In connect dialog, current puppet now gets selected (previously only server/character did) Fix minor WebView bug where popup menus in web pages are in the wrong spot once if the window was moved Fix minor logging issue with 'log from..' options writing out a 0x01 byte for lines with inline images or icons Fix minor glitch in ping command, it was sending an extra pair of CRLF sequences after it 4.00.325 - 2023-11-20 Added WebView `/webview url=""` Remove border around tabbed spawn text windows Added /script command to run a 1-line script, so that simple scripts can run in more places like aliases Added minimize button to trigger/aliases/macros dialogs Added Spawn trigger option "If in tab group, switch to this tab" to show the tab with the latest activity Added 'ranges' parameter to script triggers that holds the regex matched ranges of the line of text Fixed script errors not showing up when using script triggers & callbacks Updated to PCRE 10.42 (from PCRE 10.34) Changed regexes so that zero length matches are allowed (so can match empty lines) they're only once per line at most Fixed message box popups (yes/no question popups) from blocking output window updates Added connection.SetOnGMCP(function, userdata) so scripts can handle GMCP Added app.ActiveXObject(name) to replace missing ActiveScript 'new ActiveXObject' function Added text selection right click option 'Delete selected lines' Added 'Choose' button to startup script dialog Fix Trigger bug with non regex searches involving 'Whole Word' Fix stats window crash if range stat is used with a non zero minimum Fix restore log strikeout text issue when using Pueblo enabled servers (room exit with sent) 4.00.324 - 2023-7-26 Added taskbar option to show/hide logging indicator Added /roll command for simulated dice rolls Added regex searching to the find dialog Replaced old remaining 16-color icons in various dialogs with modern images Fixed minor issue in settings where setting a keyboard shortcut then pressing 'ok' loses the just set shortcut Fixed inactive output window not drawing under high output volume issue caused by Taskbar going to Direct2D Stats window is now Direct2D, so emojis in stats are now multcolored. Also no chance of flicker anymore Minor fix to undocked spawn windows, so they minimize to the taskbar vs to a corner of the desktop Fixed issue where taskbar stops updating after internal device loss 4.00.323 - 2023-7-1 No more menu bar! Menu is now a burger menu on the left of the taskbar (alt still works to activate it) Rewritten settings dialogs, all in one place and hopefully much easier to use Dark mode now applies to the title bar now that there is no menu bar Taskbar is rewritten in Direct2D, so prettier icons and an updated design Menus now show current keyboard shortcuts vs the defaults Added inline image support for Tenor links Change GUI font to match size chosen in dialog (previously it didn't match, it was incorrectly using cell height vs font height) Fixed a weird issue with setting the input window font, where it wouldn't 'stick' if you have multiple keyboard input languages. Fixed docked windows being able to be sized down to zero, now will have a minimum size. Add line/column display to editor windows Added right click option to show/hide 'Typed #' indicator on taskbar to give more room for tabs 4.00.322 - 2023-4-21 Added Password field for characters, so can use %PASSWORD% in connect strings (also added %NAME% for completeness) Added per tab variables, see /set /unset /printenv commands. Available in the send trigger action, and aliases Removed "Explore other worlds" in favor of new "Sample Worlds" section (to be populated more soon) Added ability to import/export worlds (includes all characters, their triggers, etc, be sure to copy and remove your passwords/notes before exporting!) Made /@ work in all places that / commands will work (like send triggers) Shift+Double click on text in the output window will select the whole paragraph. Double clicking by itself just selects the word Reworked tooltips to not use TrackMouseEvent, so should work better on Wine Added option to ignore errors when trying to connect in preferences Added option for puppets, "Remove accidentally typed send prefix" (Tofof) Added option to hide title bars on docked windows, View->Show Hidden Captions to override Fixed resizing of the window to prevent docked windows from moving things offscreen, now they will shrink to fit when space runs out Added 'prepend' and 'append' parameters to /newedit command 4.00.321 - 2023-1-23 Fixed a potential hang in certain conditions (posted message processing message while background thread posts a message) Fixed a crash in triggers where if an empty child trigger is created, then the app restarted, it will crash opening the trigger dialog Fixed Midnight logging rollover, it was accidentally broken in a code simplification in the last release Fixed 'Use Global Settings' on input history window 4.00.320 - 2022-12-30 Fixed a bug where if the window is maximized on startup it gets shifted slightly. Some overzealous "ensure window on screen" code added in 318 was the cause. Fixed a potentially crashing bug in regex handling when 'null' capture groups are in the match (for example, a capture group in an OR expression that doesn't get hit) Fixed a crash when trying to send text in a new tab (tries to process aliases but there's no server yet) Fixed a crash if selecting text, right clicking while still selected and doing 'Trigger on' in a new unconnected tab Fixed a bug in scripts calling Connection.Receive(...) during a Connection.Receive(...) now will output an error message vs recursing incorrectly Moved 'Show new content marker' into the text window dialog, and made it take effect properly (applies globally, previously required changing the text window settings for it to apply, which is broken) 4.00.319 - 2022-11-14 Fixed crash in tab completion, use after free (bug has existed for ages, only just made aware of it) Added "Animated images start as paused" option in preferences, so animated gifs do not play until unpaused 4.00.318 - 2022-11-10 Added popup window "Cancel current capture" to easily stop a runaway spawn capture. Pops up after 5 seconds of capture. DNS lookups now show actual errors vs generic "Could not find host name" message For idle timers, send TELNET NOP when there is a blank string Fixed a crash if sending text while already trying to reconnect Catch errors on Badge Updating code, as it apparently fails sometimes 4.00.317 - 2022-10-2 Fixed blinking taskbar icon not blinking if badges are off Added 'Show activity on taskbar' tab context menu option, to not show badges/blink the OS taskbar on activity (stored per character/puppet) Fixed a really old crash on exit bug (happens after everything is saved, but is still lame to happen) 4.00.316 - 2022-9-26 Added taskbar badge to show count of windows with activity (Only works for store app version) Added vertical window captions for docked windows (right click a docked caption to set) Improve connect/error messages to be simpler and clearer Fix reconnect issue where Pueblo/etc isn't reset properly Fix Aliases/Macros to open the dialog and select the current server/character Fix crash when getting TLS error during connection (typically only happens on Wine) Fixed a trigger crash caused by /receive aborting a spawn capture Tweaked local echo handling with MUD prompts Fix GMCP avatar handling to work with puppets 4.00.315 - 2022-5-20 Move Text Conversion menu from Edit into the input window's right click menu Fix Pueblo entity glitch where some entities showed up as garbage Fix a network perf glitch (debug code that was accidentally released) 4.00.314 - 2022-4-25 Switch to .msix packaging for store Added ability to set ranges of times in /delay triggers and it'll do a random delay in that range. For example: `/delay 1-5m ` 4.00.313 - 2022-4-18 Removed trigger processing order and added ability to drag triggers before/after the servers/characters, which lets you have both orders at once Added right click menu for triggers to move to top/bottom Fixed edit windows having wrong font (broken in 312) Fixed inline gif flickering (introduced in 312) Fixed a crash in HTML logging when the output window's font is changed after logging has started. Fixed a crash/hang on a blank non regex trigger matching 'once per line' Fixed a crash on connection failure, the worker thread was accessing the socket after the socket was already deleted When 'Dark mode' enabled, scrollbars in main window are now dark theme Add 'Prevent smart quote mode in input windows' to hopefully prevent people accidentally turning this on once and for all (optional in case you actually want it) 4.00.312 - 2022-3-27 Add line images (aka Avatars) through GMCP & trigger actions Add support for Unicode DNS names (I didn't know this didn't work until I discovered that getaddrinfo doesn't support UTF8) Added 'Use Global Settings' toggle to text & input right click menus, to make it easy to share settings or override per window Added global/local settings for puppet windows, and they now save/restore their own docking layouts Added connection stats to character dialog (was previously only shown in the statistics window) Changed local echo setting to be per input window, and can be set in the input window settings Change keyboard shortcuts dialog to detect duplicate keys and give you option to unbind the duplicate Fix bug where input & history window sizes are not saved when closing the app (they're saved when closing a tab, but not the app) 4.00.311 - 2022-2-17 Added TLS 1.3 support (only a small change needed for it, works out of box on Windows 11, Windows 10 needs a reg key set to enable it) Added 'Show as activity' trigger option Added 'Process Commands' option for alias results (to run / commands in the resulting alias) Added 'Stop Processing when hit' option for aliases (to prevent later aliases from breaking things) Changed connecting to create an 'Unnamed' character if not using a character, to make it more intuitive to use (will preserve settings/restore more automatically) Changed taskbar coloring to look cleaner (and work better in dark theme) Added 'Dark theme' to color BeipMU drawn GUI as dark (Windows drawn stuff will follow windows' mode) Map selection filter is preserved across close/open of character tabs (like how origin/zoom is) Fixed bug in puppet 'Hide prefix' when prefix wasn't at the start of the line (could even crash) 4.00.310 - 2022-1-10 Fix bug where using "Edit->Copy/Paste window settings" can lead to crashes Fix bug where window settings are not initialized to defaults when creating new characters Fix minor display only error with input window font size not matching chosen font size 4.00.309 - 2021-10-27 Add per server/character window settings, have different fonts/colors/etc per window! Add 'Double space lines' logging option Add 'Send Telnet Interrupt Process (IAP IP)' keyboard shortcut Add progress bars to beip.stats GMCP package Add Shift+Click to extend selection in output windows Add Holding down Ctrl when connecting opens the tab without connecting Tweak URL detection to include trailing _ characters (Dranyth) Tweak preferences dialog to not be so vertical Improve restore logs to restore local echo Fix a bug in MCMP where http:// was being prepended to every URL and it shouldn't have been. Fix another timers related bug (I found out OS timers can hit early, which leads to waiting 2x the timeout duration) Fix idle timer to not re-activate when trying to send something on a disconnected window Fixed a sound playback bug where if a file is not found or there is an error that playback slot becomes unusable (So after 16 failed sounds and no more will play) Fixed telnet charset response (https://github.com/BeipDev/BeipMU/issues/166) 4.00.308 - 2021-5-24 Added 'Input Window - Autocomplete Whole Line' Added YouTube link previews Added tooltips to inline images (shows the full video title for youtube previews) Fixed a bug with accessibility, can cause a crash if over a line just deleted Fixed a hang when inline images/image viewer is on and the URL is not valid 4.00.307 - 2021-5-19 Made .gifv links be treated as .gif and will now show up and animate for inline images Made image URLs with ? in them work, like http://example.com/image.jpg?width=100&height=100 Extended /delay times to allow fractional values, so `/delay 2.2s ...` `/delay 1.5m ...` etc now works Changed inline images to decode on a background thread vs the UI thread, should be a little smoother Improved HTML logging to handle paragraph styles, toggle-able time stamps and formatting! Fixed a weird inline image redraw bug with webp, apparently webp pumps window messages during decoding, fixed by the previous item Fixed Pueblo glitch where an image URL could show two inline images, due to auto URL parsing running on top of the Pueblo URL Fixed some windows shutdown related bugs (and app update), it would previously not save settings if a windows shutdown was previously aborted Fixed a bug where timers stop working randomly (all app timers, so even tooltips) Fixed a redraw bug with inline images, the top margin wasn't being accounted for properly Fixed a crash on images where it thinks an image is an animated gif but isn't 4.00.306 - 2021-4-28 Fixed a crashing bug for certain items in the right click menu (had a bug in the new structure to hold the menu items) 4.00.305 - 2021-4-27 Added inline images! (optional of course, can configure it in the Options->Preferences... dialog) Added ability to click on pause icon to unpause if it was paused by the user (vs paused by an action like find requiring it to stay paused) Added 'Thesaurus.com' lookup on right click of word in input window (if it's spelled correctly) Added 'Reconnect' keyboard shortcut Added idle message sending to the character settings, no need to use /idle anymore Changed the alias dialog to show a multiline test result Fixed the output window getting stuck paused if you left click on multiple input devices at once (like mouse & touchpad for example). 4.00.304 - 2021-3-17 Fixed twitchy text scrolling when showing MUD prompts Added 'Delete Line' in output text windows, delete things you don't want to see! (Note: Not removed from logs) Added workaround for servers that lie about the charset they support (Server option, 'Limit CHARSET negotation to chosen encoding') Tweaked docked window dragging to require some drag movement before dragging starts (previously dragged instantly, causing issues) Fixed a crash/hang on Logging/'Start from Beginning'/'Start from top of Window' if the window is empty Fixed TCP_KEEPALIVE, broke it in 302 when shuffling around some code. Apparently Keepalive can only be set after connecting, not before. Remember the window size even if aero-snapped so that docked windows don't shrink on restart 4.00.303 - 2021-3-10 Fixed a hang on telnet charset (thank you Reflexwolf!) 4.00.302 - 2021-3-9 Added support for jpeg rotation property, so images won't appear rotated/flipped in the image viewer Added regex capture index for send trigger actions Added Hash coloring to Paragraph trigger actions, plus made background hash coloring use 50% brightness Added global 'exit text color' option for maps Changed tilemaps to be a GMCP protocol: beip.tilemap Changed some build options, changed PCRE to be compiled for speed (~8% perf boost locally) slightly bigger .exe (improves boot perf with large restore logs & lots of triggers) Changed /receive to be more useful during trigger processing, it now gets passed directly to the trigger code (vs reentering the line buffer code incorrectly) Changed /connect & /world commands to not give an error if the tab is already connected as the error had no use, new tabs would be opened anyways. Removed the confusing 'Connect without creating a server' pane Improved Pueblo support, now waits for "" before interpreting incoming text as Pueblo tags Fixed a map bug where per room text colors weren't being saved Fixed a hang on shutdown due to WM_ENDSESSION being handled by the wrong window Fixed live spell-check, and tab-complete so it's possible to use under Wine on Unix (needs a separate spelling DLL, but it now works) - sponsored by The Order of Her Noodly Appendage Fixed a crash when a mu* sends a new prompt while the user is selecting the last line of text in the output window. Fixed a bug where while selecting text in the top pane of a split window, and the window is unsplit by the middle mouse button while over the splitter, the window gets stuck paused and can't be unpaused Fixed a bug where Logging->'Starting from top of window...' wouldn't work properly as the 'Logging started' message would scroll the window to the bottom and start at that new top. 4.00.301 - 2020-9-30 Added actions to the trigger debugger, so much easier to see what's happening when Added right click menu option to easily create/select a trigger on a word/selection of text in the output/spawn windows Added right click menu in trigger & network debugger windows (to pause/split/clear them easily) Improved consistency of right click menus for text windows (& spawn windows) Fixed a bug with hash coloring in triggers when applied to the whole line Fixed a minor bug with pause handling in all windows, hopefully I didn't cause another Fixed crash with using '/delay kill' and not passing a timer ID 4.00.300 - 2020-9-24 Added Important Activity notification in trigger actions (number in red box on the tab) Added screen reader support for the output window (one big step towards visually impaired usability) Added 'beip.stats' GMCP package (see documentation) Added '/repeat' command to easily repeat something multiple times Added '/naws' command to send a telnet NAWS (Negotiate About Window Size) Added repeating timer support to '/delay' plus ability to kill individual timers Added imgur link handling to the image preview window (it's a hack but it works) Tweaked hash trigger coloring to be on the text being recolored, not just the first subexpression matched Changed tab control to have a modern flat look (mostly visible with tabbed spawn windows) Changed tabbed spawn windows to have no outer padding Changed Pueblo links to show what will be sent, and to add it to the input history when sent Fixed bug with restore log repair, when deleting unused restore log entries it would change the order of existing entries Fixed a bug copying a server in the connection dialog, it would copy the restore log entries and cause a repair leading to the previous bug Fixed a bug in ansi code parsing with ansi reverse, any color changes within the reversed block had foreground/background swapped Fixed a crash when closing a window with splitters in the text windows 4.00.299 - 2020-8-11 Fixed a small annoyance with spawn captures, by killing any on disconnect and after a restore log replay Fixed store issue where the configuration can't be saved if the app is installed on a different drive (thank you Dranyth!) Fixed a bug where MCMP sounds can hang when disconnecting Fixed a bug where // to bypass command processing both sends and processes the command (which doesn't recognize it, so you get an error) 4.00.298 - 2020-7-28 Added GMCP protocol support Added subset of MCMP protocol support (Mud Client Media Protocol) Just the basic load/play/stop commands Added WebP image link detection for the image viewer Fixed potential race condition in async downloads (Might explain some image viewer glitches/crashes) Fixed bug with puppets on startup, where puppets might not link with their character and will not function Fixed crash in maps when undo/redo an operation that is not on the map that is currently visible 4.00.297 - 2020-7-4 Added Donate link on About screen, plus Help->Donate... menu item Merged About and Welcome windows to just the About window Added 'all' parameter to disconnect and reconnect to make things consistent and flexible Fixed a bug in Pueblo tag parsing where relative font sizes were treated as absolute (so was size=2). They're ignored now. Fixed a maps bug where 'Set Text Color...' didn't work on labels Fixed a glitch where zero sizing a docked pane makes it lose its title bar Fixed a crash if docking a zero height window 4.00.296 - 2020-6-20 Lots of mapping improvements (images, labels, rotation, z-ordering, easier exit naming, save as png, and more!) Changed input window to allow applying bold & italic font styles to the display font Changed Triggers/Macros/Aliases to allow all to be open at once (instead of just one of them) Changed pueblo processing to eat xch_page and img xch_graph tags Changed disconnect due to network error to connect again after connect timeout Improved spawn 'Copy Line instead of move' to also work during a spawn capture Added animated gif support in the image viewer pane Added new option 'send unrecognized commands' to bypass needing to use the // prefix to send a line starting with / directly to a server Added Hash text coloring option to triggers (colors the text based on a hash value of the matched words) Added global shutoff for restore logs (Options->Logging->Restore Logs->Enabled) Added auto folder creation to logging (if a log filename has folders that don't exist, they're created automatically) Added global logging default (with variables to auto generate nice folder structures) For example: %userprofile%\Documents\Logs\%server%\%character%\%date%.txt Added margin settings for the input window Added 'null spawn', if a spawn has an empty window title it starts a spawn capture to the main window (useful to stop other spawns between two match texts) Fixed bug where docked windows in a new tab don't relayout properly until closing and reopening tab Fixed bug where output windows don't update with new content when an OS dialog is up (file picker, font picker, color picker, etc..) Fixed crash when resizing from tiny window size on boot (not sure how it can get into that state though) Fixed crash in maps when creating zero sized rooms Fixed crash in maps when trying to speedrun without a current room Fixed hang when using 'log from beginning' on a full output window 4.00.295 - 2020-2-28 Maps, load/save/edit maps in a new map window. Lots of features! Options->'Show Map Window' to check it out Added system menu option "Don't dock while moving" for dockable windows. Fixed '/exit' command, previously it'd just crash at exit Fixed glitch where a saved stats window would randomly change background colors on restart 4.00.294 - 2020-2-20 Added 'Clear' Edit menu item for edit windows Added Tab Colors for Puppets Added 'Delay between lines (seconds)' for Smart Paste sends Changed Log file picker to remember the file extension after closing it Changed puppets to not see the Connected/Disconnected messages as it'd cause activity in their windows that wasn't useful Switched to PCRE 10.34 (from PCRE 8.x, exe grew by about 100k so hopefully regexes works a lot better!) Fixed Logging->'Starting from Top of Window' to be more reliable, as it was previously using the 'mouse cursor over' code to work. Fixed a glitch where right clicking in the input window/char notes/editor pane causes the window to scroll and selection to change Fixed a glitch when docking windows larger than the available space. Now they shrink down to fit Fixed hang/crash bug with the find dialog that happens if you have a 'New Content' marker visible, the output window is at maximum, and new text comes in Fixed a hang when || is in a regex (probably mid edit due to preview). 'a||b' is seen as 'a or nothing or b' and the nothing results in an infinite loop of nothing matches. 4.00.293 - 2020-1-1 Added '/ansireset' command to reset the current ansi state Fixed a docking layout restore bug, where horizontal windows could shift slightly Fixed a crash when using Find in the main output window 4.00.292 - 2020-1-1 Found a way to disable the os default beep sound when going out of bounds in the input window (either delete or with the cursor) Switched to the modern OS visual themes, dialogs shouldn't look like they're from Windows 95 anymore! Added '/newedit' to create a dedicated editing window (with a few options for it, like a title or having spellcheck enabled) Added character notes window (Options->Show Character Notes Window) to easily edit existing character info field Added crash detector that gives the option to generate a mini dump to send in (to make it much easier to share crashes) Added spawn trigger option 'Copy line instead of move' so that a copy can be left in the main output instead of only moving Added 'Set Background Color' option to stat windows Added Logging->'Starting From Top of Window...' menu item to start a log from anywhere in the output history Changed tab colors to be saved per character, not per tab visible at shutdown (behavior with puppets might be weird, let me know what it should do) Fixed spawn tab triggers to now honor the "Don't show as activity" setting Fixed a bug in smart paste where it was adding an extra line feed per line, resulting in LF CR LF sequences instead of the correct CR LF. Fixed the tiny drag image in the Worlds dialog, same issue that the trigger/macros/aliases had when dragging an image, forgot to fix this one too Fixed a hang when sending enormous blocks of text (>64K) and using restore logs (if what is sent is larger than the restore log size it would get stuck trying to make room forever) 4.00.291 - 2019-11-30 Added 'Only process child triggers during capture' to spawn triggers (very useful for things like WHO lists) Added 'Force IPv4' host address lookup to server pane Fixed bug where rearranging tabbed spawns causes activity notifications to be on the wrong tab Fixed time bug where December causes an invalid date to be used (was using modulo 12 math for the month, but the month started at 1 vs 0) 4.00.290 - 2019-11-7 Added sample pane to triggers/aliases/macros! Added regex syntax error messages while editing regexes Added test strings & test result to aliases (similar to triggers, but with the test result too) Added bringing current tab's floating panes to the top when switching tabs. Added auto scrolling of the trigger/aliases/macros views when dragging above/below the tree Improved Stat triggers to that \1 \2, etc.. works in the window title field Fixed drag image not appearing while dragging triggers/aliases/macros. Before fix it only worked on certain fonts/OSes (using OS function to draw them too) Fixed an issue with mouse wheel scrolling in a split text window, where it'd scroll by the wrong amount (bug was that the scrollbar wasn't updating properly) Fixed the keyboard macro dialog to not show typed letters unless it's replacing the key Fixed a minor annoyance where the imaging window might flicker briefly when restoring the window layout Fixed a bug where when editing triggers, having a blank Matcharoo regex caused the test string to stop updating properly Fixed a crash with aliases where a blank Matcharoo regex would crash! Fixed a minor glitch in the Trigger/Alias test string displays being hilighted wrong with multibyte characters Fixed a crash where if BeipMU.exe is launched by itself without a config.txt or Assets/DefaultConfig.txt it crashes at launch instead of using defaults 4.00.289 - 2019-10-13 Added /ping command to measure time from command send to server response (useful to measure network latency and server perf) Added 'Test Text' field in the triggers dialog to allow easy testing of what the Matcharoo will match on (with regex variable hilighting too!) Added File->'Load backup configuration...' to load the last backup configuration made (backup configs are made each time the app is updated) Added 'History Window - Toggle' to keyboard shortcuts Added 'Imaging Window - Toggle' to keyboard shortcuts Fixed extra 100ms network send/receive latency issue on the store version (not sure when this started, but it's gone now) 4.00.288 - 2019-10-10 Added tab completion, just press tab to search input history/output/spawns for words to autocomplete with. Pressing tab after a space will suggest a next word in the same way You can disable this behavior by setting the 'Input Window - Autocomplete' keyboard shortcut to nothing Fixed Alt+# display to not get stuck on after Alt+Tab/etc 4.00.287 - 2019-10-3 Added Stat Panes, shows integers, strings, or ranges to show character stats/attributes/etc. Values updated through trigger stat actions Added 'Content restored' messages to every spawn window, along with 'Connected' and 'Disconnected' messages to make things clearer Added colored tabs. You can set the color by right clicking on a tab, or by using the /tabcolor command (uses HTML style color #RRGGBB or a name) Changed the look of the taskbar & splitter bars, tabs now drag rearrange a lot nicer now Changed window titles to reverse the order of the items from server - character - puppet to puppet - character - server. Improved image viewer so it doesn't use a case sensitive search for images (for example, .jpg worked, but .JPG did not) Fixed a bug when docking windows where they would take up the entire client space, instead limit them to at most half of the space Fixed a bug when docking windows where they could not be docked on the outside edge, they'd always go to the next inner pane Fixed minor glitch where during Find in the output window, the scrollbar wouldn't move to match the shown text 4.00.286 - 2019-9-6 Added a dockable image viewer window that downloads and displays the last image URLs seen in the output Note: Dockable image viewer will automatically appear on image links unless disabled in options Added restore of minimized/maximized state of every window (also fixes a bug where panes shrink gradually if you closed it while maximized) Fixed regression from build 285 where new windows would always have two tabs Fixed annoyance where if you connect from a connect dialog, a reconnected tab in a different window won't get the focus Fixed a bug where puppets would prevent window configurations from being saved to their characters (the puppet one would overwrite it then be ignored) Fixed annoyance where if you restore a configuration from another computer and any of the windows/panes are off screen, they are moved to the primary monitor Improved hyperlink parsing so that a ')' at the end is included if there's an unmatched '(' before it (doesn't handle nested ('s though) Improved Log filename %server%/%character% substitutions to allow multiple substitutions of each 4.00.285 - 2019-8-1 Spawns, input windows, and input history now have their layouts and content restored per character (and on exit/reopen) Bonus: If there's a crash, the content will be restored up to the moment of the crash! Changed the welcome text into a popup window, since it doesn't fit anywhere in the restored content Added a tooltip for the window tabs, so if they're truncated it's still possible to see the full name, unread count, etc. Added 'Convert spaces to %B' function Added '/autolog' to restart any stopped server/character autolog Added '/reconnect' to reconnect to all disconnected tabs in every window Added 'File->Close Window' to close a single window Changed 'File->Exit' to close all windows (so that relaunching will then restore all windows vs just the last one closed) Added '/exit' to close all windows and their tabs (same as File->Exit) Added %server% and %character% variable substitution for all log filenames Added right click menu for URLs (open/copy) Added support for Pueblo tags Added Tab number display when Alt is pressed (for easy Alt+# switching) Changed it so that the config.txt file is locked on open, so you can't open two copies that try to write to the same file accidentally Changed '/wall ' to act like was directly typed in every connected world. So aliases & commands all work Changed input history color to be the window color, not the inaccessible local echo color Changed TCP_NODELAY to be on by default since BeipMU already internally coalesces sent data into single blocks optimally Fixed minor annoyance where clicking on a spawn window in the background wouldn't bring it's main window to the front Fixed a crash when trying to connect with SSL and the port isn't the SSL one (basically when SSL fails to negotiate) Improve tooltips so that they don't go off the right or bottom edges of the working area of the monitor they appear on 4.00.284 - 2019-4-25 Added Telnet CHARSET negotiation so UTF-8 encoding is enabled automatically Added 'Clear spawn' action for spawn triggers Added 'Gag from Log' action for spawn triggers (so a single spawn or an entire capture can be easily gagged from the log) Added error display for trigger importing (to explain why it failed vs just 'error') Changed 'Explorer' dialog into 'Character Statistics', and added a lot of refinements to it Added 'Connection Count' 'Connected Time' 'Total Bytes' as character statistics Improved internal time code to avoid connect time wraparounds after 49.7 days Fixed a glitch where if you change the font, if the time & date column is visible it doesn't resize to match 4.00.283 - 2019-4-11 Added 'Default Font/Foreground/Background' trigger appearance options Added Description field to aliases similar to triggers Auto save configuration when closing a trigger/aliases/macros/worlds dialog box Fixed a hang (will unhang after many seconds) in find if what you're looking for doesn't exist 4.00.282 - 2019-3-22 Enhanced Aliases to allow nested aliases without using a folder. Nested aliases only are applied if the parent alias is applied Enhanced Alt+# handling so that Control adds 10, so Alt+Ctrl+4 = tab 14 Change relative path logging location to be the documents folder if the store app, or the config file location otherwise Fixed a bug where ansi color settings would not carry over to the next line if a blank line is between them Fixed a crash if you set bold, underline, strikeout, and italics at the same time (caught by output stress test, surprisingly this bug has existed forever) Fixed a bug where closed spawn tabs were not actually closed, just made not visible in a buggy way Fixed a crash where with the right combination of text and multiple wrapped lines, the line layout code would go out of bounds ( = instead of a += in the text index) 4.00.281 - 2019-3-6 Added ability to export/import triggers! Added 'Input Window - Push to History' keyboard shortcut to explicitly just push to history, similar to Ctrl+Down Fixed glitch when copying triggers with regexes that can cause them not to hit in certain situations Fixed a hang if you pause a window, select some of the 'New Content' banner, then switch to another window Fixed a hang if the "New Content" marker goes beyond the window text limit then you switch to another window. Fixed a bug with 'Invisible MUD Prompt Handling' that could lead to problems if text was selected and a prompt comes in 4.00.280 - 2019-3-1 Added paragraph stroke outline/top/bottom option to make nice horizontal dividers Added /setinput command to set the text of the active input pane Added 'Send on click of matched text' to trigger send action Added /unique parameter to /newinput command to only create the window if one with that prefix doesn't already exist Added ` as a delimiter in command line arguments in addition to ' and " Added a 'Help' button in triggers/aliases/keyboard macros Added option to put the taskbar at the top of the window vs the bottom Added the ability to set spawn text options separately from the main output window. Right click the spawn windows to do it Added regex option to puppet prefix handling. If 'hide prefix' is set and ( )'s are used, the first ( )'d part of the regex is hidden. Added 'New Input Window' File menu option Added %date% variable for log file names that uses the log date file format Changed 'New Content' to use 'bottom' stroke style Changed Date/Time output window tooltip to be on by default Changed regex triggers to only color/style the ()'d areas if they are there, otherwise it uses the whole match Changed hyperlink send triggers to turn the first ()'d area if it exists, otherwise it uses the whole match Changed 'Stop processing if hit' to still execute child triggers just no further triggers after this Changed 'Paragraph Spacing' so that it's centered around the text line versus at the bottom (noticeable with fan fold on) Improved trigger dialog to disable options that have no effect, like when actions are disabled for a folder Improved text window 'Split on page up' to merge on ctrl+end, previously only merged on page+down Improved spawn capture triggers so that editing the Capture Until on the current capture trigger applies immediately Plus made it so that the trigger that starts the capture sets the end capture, not the one to open the spawn window Improved 'Send the last line in history' to process commands (aka act exactly as it did when it was first sent) Improved mouse wheel handling, now works on spawn windows on Windows 7 (and with both windows 10 mouse wheel options) Fixed mouse wheel scrolling to handle fractional amounts (some laptop touch pads would scroll wildly before) Fixed bug where multiple triggers setting paragraph options wouldn't always take effect Fixed bug where rearranging spawn tabs resulted in incorrect activity hilighting Fixed bug where new input windows would cause tab that created them to steal focus (not fun if done through a trigger) Fixed bug where if /receive is used in a send trigger and recurses into itself, BeipMU would crash (infinite recursion) 4.00.279 - 2019-2-20 Large rewrite of text window to handle new formatting possibilities Added a description of the error when a log file can't be created Improved perf of large text copies from output window (copying 10,000 lines could take seconds, now it's a tiny fraction of a second) Improved replacement trigger action to correctly handle tabs and newlines Added /newinput to create additional input windows with optional prefixes Added /receive command to act like the given line was sent by the server, very handy for testing triggers or opening spawn windows Added "New Content" banners to see what the new activity is Added unread counts in the window tabs (using the above feature) Added support for ansi colors 90-97 and 100-107 (bright foreground & background colors, not really standard but used by some mu*s) Added 'copy' button to worlds & characters in the worlds dialog Added Text to speech trigger option, see the 'sound' tab in triggers Added trigger debugging window, to see what triggers hit and each one's effects (Help->Debuggers->Trigger) Added 'Help->Debuggers->Network' to make the /rawnetwork command easier to find Added time ago to line time tooltip, to make it easy to know the relative time of a line Changed the Triggers/Keyboard Macros/Aliases dialogs to be non modal Merged Toast + Activity tabs in triggers Merged Gag + Filter tabs in triggers Improved trigger tabs to disable/enable controls properly in all tabs to be more intuitive Fixed emojis in HTML logging, they were not being written out at all. Fixed a bad bug where shutting down windows doesn't save the config file (this regression started a few versions ago) Fixed a bug where the keyboard macro text length would let you paste 64k but it wouldn't persist it Fixed some Wine issues on Linux where there'd be multiple disconnect messages and an error message 3.00.278 - 2019-1-6 Added spawn tabs! Just specify a 'Tab group' name for a spawn trigger and multiple spawn windows will appear as a single tabbed window. Fixed regex search bug, where it wasn't skipping the previous match properly, which caused extra invalid matches (for example quoted text would not match correctly) Fixed bug where copy trigger were not copying the new cooldown values (instead it had garbage values) Fixed new triggers/aliases/macros appearing at the right location in the list if folders are used Fixed a hopefully rare bug where there might be a crash on shutdown due to the OS timer not being reset properly Fixed a bug where 'Log from beginning...' would not log as html properly (bug was in the new unicode filename chooser) Fixed a Windows 7 bug where bitmap fonts would not layout correctly (like FixedSys) 3.00.277 - 2018-12-23 Added 'Limit to once every [x] seconds' trigger cooldown option Added redefinable keyboard shortcuts to 'Convert Returns to %R' and 'Convert Tabs to %T' Added '/grab' command support for those servers that support it Added an overwrite confirmation when exporting a config file Fill in the date as the initial filename when logging manually Fixed a bug where Chakra.dll was not optional on the x64 build (only applies to pre Windows 10 users) 3.00.276 - 2018-12-9 Added 'Split on page up' to text window options Added 'Description' field to triggers Fixed a bug where spawn windows set keyboard focus to window they appear in, even if it's not the active tab Fixed Triggers/Aliases/Keyboard Macros so that 'Copy' always works and copies into the right place (previously only worked in triggers and copied in the wrong order) Fixed a bug where script hooks would crash when Chakra was in use (it just wasn't hooked up yet) Fixed a bug where undocked spawn windows wouldn't repaint 3.00.275 - 2018-11-26 Use Chakra JavaScript engine when available (Windows 10+ usually). This enables EcmaScript 6+ support vs ActiveScript's EcmaScript 3 Modified 'window.titleprefix' to also show up in the taskbar tabs Increased length of keyboard macro text to 64K Modified multiline edit fields to show a scroll bar and allow for direct enter Fixed a bug where the text window's 'Paragraph Spacing' and 'Wrapped line indent' didn't stick properly on relayout Fixed a Windows 7 bug introduced in the previous build where the mouse wheel will cause a hang Fixed a spelling bug where things like right clicking on "fasle" in "true/fasle" would give suggestions for "true" instead of "false" 3.00.274 - 2018-10-29 Add split views to all of the text output windows, accessible through right click & middle mouse button Add 'Find...' right click option to Spawn windows to search for text in them Increase size limits of aliases, macros, and other misc text fields to 64K (from 256). Add ability to change UI font in preferences dialog (most useful for Linux users to pick a better font match) Changed send triggers to be as though the sent text was typed, so commands like '/delay' can be used 3.00.273 - 2018-9-5 Performance improvements to text layout (over 100x faster!) Don't reformat single lines whose width are less than the new width Switch to custom version of TextExtent, and run the layout across all CPU cores Raised the default history limit from 1,000 to 10,000 lines (though even 100,000 or more is super fast when resizing now) Performance improvement to non regex trigger searches (2x faster) Performance improvement in receiving new text Helped by above improvments, but profiles showed that a lot of time was spend updating the scrollbars. Now they update once instead of per line. Fixed a regression from the previous build where the emoji tip of the day was not showing colorized emojis Fixed Help->Contents... link to point to Github and not the old Reddit wiki 3.00.272 - 2018-9-1 Modified a lot of the html & ansi text parsing (code cleanup) All Ansi styles now persist onto the next lines, previously only the colors persisted Hyperlink colors are no longer baked in, changing the color will change existing hyperlink colors now Fixed when copying a trigger, that the spawn action was not copied Fixed a crash when having multiple spawn captures at once. Now if there is an active spawn capture, spawns are ignored Added preliminary Pueblo support. Basic styles and clickable links work Changed default text encoding to CP1252 since most places are not unicode. Same as pre build 259 In the connect dialog, if a world isn't in the list, a 'add current world' button appears 3.00.271 - 2018-7-12 Fixed some Tilemap error checking, now tileSize and mapSize are validated (can crash if they're omitted) Fixed an infinite recursion bug with 'MUD Prompts' and a send trigger (the prompt fake a receive, which can cause a send trigger, that leads to another receive, etc) Fixed a crash on shutdown if a toast window was dismissed Worked around a weird input box issue where FixedSys doesn't get set until you first type some text. Only for that font, so some odd bug in Windows. Added app.PlaySound(filename, volume=1.0) and app.StopSounds() script functions to enable playing sounds. Added app.configpath to get the location of the config file Modified startup script load code to make any relative path to be relative to the config file location Added 'BeipMU updated' message on startup 3.00.270 - 2018-6-24 Added a fix for WINE to detect a server side socket disconnect Added a "Selection Copied to Clipboard" popup to help new users discover the clipboard option Added "Don't clear input on enter" option for the input window Added support for dns_com_awns_status MCP package Added support for dns_com_awns_ping MCP package Added support for dns-com-vmoo-client MCP package Fixed a crash where if a spawn window was still capturing and then closed, that any incoming received text would cause a crash Changed the tooltips to be the dark theme vs the old 1995 style yellow 3.00.269 - 2018-6-5 Added dns-com-awns-status MCP package Added 'Use Fast Flash' option to the trigger appearance action Added Folders for Triggers and Aliases, through a 'Treat as Folder' option Improved emoji rendering so that they flash if in flashing text Changed the spawn windows to support regex \1 \2 style match replacement Fixed unclickable hyperlinks in spawn windows, now they work the same as in the main window Added .Active property to ITimer interface Honor WM_ENDSESSION and don't show any dialogs when the app is shutting down (otherwise when windows is shutting down, BeipMU looks like it hangs when it has a dialog up) Added tag handling (see https://github.com/BeipDev/BeipMU/blob/master/TileMap.md for more info) 3.00.268 Changed the sound file selection dialog filter from *.wav to *.* since many formats are supported Fixed a bug where if an unsupported sound file plays, it uses up a playback slot, after too many unsupported files no new sounds can play A couple minor fixes so that it runs in Windows 10 mode on Wine (it called functions that exist on Windows 10, but not on Wine set to Windows 10) 3.00.267 - 2018-5-11 Added 'Connect at Startup' to characters Fixed another separate spelling bug where if it's set to an invalid language, you can't select a valid one 3.00.266 - 2018-5-10 Fixed a bad regression when choosing the spell language choice in the preferences dialog. I think it broke with the big unicode switch 3.00.265 - 2018-5-6 Updated PCRE library to 8.42 (though the exe grew by 60K) Added spawn window trigger type Changed sound playback so that it can play more than wav, like mp3/mp4/wmv/wma/mkv/ogg/etc (if the OS can do it, BeipMU can) Note: To get ogg playback, you will need to install this first: https://www.microsoft.com/en-us/store/p/web/9n5tdp8vcmhs?rtc=1 Sound playback also now supports multiple sounds overlapping (artificially limited to 16) Changed Trigger dialog appearance tab to only show colors in the preview when they're actually being applied Changed Trigger dialog appearance tab to auto-check the fore/back color options when a color is chosen Changed default of 'Strip trailing spaces in received text' to off as it was breaking MUD maps Changed default of Ansi option 'Reset settings on new lines' to off as it was breaking MUD text coloring Added VGA ansi color defaults to the Ansi presets, and renamed XP to CMD Fixed a bug where tags didn't restore font face & size, only colors Fixed some flashing text bugs. Text with a background color wouldn't redraw, plus the first blinking tag on screen was out of sync with the rest. Fixed the tooltips in the bottom button bar, looks like they broke on the switch to Unicode 3.00.264 - 2018-3-22 Changed the ReverseDNSLookup script function to Unicode Improved the built in help for the /delay, /idle, and /log commands Added 24-bit ansi support (see '/test ansi' for an example) 3.00.263 - 2018-2-12 Fixed a couple of regressions from the timer code rewritten in 261. One was that all timer based events would stop, another was the blinking activity notify didn't blink. 3.00.262 - 2018-2-10 Fixed a crash when MUD Prompt handling is enabled and a server with MCP enabled is connected to (accidental recursion) When opening the worlds/connection window it will now automatically select the current character/server in the tree view Fixed a regression caused in build 261 that caused hyperlinks to not work properly (the std::thread fix missed an important step) Fixed another regression caused in build 261 that could cause sending large puppet strings to crash (sorry Squirrelly!) 3.00.261 - 2018-2-4 The taskbar was still drawing text in a non-unicode way, so world names with unicode chars would display ugly The time & date display code is now unicode (the yyyy-MM-dd formatting stuff) Rewrote the timer code again (last time was in build 193) using a single OS timer plus a priority queue Fixed a crash in the triggers dialog when clicking 'copy' while a server/character is selected. Noticed that using std::thread was adding an extra 100+K to the build (loads of dependencies), so used my previous code 3.00.260 - Skipped, accidentally released build 259 on the store as build 260 3.00.259 - 2018-1-14 Help->Contents... now opens up the online wiki instead of looking for BeipMU.chm Fixed bug where store version of BeipMU would look for config.txt in startup directory, now it only looks in the store %appdata% folder Fixed a glitch where adding a comma in the middle of a word "sentence" "sent,ence" would cause the correct first part "sent" to appear misspelled Unicode! BeipMU now uses UTF-8 for everything, so you can use emojis or foreign language text everywhere Added an emoji substitution table so that things like "dog" and "zebra" will have the emoji appended after them without mu* UTF8/emoji support (see Options->Emoji) Fixed bug where trigger substitution text can cause a crash when the replacement is an empty string, and it happens at the end of the line Switched to RichEdit 4.1 for the input text, misspelled words now get a squiggly line (previously was a straight line) Added character encodings to the server properties since not everything supports unicode/UTF8, currently have UTF8/CP-1252/CP-437 Added /rawnetwork command to show raw network data being sent & received for easier protocol debugging Simplified the Server Settings dialog to have 'TLS (SSL)' be a checkbox Added the option to verify TLS/SSL certificates in the server settings HTML Logfiles - Correct UTF-8 specifier 3.00.258 - 2017-12-3 Importing the config will now completely restart BeipMU with the new config, so that the window position/startup scripts/etc all run correctly Fixed a bug introduced in 256 where importing the config can cause a crash (the code assumed the config would never be deleted at runtime, which is no longer true) Fixed a rare bug where the MessageBox asking if you want to delete nested triggers was not modal and could lead to a crash if it was ignored Changed the design of the server & character duplicate names so that now there is only one name instead of two separate name fields. If anyone had a fancy name here, it is put into the Info field when updating. Fixed an annoyance where when selecting text the tooltip window will appear and obscure what's being selected 3.00.257 - 2017-12-1 Updated defaults when there is no config file, as the existing defaults looked really bad Fixed a bug where BeipMU can crash on closing if any message boxes appear while closing. 3.00.256 - First microsoft store release! Changed the "Connect String" to act like it was typed into the input window, so multiple lines of commands and text is processed. After disconnecting from a server, the ansi properties are always reset. Added an option to puppets "Hide Receive Prefix" (default to true) so that the prefix can optionally be left visible Rewrote how config files are handled, now %APPDATA%/BeipMU is used to store the config. If a config.txt is found in the app startup folder it is kept there, so existing users won't see a change if they update. New Import/Export config ability A new Edit sub-menu, "Convert". With "New lines to %R", and "Tabs to %T" Fixed how telnet IAC + GA was handled, previously it was adding blank lines when there was no prompt text. 3.00.255 - 2017-4-23 Increased the UI font size, and changed the font to Calibri to be easier to read at all DPIs. Fixed bug in logging where newline isn't added on sent lines (introduced in an earlier code cleanup) 3.00.254 - 2017-3-25 Fixed a bug where logging to an HTML file wouldn't write the HTML header when creating a new file Improved the history text selection when auto adjust height is on, so more than the last line of text is shown Fixed a crash when double clicking to the right of a line of text (added in 243 with the select word feature) 3.00.253 - 2017-2-19 More high DPI fixes, taskbar icons, some fonts, and the font size display in the text window Fixed what looks like a Windows 10 bug with the tooltips blinking in the text window. Switched to a custom implementation. Fixed a bug where fan fold colors were not correct after filling up scrollback completely 3.00.252 - 2016-7-4 Added initial high DPI support Changed puppet autoconnect code to not use the current window if it's disconnected Fixed a bug in the window scrolling code, where the motion formula can swing out of bounds and cause a crash 3.00.251 - 2016-6-20 Improved logging code so that log file names have environment variables expanded (%homepath%, etc) Added 'Copy' feature to triggers pane Fixed a bug in smart paste where the last line wasn't being sent Simplified the puppet prefix detection code 3.00.250 - 2016-3-5 Fixed a minor glitch when correcting misspelled words, leading punctuation would be deleted (for example "Tezt -> Test) 3.00.249 - 2016-3-3 Fixed a hopefully rare crashing bug where a full output buffer, a just deleted MUD prompt, and two input lines could cause a crash. 3.00.248 - 2016-2-16 Fixed a bug where the maximum lines in the text windows wasn't being honored (introduced in 247) 3.00.247 - 2016-2-16 Fixed the bug where clicking the speller in the preferences dialog and exiting would cause a crash (properly this time, by making it type safe in the code) Changed the text window to use the new Variant type to hold text records, plus a bunch of other code cleanups in the text window Brought back saving of input & history window sizes (only applies to input window if auto sizing is disabled) 3.00.246 - 2015-12-27 Fixed a bug recently introduced where received puppet text shows up empty Fixed a race condition in new networking code on sending data 3.00.245 - 2015-12-20 Added back dockable windows to the scripting API Fixed a bug where selecting a speller in the preferences dialog and then exiting the dialog causes a crash (introduced in last build by code cleanup). Fixed a bug where puppets would send a blank line after every line Patched a bug where holding down the mouse button on the scrollbar prevents the window from repainting (OS design flaw really) Rewrote the trigger/characters/keyboard macros code to be shared and fixed some inconsistencies with them along the way Fixed a crash in the App.NewWindow_Text(x,y) script command due to forgetting to set a default font. Fixed a bug in the prompt code which would result in multiple prompts Fixed a regression caused in 243 where retrying a failed connect broke Fixed a bug in logging where word wrapping wasn't done correctly Fixed it where any data sent during connecting now gets sent (previously it would get into an invalid state) Also changed the networking code to not use IO completion ports, now it's thread pool wait objects 3.00.244 - 2015-10-13 Fixed bug where creating new daily logs at midnight was broken (it just didn't happen) Fixed bug where main window title was set to previously connected world instead of current one Fixed a bad text formatting bug where text baseline is incorrect when wrapping a line of text with multiple font sizes Fixed a minor drawing error where the time column in the output view overlaps the text by a few pixels at some time values Fixed a minor bug where selection of the last character in a line wasn't rounding nicely Fixed a minor bug where turning on/off the time column doesn't reformat the text properly Fixed a minor bug where turning on/off the time column and fixed width text formatting doesn't format the text properly Worked around a Unix Wine issue where text is black/wrong size at certain times in the RichEdit input control Changed booting without a configuration file to not show an error when you exit 3.00.243 - 2015-7-28 Changed double click on text to select whole words (previously was broken and did nothing useful) Fixed a couple mouse/prompt bugs that only happen if you clear the output window Fixed a minor text scroll issue when making the window bigger (would let you grow past the top, then allow scrolling down) Fixed an issue where a network error would leave the connection in a perpetual 'trying to reconnect' state that doesn't reconnect Fixed a bug in SSL where if you send more than 16K in one line it screws up and sends the encrypted data as though that is what you typed Fixed a performance issue where sending multiple lines at once would be sent as individual lines instead of being batched into one send (worse for SSL) 3.00.242 - 2015-7-19 Changed right click menu on input window to be at click location Changed selection of text so that it rounds to the nearest character Changed rendering of tab characters in output to be visible when selected Changed Ansi Colors to be xterm colors by default Added 'Settings...' to the input window right click menu Added 'Invert Brightness' option to the output window settings Improved 'Ansi Colors' dialog to show some standard presets Fixed 'Options->History Window' & 'Edit->Pause' menu options to show check box correctly Fixed that mouse wheel was broken in the input window Fixed broken TTYPE terminal response, caused by a null char not being sent 3.00.241 - 2015-6-22 Added Windows 8 speller support Added smooth scrolling! On by default since everyone thought it was really nice Changed how connecting works, if the current window is not connected it will use it for the new connection Fixed a crash with MUD prompts Fixed a bug in ForwardDNS & ReverseDNS script methods so they were IPv6 compatible, and fixed a crash in them on lookup failures 3.00.240 - 2015-1-25 Grayed out window tab text didn't match the connected text. Direct Connect/Regular Connect/Quick Connect now share the same logic of 'reuse disconnected world' else 'use current window' else 'search for never connected window' else 'create new window' /@ command to run immediate scripts was broken (it forgot to strip the /@ out, so the scripting engine would get confused) 3.00.239 - 2014-11-12 Fixed bug introduced in very recent build that broke puppets and sending empty lines of text. Made Ctrl-'+' be ignored when typing in the input window 3.00.238 - 2014-11-8 Rewrote input text handling to properly handle aliases on multiple lines Minor bug where regular expression aliases wouldn't enable/disable checkboxes properly Merged Color & Style tab in trigger pane to a single Appearance pane. Sample box now shows text styles. Fixed a crash when dragging a trigger to make it into a child of itself. Added an Apply button to the Triggers/Macros/Aliases 3.00.237 - 2014-11-7 Added /delay command to send text after a set amount of time Fixed bug where triggers contained in other triggers didn't order correctly (they were added to tree in reverse order) Fixed a recent regression where shrinking the text windows then growing them again would cause a confused client area. 3.00.236 - 2014-11-1 Changed quick connect to not reuse a disconnected window of a different world Fixed bug where a disconnect started a failed connection retry process. 3.00.235 - 2014-10-21 Fixed activate window trigger (broke in the multiple windows/tabs change) Changed send trigger & idle timer to send a CRLF (previously just LF) to work with certain systems Fixed a scroll to bottom bug when there is no scroll delay 3.00.234 - 2014-10-17 Fixed a bug where tabs were drawn incorrectly when there was a time/date display column 3.00.233 - 2014-10-2 Majorly changed the text windows to be pixel based and have variable height lines with multiple fonts per line. Added font triggers Made fan-fold an option Added paragraph spacing option Made window tabs draggable 3.00.232 - 2014-7-13 Added a character counter to count the number of letters typed into the input window. Fixed config file bug, where array type items (keys & colors) were relying on undefined behavior and crashing. 3.00.231 - 2014-5-27 Fixed the SSL bug thanks to Shiveneve! The trailing encryption buffer changes size after encryption, who knew? 3.00.230 - 2014-5-18 Made the mouse wheel scroll amount match the system setting instead of being hardcoded to two. Removed my SSL hack since now it seems to be breaking Windows 8.1 users. Fixed crash bug when loading a newer config file than the current version supports. 3.00.229 - 2013-11-3 Fixed bug where closing a main window could crash (SetFocus accessing deleted memory) 3.00.228 - 2013-10-27 Fixed bug where saving the settings does not save the window position Fixed mixed up descriptions in keyboard shortcuts dialog 3.00.227 - 2013-10-26 Fixed a stupid bug where typing a word longer than 64 letters crashes Beip due to overwriting the spellchecking buffer. 3.00.226 - 2013-9-24 Fixed a bug where 24 hour time display still showed am/pm. Renamed 'Military' to '24 Hour' in the options 3.00.225 - 2013-9-18 Fixed bug where deleting a puppet crashes 3.00.224 - 2013-9-16 Fixed so all date & time display uses the system locale default format strings. 3.00.223 - 2013-9-7 Fixed a bug where closing the main window wouldn't prompt if windows are connected Fixed text window date & time tooltip to use system locale default format string 3.00.222 - 2013-7-15 Improved the trigger script dialog to be more helpful Fixed a crash on exit when a puppet window is open 3.00.221 - 2013-7-13 Added the ability to disable blinking ansi tag parsing 3.00.220 - 2013-3-11 Fixed crash when deleting a character 3.00.219 - 2013-2-18 Fixed crash at exit bug in the file save code (was bringing up a dialog too late) 3.00.218 Changed socket code to avoid QueueUserAPC due to reentrancy issues. Added command 'ttype' to override Telnet TType response 3.00.217 - 2012-11-13 Fixed tab formatting bug introduced recently, where tabs acted like newlines (tab code used maximum line width instead of current line width) Fixed idle send timer not resetting after unidling Fixed window title not updating when switching between tabs Fixed logging status not updating properly Fixed multiple URL tag detection bug (ship only) Fixed HTML logging colors bleeding 3.00.216 - 2012-9-19 Fixed a bug in closing with a log file open (Crazy C++ madness in the destructor) UI redesign with multiple tabs & multiple windows 2.00.215 - 2012-5-18 Fan Fold coloring for the output window 2.00.214 - 2012-5-12 Spell Checker 2.00.213 - 2011-8-7 Fixed a nasty bug in the text line editing code, such that deleting text in a trigger did not work properly. 2.00.212 - 2011-7-16 Fixed a few bugs in the overlapped IO, convert server socket to overlapped IO 2.00.209 - 2011-3-29 Switch networking to Overlapped IO & Completion Ports 2.00.208 - 2011-2-11 Removed ping & traceroute 2.00.207 - 2011-2-6 Added IPv6 Support 2.00.206 Add 256 color ansi support 2.00.203 Fixed a weird bug where when unpausing a full scrollback offset the text position horizontally 2.00.202 Fixed the docking code & autolayout code to work together properly (for PE integration) 2.00.201 Fixed a minor bug where the window doesn't repaint properly when you type too much into the input window and it automatically grows larger 2.00.200 - 2008-8-14 Tweaked the dialog font size so that it's friendlier to Wine (Windows was fugding it for me apparently) 2.00.199 Fixed a nasty history navigation bug introduced in 196 2.00.198 - 2008-6-10 Fixed a bug that Sennard found when writing out small scopes. This must have been broken for years! 2.00.197 Change how the config file is written to prevent bad saves 2.00.196 Small change to how the history window preserves edited lines 2.00.195 Fixed some scripting bugs that broke window events 2.00.194 - 2007-8-12 Added support for the dns-org-otakugeeksquad-typingnotification MCP package 2.00.193 Simplified the event code Rewrote the timer code Simplified the windowing code 2.00.187 Rewrote the midnight timer event, so hopefully the midnight rollover glitch will be fixed. 2.00.186 Bug in last time used display, it never expected '0 seconds' 2.00.185 - 2006-5-22 Nasty bug in text output fixed (internal iterator turning invalid) 2.00.184 - 2006-5-21 Added option to enable/disable notification icon Removed symbol ansi display, it was broken and causing bugs on some mucks 2.00.183 - 2006-1-10 Toast through the Notification Icon on the taskbar 2.00.182 - 2005-12-6 Added 'NoActivity' trigger 2.00.181 Changed internal storage mechanism for output window, so that it's pay as you go (no more up front allocation based on # of lines) 2.00.178 Added IPuppets, and IPuppet interfaces to the OM Added Connection.Reconnect Added Connection.Puppet 2.00.177 - 2005-8-28 Auto resizing input window option 2.00.176 - 2005-8-14 Ctrl+U added to clear input window ITextWindowLine.Delete added ITextWindowLine.Insert added IWindow_Text.CreateHTML added Script trigger (script function is called with 'IWindow_Main and ITextWindowLine') 2.00.175 - 2005-8-11 Added experimental MUD prompt support 2.00.174 - 2005-8-1 changed to and also with cursor icons to show what action will be taken. The change was to prevent easy phishing attacks like 2.00.173 tags! URL code rewritten to handle more possibilities 2.00.172 - 2005-7-28 Fixed a bug in IConnection where it didn't detect being zombied Added ILog interface Added option to Replacement trigger to parse HTML - SMILEYS!! Ex.. turn :) into .. voila! 2.00.168 - 2005-6-4 HTML Logging! Just name the log file as .htm or .html and it's automatic 2.00.166 - 2005-5-17 2.00.158 New text engine! Proper Tab Support Fixed puppet prefix scanning to handle any embedded ansi tags 2.00.150 - 2004-1-25 Added TCP_KeepAlive and TCP_NoDelay options Added Regular Expression Replacement for Replacement & Send Triggers 2.00.147 Added internal MCP support Added MCP multiline support Added @mcpedit package Added MCP object model (not complete) Added Regular Expressions for Aliases 2.00.146 - 2003-8-10 Fixed small bug in logging with date appending. It would cut off the extension of the file (due to the date formatting adding a premature NULL) Fixed a memory leak in the alias processing (the debug build told me as I added the following feature) Added an option to not echo the processed alias, "Echo processed alias" in the alias dialog. Fixed a window flashing bug that caused the flash state to toggle when in solid blink mode (toggled to off every other line) Fixed the find dialog so that if new text arrives while it's visible it pauses/unpauses properly Fixed SSL so that it handles the case where the server asks for client credentials (but we don't send any) Added some new scripting features for Mark, such as IWindow_Text.Paused, IConnection.IsLogging(), and their associated events. IWindow_Main.TitlePrefix property (write only) - To set a prefix to the window title that is independant from BeipMU's window title 2.00.145 - 2003-4-23 Options for fixed output window formatting (specify the number of chars to wrap at) Added Triggers to the object model Added basic Docking windows to the object model Fixed the /idle bug (was setting the string to empty after idling out once) Fixed a macro bug that caused 1 undefined character to be sent (causing an error on the next thing you say) 2.00.144 - 2003-1-27 Experimenting with docking windows, and reorganized a lot of the internal code to be much cleaner. 2.00.142 - 2002-11-28 Added new Ansi code support, along with some telnet support for Cryosphere (see '/test ansi' for details) 2.00.141 - 2002-11-18 Made a small off by 1 fix in the window resize code that you could hit if you're Whyrl 2.00.140 - 2002-11-8 Imaging Work Splash screen is now a separate file, splash.* (search order is splash.jpg, splash.gif then splash.bmp) 2.00.139 - 2002-11-3 Splash screen test Fixed Ctrl+F (broke in regular expressions) Fixed .* hang with regular expressions (.* matches nothing, wasn't prepared for nothing) Fixed the large SSL buffer send bug (caught by Stelard) 2.00.138 - 2002-10-25 Added the ability to process triggers optionally in reverse order (see the triggers dialog for more info) 2.00.137 - 2002-10-19 Made the cursor up/down redefinition work on 9x (hopefully for real this time Kal!) 2.00.136 Extension API work. Corner case bug fixes in internal storage (don't think this has ever been hit). 2.00.133 Fixed the top border glitch, and made it not draw to the nearest line when there is a top border. Made the appended date to the log file names customizeable Made the cursor Up/Down navigation in the input window redefinable 2.00.132 Regular Expressions! 2.00.131 Removed the useless 'Output window is paused but text was still sent' message. 2.00.130 Added new 'pause behaves like scrollback' feature. Also improved the 'don't scroll to bottom on new activity' with a <> indicator in the 'Lines:' section of the status bar that shows how many lines haven't been read yet. 2.00.128 Found out there was a CRT dll on all systems past Win95 that I could use instead of importing 30k into Imaging.dll and BeipMU.exe, so now it's dynamically loaded which saved 20k for BeipMU and reduced the imaging library by 60k. 2.00.127 - 2002-9-10 Logging now includes options to log what you typed and/or what was sent to the server. Saves the Direct Connect info in the connect dialog. Adjusted the font style used to measure text, fixing an underline dreg in Courier New 9pt 2.00.126 - 2002-9-5 Fixed Thygrrr's 16-bit scroll bar limit. Uses the 32-bit windows api now (instead of the 16-bit message) 2.00.125 - 2002-8-31 Fixed Thygrrr's text selection bug into the indented region above. (GDI call failure) 2.00.124 - 2002-8-26 More Visual Basic style event interfaces supported. Improved internal event system (spurred by VB's requirements) Object Model: Added Connection object + events 2.00.123 - 2002-8-12 Made it so that when dialogs are reactivated the focus returns to the control who had it when the dialog was deactivated. It's standard behavior and I just wasn't doing it. Made Alt+0 activate window 10 (used to only work from Alt+1 to Alt+9) Fixed image receiving code. Stupid bug. Added ansi codes: 2, 7, 22, 24, 25, 27 (dim, reverse, and unset-flags), handle [;;m empty codes 2.00.122 - 2002-8-6 2.00.121 - 2002-7-22 Mav and I figured out the strange crash when viewing /help then doing a few things. Turns out it was me passing in a negative length to GDI which caused a crash on Win9x. NT handled it fine. 2.00.119 - 2002-7-17 Fixed Sabbath's Text Layout Bug Made it so that when viewing scrollback, new lines do not cause it to jump to the bottom, as per Revar's guidelines. Added a Last Used time and a created time in the characters. Fixed the weird 'cursor moved after going back to window' problem. Squirrelly and I magically figured that one out. 2.00.118 Added a forward DNS lookup command Added an IsAddress command to return true if the string passed is a valid IP address 2.00.117 Added a reverse DNS lookup command in the app interface to help with the sockets. 2.00.116 - 2002-6-19 Added the ISocket and ISocketServer interfaces, so that outgoing connections and simple servers can be done in a few lines of script! 2.00.115 - 2002-6-17 Added 'Reconnect' to the Connect menu for easy access and discoverability, rather than finding out by trying to send something once you're already disconnected. 2.00.114 - 2002-6-5 Fixed the bug where switching windows in MDI mode when all windows were maximized would cause a reformat behind the scenes (regression from blinking text causing the reformat). Fixed a bug in the new 'Last IP' field where a crash might result on a failed DNS lookup due to attempting to access the undefined hostinfo structure. 2.00.113 - 2002-5-5 Added a debug output window for scripts. Script errors are sent here instead of through a popup window, and scripts can output their own debug messages through app.OutputDebugHTML(string), and app.OutputDebugText(string). 2.00.111 Added '/logall' that does the same thing as 'Starting from the beginning...' under the logging menu. Added a 'Last IP' field for every server that remembers the last DNS lookup so that in case the DNS lookup fails, it will fall back to the last looked up IP. /Tracert and /Ping will now work on the current server if you're connected, and if a current tracert or ping is in progress they will abort it. Fixed a minor issue in tracert where it waits unnecessarily, lowering performance. 2.00.110 - 2002-4-16 SSL connection spam would appear with <$color> tags as it was displaying text incorrectly (and becoming dependant on the HTML tag parsing flag in the world settings) Text wrapping - Lines with carriage returns would incorrectly wrap on the last word before the carriage return. /test ansi - Caused a crash since the code assumed there was a server during the test 2.00.109 - 2002-4-14 MDI: Edit menu was being left disabled after closing all windows and opening a new one. Bug caused because MDI is sneaky. Fixed the hang in the Trigger dialog when clicking on away/present 2.00.108 - 2002-4-12 Fixed SSL issue that only surfaced on Windows 9X where it'd hang on an error Fixed another SSL issue where on Windows 9X connections after the first are broken due to having the same SPN value as the original (basically only the first SSL connection on win9x worked well, after that it was luck). 2.00.107 - 2002-3-27 Fixed crash at midnight when you're autologging with date Fixed crash in the multiple retry code if you're unlucky Fixed connection still showing as connected in the multiple retry code due to me forgetting to have it say 'yea, I'm really disconnected now' though this was purely cosmetic. Reworked the event system to support multiple event hooks natively (and broke Squirrelly's scripts temporarily) Beautified the network error codes a bit (don't know how I lived without those). 2.00.106 - 2002-3-25 2.00.105 - 2002-3-22 2.00.102 - 2002-3-19 2.00.99 - 2002-3-14 SSL Support (added a new server type in the connect dialog) Network connect/disconnect errors are now reported properly New log file created at midnight when auto logging with date appended Splitters in main window move nicer and smoother Smart Paste now shows what's in the clipboard and the number of bytes it will take Keyboard Shortcuts now have 'don't care' options on modifier keys so that you can say 'Key is Ctrl+K and I don't care if shift is down or not' Some Ansi handling bugs Option to not reset ansi colors on new lines MDI mode bug fix where switching windows slowed down when more text was in the window, caused by a hidden window resize that did a hidden reformat of all the text (ouch) Puppet Auto Logging Auto Connecting Puppets ActiveScripting support (VB & Java) see scripting.txt for more info 2.00.95 - 2002-3-10 2.00.90 - 2002-3-8 2.00.77 - 2002-3-3 2.00.64 - 2002-2-28 2.00.19 - 2002-1-2 2.00.17 - 2002-1-2 2.00.9 - 2001-12-13 Puppets can auto-connect upon activity. New triggers based on activity in a window without focus (e.g. play sound, etc.). Full JavaScript and VBScript support. Command line script access (start line with '/@'). Many script-controllable hooks into BeipMU features and events. Script-definable BeipMU '/commands'. Included: Some additional script-level added commands TinyFugue users may be familiar with: /repeat, /at, /ps, /kill, plus a few more (see /help2 for now). Support for muck property 'edit' command that worked with TinyFugue. MUD Client Protocol (MCP) Version 2.1 support and user-extendable with script. Can break out of 'run away' scripts. Build number and date as well as verion (script accessible). Auto load and run of JavaScripts in 'init_js' directory at startup. 1.9 - 2000-8-20 1.8a - 2000-2-14 1.8 - 1999-7-1 1.7 - 1999-6-16 1.4 - 1998-12-13