- *** This has one significant bugfix, and as such will still work on Panther and Tiger. ***
- GENERAL: There was a second string input lockup bug, where a server that sent Latin1-encoded text when UTF8 had been negotiated would cause the input stream to lock up. Now, if a data blob is unparseable, Atlantis will try to use a previous encoding to generate a string. This primarily affected certain MUX2 setups.
- *** This has several small bugfixes, and as such will still work on Panther and Tiger. ***
- GENERAL: URL detection now respects Unicode directional quotes as delimiters as well. No more missing URLs because you're on MUX2!
- GENERAL: Tweaks to handle a strange encoding situation that could lock up a connection. (If this still happens, PLEASE give me more info. I couldn't reproduce the reported issue, so this was a blind fix.)
- GENERAL: Unicode ellipsis characters will be converted to three individual periods, to avoid issues with MUX2 servers and Lion's automatic text filling.
- PERL: For those who Perl still causes Atlantis to fail to load, you can set a special option to disable it. From the command line, type: defaults write net.riverdark.atlantis disablePerl -bool YES
- *** IMPORTANT *** Unless there are critical bugs to be fixed, this will be the final version of Atlantis 0.9! After this, I am finally taking it out of beta and going to 1.0. YAY! However, this will also entail end of support for Panther and Tiger, to be able to roll out features that have been stuck in stasis due to having to support really old operating systems. For more information, please visit the Atlantis forums.
- PERL: If Perl cannot be initialized on a system, Atlantis will disable Perl scripting instead of crashing. (In other words, 0.9 will not explode under Lion, even if Perl doesn't work there.)
- WORLD: Added linefeed option to formatting tab, to change to CRLF for games that require it.
- GENERAL: Extraneous network debug logging removed. Oops.
- GENERAL: Added /logs command, shows what logs are currently open for that world.
- GENERAL: Atlantis will now cycle through multiple terminal types, for servers that support detection of 256-color support in that fashion.
- GENERAL: Tweak to new ANSI engine, to handle intense no-attribute text as white.
- NETWORK: Fixed a 'decompression failed' issue when using MCCP with the new network layer. (Thanks for reporting, dak)
- PERL: Tweaks to the Perl library, to hopefully provide more useful data if the library can't be initialized.
- GENERAL: Rewritten ANSI engine, now supports 256-color ANSI properly.
- GENERAL: Rewritten Unicode engine, to deal with UTF-8 buffer errors when network engine truncates a line mid-character. (This occurred most prominently on MUX 2.7 and later.)
- GENERAL: Character set will not autonegotiate if one is set manually.
- GENERAL: Perl *REALLY* works on Snow Leopard now. Sigh.
- GENERAL: All worlds show up as submenu of 'Worlds' now.
- GENERAL: Spawns always focus their input area when selected now.
- GENERAL: Should support perl on Snow Leopard now.
- GENERAL: More tweaking of network and text layers. (I have no idea how much speed increase this will give in general, but now the code is easier to maintain.)
- GENERAL: Major reworking/cleanup of internals as we move towards 1.0 and the plugin API.
- GENERAL: TinyURL no longer strips off hashes.
- GENERAL: Address Book drop-down can optionally connect a world twice.
- SCRIPT: Delete All Scrollback now takes an optional spawn.
- SCRIPT: New 'On world open' and 'On world close' events.
- UNICODE: Added support for IceCrew MCP charset negotiation, for MOO servers that support such.
- GENERAL: Complete internal reworking, major performance improvements.
- GENERAL: Traffic light view spaces properly under Tiger again.
- GENERAL: Atlantis no longer crashes on start on Panther. (See below.)
- PERL: Works on Panther again. THAT WAS PAINFUL. *cries*
- SCRIPT: Addition of AML color and bg tags, which take a six-character HTML hex color, or '-1' to reset to using the current colors from the world.
- LEMURIA: Page-Up/Page-Down from input window work properly in Tiger again.
- WORLD: Fixed a potential crash in spawn editor under some configurations, introduced by the 0.9.8.4 notepad changes.
- WORLD: Spawn editor UI quirks fixed.
- GENERAL: Pasting into an output window will automatically redirect into the input window.
- LEMURIA: Fixed annoying page-down bug of doom in text system.
- SCRIPT: RegisterTimer will delay the given number of seconds instead of immediately firing then delaying before repeat.
- SCRIPT: New SetLineSpawn(spawn,copy) function in Perl and Lua, lets you set an additional output spawn for a line, or move entirely.
- SCRIPT: Added SetSpawnPrefix(spawn,prefix) function in Perl and Lua to change the prefix of a given spawn.
- PERL: SetStatusbarText now will accept empty string as target for 'current spawn'.
- PERL: Modulename::initialize_module() called for each loaded module (if the function exists) once all modules are loaded.
- PERL: CamelBones upgraded to 1.1.0, should work on Leopard PowerPC and be solid/stable again!
- GENERAL: Support for Leopard (Mac OS X 10.5).
- GENERAL: Reworked how address book commits work, should make changes 'stick' better.
- GENERAL: TinyURL shrinkage does not 'absorb' surrounding text.
- GENERAL: Upgraded OgreKit and Oniguruma to latest versions.
- GENERAL: Text system revamped, again.
- SCRIPT: Event system Growl action click-context works properly across events.
- SCRIPT: Worldtemp variables are preserved across world config refreshes.
- PERL: Perl engine rewritten to try and speed things up.
- PERL: Added 'RegisterPattern()' function, to handle line events in a more efficient manner.
- LUA: Atlantis scripts can now be written in Lua, as well.
- WORLD: Timestamps will not 'bleed' the background color.
- WORLD: Rewrote the ANSI engine entirely, hopefully a great deal more efficient.
- WORLD: MUD prompts are handled more gracefully now.
- WORLD: Repeated commands will no longer add repeats to command history.
- WORLD: World notepad is committed to disk more often, to avoid losing notes if you crash, lose power, whatever.
- PERL: Fixed bug when using multiple colors in status bar text.
- PERL: Added bold tag to AML.
- GENERAL: More text system tweaks.
- MCP: Dealt with ANOTHER local-edit escaping bug.
- WORLD: You can set icons on characters now.
- UI: Tabs do not overflow out of the window into a menu.
- MCP: Escaping bug in MCP local-edit mode for MOOcode.
- SCRIPT: Fixed bug with logging plaintext from an 'Open Specific Logfile' action.
- PERL: Status bar text can be formatted with AML.
- GENERAL: Ripped SystemVersionCheck tool back out to avoid conflicts.
- MUSH: MUSH ANSI Text Editor fixed.
Changes in 0.9.8
- GENERAL: Support SystemVersionCheck, to ensure we run on an appropriate system.
- GENERAL: Default events/highlights created on first run should now pick up MOO-format pages as well.
- GENERAL: Shrink URL engine reworked: automatic TinyURL-shrinkage available, and the context menu has been made better about when it appears.
- GENERAL: When computer is shutting down or restarting, Atlantis does not prompt before quitting (but will still execute all disconnect scripts).
- GENERAL: Major reworking internally for timer functionality.
- UI: MAJOR revisions and cleanup of UI. (UI refresh is not wholly done, but many changes have happened.)
- UI: New 'source list' display style option for Lemuria windows.
- UI: Complete reworking of tabbed display style.
- UI: Script-modifiable status bar added to spawns.
- UI: New 'Connection' toolbar item, changes between connect/disconnect depending on state.
- LEMURIA: General Lemuria cleanups.
- WORLD: Spawns are available globally.
- WORLD: Simple per-world scratchpad added.
- WORLD: Fixed slash-escaping logic.
- WORLD: New command to send text to world after a delay: /wait
- WORLD: Special 'Rhost' checkbox for Rhost ANSI functionality
- WORLD: Ability to set MUSH grab password on a per-world basis.
- LOGS: HTML logs now properly inherit the world display font and size when writing the HTML out.
- LOGS: Logs should now log backscroll properly when the spawn has timestamps.
- MCP: Fixed escaping problem with MOOmail local editing.
- SCRIPT: Fixed Global Reconnect action.
- SCRIPT: Added new world.connected variable, contains number of seconds the world has been connected (or -1 if the world is offline).
- SCRIPT: application.spawn is now valid even if Atlantis is not the focused application.
- SCRIPT: Event system Growl actions have a click-context now.
- PERL: Added RegisterTimer() function.
- PERL: Added SetStatusbarText() function.
- WORLD: Fixed problem with 'infinite' scrollback no longer sticking on MUD worlds.
- WORLD: Events can be reordered.
- WORLD: Event conditions/actions can be reordered.
- GENERAL: Atlantis can be told not to warn when doing a lossy conversion of input text to another codepage.
- GENERAL: Added 'Shrink URL' option to right-click context menu of Atlantis input window if you have a URL highlighted. This action will go generate a TinyURL for the selected URL, and replace the original URL in the input window with the new TinyURL equivalent. Useful for pasting large stuff onto a channel or whatever, though it will (briefly) lag Atlantis.
- GENERAL: Control-Tab will now automatically move focus through the spawns in a window.
- GENERAL: General keyboard-handling system tweaks.
- GENERAL: Rewrite of event system, to hopefully improve performance.
- GENERAL: Found and squished a hidden memory leak, responsible for Atlantis bloating over long runs.
- GENERAL: 'Clear All Scrollback' now works properly.
- LEMURIA: Improved tooltip/timestamp logic.
- LEMURIA: General performance improvements.
- LOG: Logging scrollback of a single spawn now works properly.
- LOG: Formatted Text logs now account for timestamps when wordwrapping.
- SCRIPT: Added 'gag' AML tag, with 'log' and 'screen' options.
- SCRIPT: Added new statechange type 'charlogin' for right after login/password has been sent, and a 'World: Character has just been logged in' event system condition. (Perl can register for this with a RegisterTrigger on 'statechange' and checking 'event.statechange' to see if it is 'charlogin'.)
- SCRIPT: Spawn text commands will no longer explode when a zero-length string is passed.
- SCRIPT: Passing a nonexistent spawn as a target will now create the spawn.
- SCRIPT: Fixed a potential crash issue if a regexp string match condition had a malformed regexp pattern.
- SCRIPT: Fixed an error in 'String Is'-type string-matching patterns.
- PERL: Rapid-fire Perl bindings should no longer leave state data sitting around, unfreed.
- PERL: Added thread-safety wrapper around Perl engine.
- PERL: Cleaned up function-calling.
- PERL: Changed reinit logic; Perl modules will now only be refreshed on user input, rather than on any entrance to the Perl engine.
- PERL: Fixed Perl launch issue on Panther machines. *sigh*
- GENERAL: Fixed Spawn exception setup problem.
- LEMURIA: Upgraded to new version of enhanced split view.
- NETWORK: Following TinyFugue's lead, if we get certain unlikely Telnet sequence combinations, we ignore them.
- NETWORK: Properly escape IAC on outgoing network, for multibyte-charset games that support telnet.
- GENERAL: Fixed 'Formatting' tab text quirk.
- GENERAL: Improved 'log scrollback' performance.
- GENERAL: General performance improvements on processing of each line. Should fix the slowdown introduced by 0.9.7.3's Perl hooks.
- GENERAL: Logging scrollback now produces a progress-bar sheet, with a 'cancel' button, for long scrollbacks.
- GENERAL: Improved use of space() in output from MUSH Text Editor.
- GENERAL: Ensure close Address Book with hotkey commits all changes immediately.
- WORLD: Worlds of type MUD now default to a length-limited scrollback.
- WORLD: Local-echo now has a timestamp, for logging scrollback in the appropriate order.
- LEMURIA: Fixed bug when dragging placeholder views back to the origin window of their child views.
- SCRIPT: CamelBones Perl embedding engine updated to 1.0.2 to fix exception-trapping issues. This means Atlantis should no longer die abruptly when Perl chokes. (Thank you, Sherm!)
- SCRIPT: General Perl engine cleanup to accompany 1.0.2
- GENERAL: Corrected issue with blank lines in multiline input.
- GENERAL: Customizable local echo prefixes.
- GENERAL: General toolbar engine improvements.
- GENERAL: Font metrics improvements.
- GENERAL: Added 'ruler' tool to the MUSH Text Editor, showing columns.
- GENERAL: Text-selection background color can be set in the world preferences.
- GENERAL: Lots of internal code-cleanup in preparation for the hardcode plugin API.
- GENERAL: Improved first-run defaults.
- GENERAL: Improved character set negotiation logic.
- GENERAL: Fix for 'spawn lost bold' quirk.
- WORLD: Correct support for MUDs that use only VT100 and never send colors.
- WORLD: Support for 16-color (simultaneous intense foreground and background) ANSI, on games which support it.
- WORLD: Vastly improved handling of MUD line endings.
- SCRIPT: Added 'Remove all Scrollback from Spawn' action to event system.
- SCRIPT: Added Atlantis::ReplaceEventLine(amlstring) Perl function, allowing Perl scripts to directly alter text from a world before it is highlighted and displayed.
- SCRIPT: Added AML 'tooltip' tag, letting Perl scripts add tooltips to Atlantis text output.
- SCRIPT: Added AML 'class' tag, letting Perl scripts set the line-class of a line of text output.
- LEMURIA: Fixed mouseover quirk with always-on-top windows overlapping Atlantis.
- LEMURIA: Improved mouseover logic for dynamic windows in general.
- LEMURIA: Improved ChainedListView (event editor) performance.
- SCRIPT: Added requested Atlantis::Beep() function.
- SCRIPT: Added requested Atlantis::Speak(text) function.
- SCRIPT: Added requested Atlantis::PlaySound(soundfile) function.
- SCRIPT: Fix for hardcoded commands to co-exist nicely with Perl-scripted commands. (Fixes /sc, /grab and /gname commands.)
- SCRIPT: Added 'command.fulltext' variable, returns entire command parameters as entered (not just command.data portion).
- GENERAL: Default text color sets input window text color.
- GENERAL: Default text color properly updates if changed while world is running.
- GENERAL: Fixed bug in scrollback length limits.
- SCRIPT: Fixed documentation of Register functions in perl module.
- SCRIPT: Registered handlers now expand for Atlantis state variables.
- SCRIPT: If a Perl function is registered as an alias handler ONLY with the name (no parameters), then Atlantis will pass the full text of the alias argument as the first (and only) element of @_.
Changes in 0.9.7
- GENERAL: Many performance improvements.
- GENERAL: Fixed linefeed issue on paste from certain text editors.
- GENERAL: Each line of a multiline input is now processed separately for aliases and such.
- GENERAL: Cleaned up app preferences panes.
- GENERAL: Cleaned up defaults.
- GENERAL: Help menu item now opens Atlantis wiki.
- GENERAL: Dock badges now look like Mail, iPhoto and suchnot.
- GENERAL: Dock badge can be disabled when Atlantis is hidden.
- GENERAL: Got rid of 'MUSH' menu, moved to a submenu of Edit.
- GENERAL: Any clickable-link URLs now actually properly show a pointy-hand cursor. Yay!
- GENERAL: /ul and /quote no longer explode if you don't provide a filename.
- GENERAL: Ability to create 'shortcut' files, which when clicked will open/connect a given world, starting Atlantis if necessary.
- GENERAL: Import for new .axworld XML file format. (No export yet, first step of a larger planned feature.)
- GENERAL: Can now set 'default text color' independent of ANSI colors.
- NETWORK: Changed input/output layer to support multibyte/Unicode languages. This adds support for multibyte character set games in Korean, Chinese, Japanese and so on.
- NETWORK: Added ability to set the default encoding/codepage for a game.
- NETWORK: Added support for Telnet codepage/charset negotiation, using RFC2066. (If the server asks Atlantis to use a codepage, it will drop the user-set one in favor of the server-requested one.)
- NETWORK: Modified MUD-style login slightly, to properly support CoffeeMUD servers as well as others. (I hope!)
- NETWORK: Fixed NAWS logic so window size is properly negotiated at login.
- NETWORK: Improved 'keepalive' system for users behind NAT.
- NETWORK: Added support for bell character, with different possible behaviors.
- SCRIPT: WARNING, SCRIPTERS! THIS IS A MAJOR SCRIPT ENGINE OVERHAUL. There may be some quirks I haven't caught.
- SCRIPT: Scripts can register triggers, aliases and hotkeys.
- SCRIPT: Simple Atlantis markup. Perl can now display colored/underlined/link-enabled lines, and can get at an AML representation of all the world-sent strings.
- SCRIPT: Added worldtemp.* variable class, just like temp.* except per-world. Worldtemp variables are NOT saved across runs.
- SCRIPT: Set Variable action now can set not only temp.* but also worldtemp.* and userconf.* variables from in events. Makes things simpler!
- SCRIPT: Added Global Reconnect action.
- SCRIPT: Perl eval action now takes a textblock instead of a single line.
- SCRIPT: Disabled aliases should not run. Oops!
- SCRIPT: Spaces in alias names are properly converted to underscores.
- SCRIPT: Invalid regexps are now ignored, rather than causing an exception.
- SCRIPT: Scripts can add actual HTML, including images, to a spawn. (NOT WELL TESTED, USE AT YOUR OWN RISK! Does not work properly with HTML logging yet, either. This will be fleshed out in 0.9.8)
- LOGS: Added 'Include timestamps' option to all logfile formats.
Changes in 0.9.6 (release 2)
- Fix for autoscroll on some systems. I got too clever in trying to speed things up. :P
Changes in 0.9.6
- Fixed keys forwarding between input and output views, oops.
- Perl eval action now evaluates for Atlantis state variables before execution.
- Reverted to old-style textview.
- Changed event editor so that it should invalidate responders BEFORE trying to remove events/actions/conditions, avoiding a crash.
- Found and nailed an crash bug in dealing with MUDs that send an ANSI codes in a separate packet. Could also lead to a trailing odd character on ANSI strings.
- Added support for Telnet EOR blocks, to help with MUD protocol support.
Changes in 0.9.5
- Fixed a doubled linefeed issue on some MUDs.
- Sped up text engine somewhat.
- Major fixes and improvements to MCCP support.
- Got rid of annoying 'MCCP Compression Enabled' message, since the toolbar status display shows that now.
- Fixed issue with single-character commands when 'No Slashies' mode was enabled.
- Improved indent calculation for fonts with odd metrics.
- Fixed up crash bug in Perl script initialization.
- Fix to a corner-case crash bug in the URL parser.
- Enabled Undo in the MUSH Text Editor. Oops!
- Added support for SOCKS4/SOCKS5/HTTP proxies.
- Send Text event action now supports using ; to send multiple separate commands.
- Spawns remember the size of their input portion.
- Lemuria: Outline Display now remembers if a spawn was expanded or not.
- HTML logfiles no longer escape apostrophes needlessly, for greater browser compatibility.
- Improved ansi() mode of MUSH text editor.
- MUSH text editor now remembers last ANSI type setting used.
Changes in 0.9.4
- Relinked with proper version of MCP tools. *sigh*
Changes in 0.9.4
- Fixed broken regexp registers.
- Fixed a linefeed issue on some servers.
- Improvements to MUSH ANSI Text Editor output.
- Changed Command+Control+Number shortcuts to be just Command+Number.
- Rewrote font size calculation (for cols X rows tooltip and NAWS).
- Added 'Log Scrollback' option to Open Specific Logfile action.
- Added 'Substitution' action to replace a regexp register from the last matched regexp.
- Added 'Info' tab to worlds, to store a website and a game description.
- Added new 'World Status' toolbar option.
- Support for legacy MCP 1.0-style local editing.
- MCP: Support for MCP 2.1 entirely.
- MCP: mcp-negotiate package implemented, to negotiate feature support.
- MCP: SimpleEdit MCP package implemented, to support local editing (like @mcpedit on MUCK).
- Added /gname command, like /grab but for grabbing names of objects/exits/rooms.
- Added 'No Slashies' option, to not require leading / on aliases.
Changes in 0.9.3
- Another attempt at fixing the Panther crash issue. *sigh*
- Fixed a 'log scrollback' bug in plain (unformatted) text logs.
- Made input window colors match output window.
- Made highlight editor commit changes on connected worlds more intuitively.
- Fixed a regexp event bug that could cause regexp events to be eaten.
- Fixed up some formatting bugs.
- Fixed the 'lost spawn' bug.
- Added 'Clear Screen' event action.
- Added 'Beep' (or screen flash) action.
- Added /qc (quick connect) command.
- Cursor now more intelligently picks its color on Tiger.
Changes in 0.9.2
- Fixed 'Log Scrollback' bug.
- Tweaked autoscroll behavior to work better.
- FINALLY, confirmably, nailed the sporadic Panther crash bug.
- Fixed Telnet state bug in conjunction with odd MCCP init.
- Added first hooks for MCP support, for future versions.
Changes in 0.9.1 (release 70)
- Fixed another non-trivial Panther issue. Okay, why is the cursor/mouse logic significantly different between the two?!
Changes in 0.9.1 (release 69)
- Replacement 0.9.1, with a fix for the address book crash. Oops!
Changes in 0.9.1
- Fixed autoscroll issue.
- Tweaked toolbar address book menu.
- Fixed a crash issue under Panther.
- Fixed cursor issues.
- Fixed a formatting bug in MUSH Text Editor.
- Added 'Toggle Drag and Drop' event action.
Changes in 0.9.0
- Minor tweaks to improve 'Disable ANSI' mode in the MUSH Text Editor.
- Fixed breakage in user toolbar events. Oops!
- Fixed 'Output Status to Spawn' event to work right in all conditions.
- Rewrote Quicktime media playback code for 'Play Sound' events.
- Added 'Speak Text' event action.
- Cleaned up input handling, slightly.
- Added 'Bold Font on ANSI Highlight' formatting option.
- Added 'regexp.*' variable class for regexp capture registers in events.
- Added 'event.highlighted' variable, set to 'yes' if a line has been affected by highlighting rules.
- Fixed world reconnect issue.
- Fixed some autoscroll quirks.
- Hotkey events can now bind to the number pad.
- Fixed a spawn crash.
- Fixed 'cannot remove exceptions' spawn bug.
- Added support for self-signed certificates in SSL connections under Tiger.
- Added /clear command.
Changes in 0.8.9
- Fixed version stamping to work with VersionTracker Pro.
- Fixed a copy/paste bug in MUSH Text Editor.
- Added the Address Book popup menu to the default toolbar.
- Improved mouse cursor behavior slightly.
- Added formatting option to prepend timestamps to lines.
- Added prefix option to spawn configuration.
- Event system UI fixes.
- Added 'Disable Telnet keepalive' option to world config.
- Fixed a highlight crash bug if you had one and only one highlight in a world.
- Added a 'Logs' menu to the menubar.
- Added some new Event System conditions and actions.
- Added 'Disable Color Entirely' mode to MUSH Text Editor.
- Cleaned up toolbar engine.
- Added 'Upload File' panel, menu entry and event.
Changes in 0.8.8
- Updates to credits and about window, readme file.
- Minor network efficiency fixes.
- Added a checkbox to enable/disable the 'drop connections when network is lost' functionality.
- PUBLIC BETA!
- Enabled Undo/Redo on input window.
- Fixed bug in MUSH Text editor where changing render type mucked up colors.
- Changed space-to-%b logic in MUSH Text editor to work properly.
- Custom pasteboard logic, to prevent color from being cut/pasted into other apps.
- Added clear button to MUSH Text Editor.
- Fixed a crucial Perl bug that could prevent launch. *sigh*
- Some fixes to the [ansi()] mode of MUSH Text Editor.
- A few behavioral changes for MUSH Text Editor to improve usability.
- Perl scripting engine! Perl modules are loaded from ~/Library/Atlantis/Scripts
- First cut of Atlantis.pm Perl module.
- 'Execute Perl Code' event system action.
- Added temp.* variable class.
- Added 'Set Temporary Variable' event action.
- Hotkey events are now enabled by default when created.
- Network should be less 'chunky' in some ways.
- Embedded CamelBones/Perl for building the Perl scripting engine.
- Fixed missing 'Connection closed by remote host.' disconnect message and event trigger.
- Fixed bug when you closed the last item in a Tabbed-style Lemuria window.
- Minor ChainedListView (event system UI) changes, in preparation for a UI reworking.
- Fixed quick-dragging double-delete bug that could make spawns get lost.
- Additional event system fix.
- Text from spawns can be pasted into text editor without losing color now.
- Fixed a crash bug if you had no events defined at all, anywhere. Eep!
- Added support for busted MOO ANSI codes containing embedded newline.
- Fixed silly tab-character bug.
- Changed world.character variable to be blank when no character, rather than undefined.
- Added an event.detail variable for disconnection.
- Added a MUSH ANSI text editor.
- Added 'Strip Linefeeds from Input' action.
- Logfile format fixes.
- Support for user-defined toolbar items.
Changes in 0.8.7
- Lemuria: Tabbed display now uses 'small' control size, to fit more into a window.
- Fixed window display bug.
- Dock badging can be disabled when Atlantis is the active app.
- Automatic shortcuts are now Command-Control-digit, to avoid yet another conflict.
- Added 'Open Address Book on Current World' event action.
- Added 'Edit current world settings...' menu event to World menu.
- Added 'Copy Selected Text from Spawn to Clipboard' and 'Copy Selected Text from Spawn to Input' actions.
- Improved the time-to-open for the Address Book.
- Fixed dock badging bug.
- Fixed an address book bug.
- Changed Command-Shift-number shortcut to Command-Option-number shortcut.
- Further memory cleanup and fixes. Should be less crashy, whups.
- Lemuria: Added tabbed display view class!
- Fixed critical crash bug. Argh.
- MAJOR memory/performance optimizations.
- Dock badge position changed.
- Ability to set window behavior.
- Fixed string match condition bug.
- Lemuria: Views internally track number of 'unseen activity' messages.
- Lemuria: SplitView improvements.
- Lemuria: Toolbars now pick up Lemuria state changes much more quickly.
- Added a Command-Shift-number shortcut (enabled from General tab of preferences) which will use 1 through 0 for quick shortcuts to the first 10 spawns in a window.
- Atlantis now badges the dock icon to show the number of spawns with unseen activity.
- Fixed a bug in pattern matching and highlighting events.
- Fixed a biiiig bug in line class matching.
- Fixed a highlight event bug.
- Fixed several connection-loss-related issues.
- Automatic reconnect now actually WORKS again.
- Added application.spawn and application.version variables.
- Changed spawn status output function to support targeting specific spawns.
- String match events (Line matches and Variable matches) now expand variables before matching.
- Reworked event editing system to have easier 'add condition' and 'add action' UI.
- Added Line is Class event condition.
- Added local echo option.
- Fixed the resize (cols x rows) notification tooltip to work consistently.
- Added a hotkey action to repeat last sent command.
- Fixed a crash bug in Highlight Last Matched.
- Added a Clear Input on Enter checkbox in preferences.
- Various internal cleanup in preparation for tabbed view.
- Upgraded FileStorm, so disk images should keep the icons in the right ruddy place!
- A couple of toolbar fixes for multiple-window Atlantis setups.
- A couple more focus behavior tweaks.
- Made toolbars customizable.
- Fixed up 'disconnect' situation to work better in a few more cases.
- Added recognition of Mac OS X sleep state, for handling disconnects.
- Some reworking of event system UI.
- Lemuria 0.5.6: ChainedListView changes.
- Lemuria 0.5.6: Support for toolbars on Lemuria windows.
- Restored 'network disconnect detected' functionality broken by network changes. Oops.
- Moved controls to a toolbar, which will eventually be customized.
- Trying to fix a stream-related performance issue. *crosses fingers*
Changes in 0.8.6
- A few more textview and ANSI performance tweaks.
- Internal framework support for multiple fonts and sizes per world, displaying HTML in world view. (To eventually support MXP, somewhere in a version after 1.0.0 has been finished and released.)
- Fixed a focus-on-connect bug, hopefully.
- Alerts now behave as is proper for OS X; Escape backs out, while Return confirms the action.
- Changed 'World is Idle' event condition to work more intuitively. Rather than user activity, it bases off of when data was last received or sent to the world in question.
- Cleanup of notification center code that could cause a rare crash.
- Complete rewrite of networking layer to use Apple's own networking kit.
- Added support for SSL connections.
- Preliminary internal support for SOCKS and HTTP proxies.
- Added /ul and /quote commands, and upload engine.
- A number of text view and ANSI fixes for performance improvement. Hopefully.
- Fixed a bug with 'Copy to Command History' action.
- Fixed a bug with the address book. Whups!
- Minor tweaks to windowing behavior.
- Added 'Aliases' tab to world and global defaults, letting you make your own /commands.
- Tweaked how the event editor (Hotkeys, Events, Aliases) works.
- Made 'Focus Specific Spawn' fall-back to sub-spawns. (I.e., 'Public' will focus 'world:Public' as a fallback.)
- Added 'Disconnect All Worlds' action.
- Made HTML logs use the world's URL color in generating a stylesheet. Whoot.
- Fixed wrapping bug in HTML logs.
- Added custom CSS classes to HTML logs.
- Added 'Log: Set Line as Class' action to set these custom classes.
- Significant performance fix in ANSI parsing.
- Changed to Unified window/toolbar look for things, when on Tiger.
- Fixed 'columns' calculation. Silly text view insets!
- Added 'Computer has been idle at least...' condition.
- Added 'World has been idle at least...' condition.
- Added 'HTML' logfile type, which took a while!
- Fixed a huge event system bug, where event changes could be lost.
- Fixed a related set of bugs in collected conditions (i.e. 'Logic: Complex Condition').
- Released, because these were such big bugs.
- Fixed another Preferences pane resize/position bug.
- Added support for screen width/height (columns/rows) calculation.
- Added support for telnet screen size negotiation. (For PennMUSH and MUDs.)
- Added support for NOP keepalive negotiation. (Automatic NAT keepalive for PennMUSH and MUDs.)
- Added support for MCCP (MUD Client Compression Protocol), really only useful to MUD players.
- Added 'Atlantis is not active app' condition to events system.
- Changed 'Spawn is active spawn' condition to be true for the focused spawn even if Atlantis is not the active app.
- Rewrote the URL and e-mail highlighting engine, hopefully will be nice and smooth now.
- Added 'Play Sound' action. (Plays WAV, AIFF, SND, MP3 and AAC.)
- Fixed a couple of 'Rename Window' bugs, not that anyone uses that functionality!
- Added the ability to turn off support for drag-and-drop of spawns between windows.
- Fixed 'General' preference pane resize bug.
- FINALLY really fixed all scrolling behavior on size-limited scrollback. Take my advice, never try to do this sort of stuff with the Cocoa text system!
- Added 'Log Scrollback' functionality to the Open Log panel.
Changes in 0.8.5
- Added /command system.
- Added /grab command, with ability to convert linefeeds on grab.
- Added FugueEdit support.
- Added /sc command, a'la SimpleMU's stacked command macro.
- Added menu registration system.
- Added 'World' menu, moved address book there.
- Added 'MUSH' menu, created entries for converting input.
- Fixed scroll bug on limited-scrollback spawns.
- Fixed auto-open behavior for top-level worlds.
- Various minor Lemuria fixes.
- Created proper Preferences window.
- Converted Hotkey and World Defaults setup to panes of Preferences window.
- Added a generic 'General' preference pane.
- Found and fixed a critical Lemuria focus bug, doh.
- Sped up the text-view significantly.
- Added 'convert input to MUSH' and 'convert input from MUSH' hotkey actions.
- Really fixed 'activity' menu, so it removes properly on 'next active spawn' hotkey.
- Tweaked the focus logic in the event editor.
- Changed disk image to not be 'internet enabled,' whups.
- Changed a bunch of hotkey actions to also be event actions, at Thenomain's request.
- Changed spawns to have a maximum scrollback size. (Setting it to 0 lines means no limit.)
- Made 'Add Character' button highlight new character.
- Made 'Add Event' button highlight new event.
- Lemuria: Fixed a lockup bug. (No more frozen world, SarahScott!)
- Changed 'display name' to just be the base spawn's name in the spawn tab.
- Reworked the 'main' tab a lot to make Thenomain happy.
- Fixed the 'Add Action' or 'Add Condition' sharedPanel problem.
- Added a 'background color' to the formatting options.
- Corrected the category of one action, whups.
- Made some requested tweaks to the highlight editor.
- Fixed a big bug in timer event conditions. Erg!
- Made next/prev actions wrap around to beginning or end of spawn list.
- Added a 'request user attention' event action to bounce the dock icon once.
- Added a 'display status in active spawn' event action.
- Added a 'do not display activity indicator' event action.
- Added a 'Copy or Move text to spawn' event action.
- Added a 'Spawn does not have activity indicator' event condition.
- Added a 'Close current spawn' hotkey action.
- Changed timer events so they can be used as rate limiters, as well.
- Changed spawn weighting logic slightly in one unique case. (Only Paradigm will care about this.)
- Fixed a minor UI bug where the placeholder display name did not update properly when a character was renamed.
- Added support for multiple server types, including CircleMUD with unterminated lines, and MUD-style logins.
- Fixed a bug where userconf variables could get lost.
- Changed it so newly-created events default to 'match all conditions' instead of 'match any condition.'
- Reworked a bunch of how the spawn configuration tab works.
- Made Growl events actually remember their titles. Whups!
- Atlantis now knows when your network connection goes completely away, disconnects all connected worlds, and reconnects them when the network returns.
- Lemuria 0.5.5.2: Rewrote RDTextView to use a Clever Trick to speed up scrolling.
- Changed input to support Unicode and attempt to convert to ASCII as best as possible. This allows you to paste text in from Word reasonably successfully.
- Fixed a few click-to-edit bugs due to overlapped fields in the address book.
- Added a 'Variable matches Pattern' event condition, mostly useful in combinations.
- Fixed it so you can actually SET events to be 'execute when all conditions are true' and have it remembered. Whups!
- Added 'User Variables' config tab. User variables are available as userconf.* in the variable system.
- Fixed a significant bug in address book world addition, necessitating a new release.
Changes in 0.8.4
- Fixed display name bug, also made display names work in a more intuitive manner.
- Broke autoconnect down into 'open' and 'open and connect' options. (Picking just 'open' will put the world into your instances at startup, but will not connect it.)
- 'Open Log' panel now handles append warnings properly.
- Rearranged layout of address book buttons.
- Fixed a spawn editor focus bug, if you clicked add spawn while still editing the name of an existing spawn.
- Fixed a bug where you could delete a world's name entirely and thus crash the address book. Eek!
- Added a logical NOT condition to the events system.
- Changed Address Book to remain on the same tab even when you change worlds.
- New 'Timer' event condition, to do keepalives et al.
- Added support for logfile format options.
- Formatted Text logs now support turning on/off word wrap, indent, etc.
- Added 'Open Log' event action, making it possible to auto-open logs on connect.
- Added 'Close All Logs' event action, making it possible to automatically close logs on disconnect.
- Lemuria 0.5.5: Fixed a very rare crash bug on closing the final spawn in a window's list.
- Pretty 'About Atlantis' window. (Oooh, shiny!)
- Fixed a crash bug in deleting certain things while the field editor was active.
- Fixed a spawn configuration view getting out of sync bug.
- When you connect a world manually from the address book, Atlantis automatically focuses it.
- If there are no autoconnects, Atlantis automatically opens the address book when started.
- New Action: 'Close Current Window.' (Bind to Command-W for normal window closing!)
- Lemuria 0.5.4: Window-picking logic on creation of a spawn has been improved.
- Lemuria 0.5.4: Display classes now support 'show/hide' of the list of spawns.
- Lemuria 0.5.4: Minor fix for activity notifications.
- New Action: 'Show/Hide Spawns List in Current Window.'
- Dock menu actually maintains list of active spawns properly.
- Dock menu brings Atlantis to foreground if not the active app.
- Next/Prev Spawn actions are no longer blocked by placeholders (i.e., folders). Oops!
- Address Book now autoselects 'Main' tab when the selected world changes.
- Added connection indicators and quick-click connection functionality, as per discussion with Thenomain.
- Another fix for gagged lines and activity indicators.
- A fix to keep PennMUSH happy with our Telnet negotiation.
- Lemuria 0.5.3: Outline view shouldn't jump-and-dance on creation of spawns anymore.
- Lemuria 0.5.3: Lemuria will remember divider bar position for windows.
- Lemuria 0.5.3: Outline view properly displays a scrollbar if you have a ton of spawns. :P
- Added 'Previous Spawn' and 'Next Spawn' actions.
- Added 'Unseen Activity' menu to Windows menu.
- Added Unseen Activity list to dock menu.
- Found and fixed MAJOR address book bug from 0.8.3.1, where you could lose spawns and highlighting. Eek! Sorry to anyone who was bitten by this.
- Fixed a bug when telnet IAC sequences began on the final byte of a packet.
- Fixed a bug with world refresh, where parent world highlight and events could get lost.
- Fixed a bug where gagged lines still triggered the activity notice.
- Changed address book to refresh spawns and highlights if you change focus from it, not just when you close.
- Lemuria 0.5.2: Fixes vanishing-spawn or crash bug on certain spawn drags.
- Lemuria 0.5.2: RDNestedOutline Lemuria display class fixes.
- Lemuria 0.5.2: Made changes necessary to get rid of spawn folders by 0.8.4
- Lemuria 0.5.2: Sub-views (spawns) now open in the same world as their parent.
- Lemuria 0.5.2: The 'close' button now appears even if the spawn list is not the active control.
- NOTE: Due to Lemuria changes, this version has to forget all your window position and size settings! Sorry. :(
Changes in 0.8.3 (build 24)
- Fixed a bug where spawn list and spawn pattern portion could get out of synch. (I want this fix out, but I am not re-versioning Atlantis for it. This build remains 0.8.3, but shows as build 24 instead of build 23 in the 'About' window.)
Changes in 0.8.3
- Updated to Lemuria 0.5.1, fixing an occasional crash bug in closing spawns.
- Added a Crash Reporter to hijack and report to me when Atlantis crashes, instead of Apple. (Several reported this, but thanks to FJ for finding a repro case!)
- Added an 'Open Address Book' action usable in key bindings. (No more cut and paste. Just hit 'Submit!')
- Added a 'Gag Line from Screen' action usable in events.
- Added a 'Gag Line from Logs' action usable in events.
- Child worlds now inherit spawns from their parent world.
- The 'Rename' option on windows now works; users should be able to drag spawns to whatever window they want, and rename the windows accordingly.
- Reworked the control flow for creating spawns, hopefully it will be easier now.
- Added a divider line between recent searches and the Clear option in the search menu.
- Fixed bug where you could not truly remove character or password from a world.
- Fixed a significant bug with placeholder strings in the Main tab of world configution.
- Spawns will no longer accept empty names as valid.
- Various minor UI tweaks.
Changes in 0.8.2
- Fixed a highlighting/event bug introduced by previous fixes. Sigh.
Changes in 0.8.1
- Fixed odd Spawn config UI crash.
- Lots of address book tweaks.
Changes in 0.8.0
- Complete rewrite, better in all ways.
- Advanced event system.
- Works under Tiger.
- Universal Binary.
- NOTE: YOU WILL HAVE TO RECREATE ALL YOUR WORLDS.
Changes in 0.5.7
- Better support for extended characters on paste; things such as emdashes and directional quotes will be translated to ASCII forms, and if there are additional characters which cannot be translated, the user will be warned that some data was stripped.
Changes in 0.5.6
- Cleaned up address book a bit more, in highlighting and spawn configuration.
- Made telnet routine theoretically more efficient.
Changes in 0.5.5
- Fixed IAC GA ('MUD prompt') support to be a bit cleaner.
- Fixed IAC NOP support properly even when telnet has not negotiated. (MUX2)
- Fixed URL parser lockup bug which affected OGR login screen.
Changes in 0.5.4
- Network code cleanup, should be very clean now.
- About window with shoutouts and credits. It's pretty!
- More Address Book cleanup.
- Added preliminary telnet negotiation support. TTYPE, SGA, BINARY, SB, etc.
Changes in 0.5.3
- Added logic for reconnecting after connection lost.
- Added manual 'connect' and 'disconnect' menu items. (I took pity on you, FJ!)
- Fixed some ASCII art bugs.
Changes in 0.5.2
- Various bugfixes.
- Added better bug detection to help track down remaining Jaguar compatibility issues.
- Cleaned up preferences to make it a little more intuitive.
Changes in 0.5.1
- Attempted to make the code more Jaguar-friendly.
- Broke a lot of the preferences code. Erk!
Changes in 0.5.0
- Pretty much complete rewrite of basic Atlantis structure.
- Spawn windows.
- Support for version checking, using Daniel Todd Currie's version checking library.
- Support for regexps, using OgreKit and OniGuruma.
Changes in 0.2.3
- Fixed URLs to not grab trailing quotes. Bah!
Changes in 0.2.2
- Network code rewrite, making things much faster.
- Basic experimental highlighting support.
Changes in 0.2.1
- Preliminary work on SimpleMU-style grab passwords.
- Fixed some scrollbar bugs.
- Fixed logfile support.
Changes in 0.2.0